在STM32外部的Nor Flash运行代码

在STM32外部的Nor Flash运行代码
在STM32外部的Nor Flash运行代码

在STM32外部的Nor Flash运行代码

参照ST标准库的例子程序:

stm32f10x_stdperiph_lib_v3.0.0\Project\Examples\FSMC\NOR_CodeExecute

代码分两部分,一部分是下载到STM32内部Flash的,另一部分是下载到外部Nor Flash的。内部Flash的代码

主要负责完成CPU的初始化,包括系统时钟和FSMC-NOR的初始化,然后跳到外部Nor Flash 去运行真正的用户代码。

具体对keil操作方面,没什么好注意的,按照平时烧写代码进内部Flash就可以了。

外部Nor Flash的代码

放在外部Nor Flash的代码,在keil操作方面就要注意了。

1.拷贝烧写算法STM32F10x_NOR.FLM到X:\Keil\ARM\Flash,关于该烧写算法怎么得来,请参考第14个实验例程(14 Download Data In Nor Flash)。

2.在keil的Project->Options->Target窗口,在‘ROM1'前打勾,根据Nor Flash具体情况输入起始地址和容量大小,我的是0x64000000和0x200000,并且选中"Startup",取消打勾‘IROM1’。设置如下图所示:

3.在keil的Project->Options->Linker窗口,取消打勾"Use memory Layout from Target Dialog",然后在R/O base地址栏填入0x64000000,然后重新打勾"Use memory Layout from Target Dialog",如图所示:

4.在keil的Project->Options->Utilities窗口,选择"Use Target Driver for Flash Programming",然后点击'Settings',然后选择"STM32F10x NOR Flash"烧写算法。

5.在keil的Project->Options->Utilities窗口,选择初始化文件STM32F103ZET6_NOR.ini。如图所示:

编译下载,就可以把这部分的程序下载到STM32外部的Nor Flash了。有了这两部分程序,以后遇到大的程序就可以跑起来了。

相关主题
相关文档
最新文档