历史上的今天
返回首页

历史上的今天

今天是:2025年01月15日(星期三)

正在发生

2021年01月15日 | STM32F1_外部NorFlash存储程序代码

2021-01-15 来源:eefocus

前言

今天总结“STM32F103  外部NorFlash存储程序代码”。今天提供的实例工程是存储程序代码到外部NorFlash,并执行外部NorFlash的代码(既然存储了程序代码,那么肯定也会运行NorFlash的程序)。对于储存在外部NorFlash的程序可以通过多种途径,今天主要使用MDK-ARM工具下载程序到外部NorFlash,但是需要“编程算法”,但这些算法官方都已经写好了的,我们只需要配置一下,直接使用就是了。


NOR FLASH是很常见的一种存储芯片,掉电不会丢失数据。 NOR FLASH支持Execute On Chip,即程序可以直接在FLASH片内执行。这点和NAND FLASH不一样。因此,在嵌入式系统中,NOR FLASH很适合作为程序的存储介质。 NOR FLASH的读取和RAM很类似,但不可以直接进行写操作。对NOR FLASH的写操作需要遵循特定的命令序列,最终由芯片内部的控制单元完成写操作。

 

https://yunpan.cn/cSSbuXYC82jNu  访问密码 8967

 

STM32F10x的资料可以在我360云盘下载:

https://yunpan.cn/crBUdUGdYKam2   访问密码 ca90

 

内容讲解

工程概要说明: 例程定义了两个函数“Nor_Fun”存储在外部NorFlash,即外部NorFlash程序,定义一个函数“Flash_Fun”储存在内部FLASH,通过执行这三个函数,再打印它们函数接口对应的地址,这样就可以检测这三个函数储存的位置了。

 

提供的工程以简单为原则,详细中文注释,方便自己方便大家。

 

关于“STM32F103  外部NorFlash存储程序代码” 我把重要的几点在下面分别讲述:

一、获取现成文件

我们使用官方标准库,拷贝标准库FSMC例程里面现成的算法。拷贝“编程算法”到keil安装目录x:Keil_v5ARMFlash里面,拷贝“FLASH_NOR.ini”到我们自己创建的工程里面(随便一个位置,方便调用,我们工程是在“LibrariesCMSISDeviceSupportstartup”下面)。

 

 

二、配置Nor地址

配置Nor地址,见下图。

注意:图中1,2不要勾上。

 

三、配置编程算法

拷贝了“编程算法”就可以看见算法文件。

 

四、初始化NOR

路径就是上面你拷贝的路劲。

 

五、配置需要储存外部Nor的代码

 

六、打印(测试)结果

通过测试函数和依次打印的数据可以看得出外部Nor的地址是0x6400xxxx,而内部Flash地址的0x0800xxxx。说明外部Nor函数确实储存在外部NorFlash里面。

 

七、今天的重点

A.有人觉得很奇怪,不是程序存储在外部Nor吗? 为什么还是有程序存储在内部Flash呢? 答案是:内部FLASH必须要有一部分程序来配置FSMC,这样才能使用FSMC控制读取外部Nor程序。

 

说明

今天提供的软件工程基于STM32F103大容量芯片,中等及小容量芯片没有FSMC功能,自然也不能使用。其实只要适当修改工程的部分配置,STM32F1有FSCM功能的芯片都适用。由于这一块的知识相对来说复杂一点,还有很多地方没有讲解到位,请根据提供的工程自行研究。


推荐阅读

史海拾趣

Aces Electronics Co Ltd公司的发展小趣事

随着技术的不断进步和产品的日益成熟,Aces开始将目光投向国际市场。公司积极参与国际电子展会和技术交流,与多家国际知名企业建立了合作关系。通过引进国外先进的技术和管理经验,Aces不断提升自身竞争力,逐渐在国际市场上占据了一席之地。同时,公司还积极拓展海外市场,将产品销往全球多个国家和地区。

芯茂微电子公司的发展小趣事

芯茂微电子自创立之初,就致力于高性能模拟及数模混合集成电路的研发。经过多年的努力,公司在BICMOS和BCD工艺平台上取得了显著的技术突破,成功开发出多款高性能、低功耗的集成电路产品。这些产品凭借卓越的性能和稳定性,迅速获得了市场的认可,广泛应用于消费类电子、通信、计算机等领域。公司的技术实力和创新能力得到了业界的一致认可,成为国内集成电路设计领域的佼佼者。

GREEGOO公司的发展小趣事
如果电路板上有专用的时钟芯片或晶体振荡器,其下方应覆铜隔离,以防止电源和时钟互相干扰。
捷嘉电子(Chequers Electronic)公司的发展小趣事

在国内市场取得一定成绩后,捷嘉电子开始将目光投向国际市场。通过与国外知名企业的合作,公司成功将产品出口到数十个国家。这一过程中,捷嘉电子不仅面临着文化差异、法律法规等挑战,还需要应对国际市场竞争的复杂性。然而,凭借着过硬的产品质量和专业的服务,捷嘉电子逐渐在国际市场上赢得了良好的口碑。

Gigarams Semiconductor Device Corp公司的发展小趣事
这可能是由于传感器精度不足、控制器算法不准确或驱动器性能不稳定等原因导致的。解决方案包括提高传感器精度、优化控制器算法和更换性能更稳定的驱动器。
Acutechnology公司的发展小趣事

Acutechnology公司深知人才是企业发展的核心力量。因此,公司一直注重人才引进和团队建设。公司通过与高校合作、举办招聘会等方式吸引优秀人才加入,并为员工提供完善的培训和晋升机制。同时,公司还注重营造良好的企业文化氛围,激发员工的创新精神和团队合作意识。这些举措为公司的持续发展提供了有力的人才保障。

请注意,上述故事仅为虚构内容,不代表Acutechnology公司的真实发展历程。如需了解该公司的真实情况,建议查阅相关资料或访问其官方网站。

问答坊 | AI 解惑

AT89C2051与74LS164....紧急...

请问高手:如图,我这样连接的显示电路错没? 老师说RXD不能输出,TXD不能作为74LS164的CLOCK信号,  还有第2个164的A.B不能接上一组164输出的的信号,要我改....我真的郁闷了 请高手指教....速度啊...紧急...…

查看全部问答>

关于读取FLASH数据的问题

在BOOTLOADER中把NK下载到NOR FLASH中,现在想把写入得数据打印出来该怎么做,可以直接访问FLASH的地址吗,我试了下发现读不出来,(全是0),还是要写了类似驱动的东西…

查看全部问答>

如何读prolific usb转串口转过来的串口

也是用createfile读吗   和普通的com特性一样吗 …

查看全部问答>

新手,询问pda与远程的数据库(oracle)同步问题,急!!!

原来没有做过嵌入式的开发,现在想在pda下做二次开发,系统是wince的,pda上的数据需要跟远程服务器的数据库做数据同步,远程的数据库为oracle,系统为b/s结构的,pda需要连接到pc机上在做同步,pc机可以连接系统,请教思路或者是有什么资料,万分 ...…

查看全部问答>

液晶显示模块

哪位高人帮我指点一下L046R4这个四位八段的液晶显示屏怎么用C语言编程,它好像没有时钟,下边是它的PDF资料,急求。谢谢! [ 本帖最后由 烟雨 于 2011-4-18 10:29 编辑 ]…

查看全部问答>

常用集成电路引脚识别

常用集成电路引脚识别:各种不同的集成电路引脚有不同的识别标记和不同的识别方法,掌握这些标记及识 别方法,对于使用、选购、维修测试是极为重要的。⒈缺口 在IC的一端有一半圆形或方形的缺口。⒉凹坑 色点或金属片 在IC一角有一凹坑、色 ...…

查看全部问答>

闲置物品兑换--TI POS机套件~~~

不错的芯币交换活动,支持一下~~~ 一直闲置着这套TI POS机套件 1500芯币不包邮转给有需要的朋友~~~ …

查看全部问答>