程序下载到NOR FLASH和RAM中
实验软件:Keil5
实验硬件:战舰V3,STM32F103ZET6
工程资料链接:
工程链接
程序下载到NOR FLASH中,
由于下载到NOR FLash中的案列太多了,这边就简要分析一下
对于的Nor Flash的起始地址和存储大小,及片内的RAM的起始地址和存储大小,
设置执行的文件,
设置连接地址位置,及其生成的文件。下图为下载到Nor Flash的区域连接位置
使用JLINK调试器,
设置JLINK调试的RAM地址,和程序地址
程序下载到RAM中
程序下载到RAM,中,我们要把RAM分为两部分,一部分存储代码,一部分存储数据,
这里以代码范围分别为下图
修改对应的RO和RW基位置,点击编译后,会自动生成连接文件*.sct.
*.sct是自动生成的,不需要自己写,
Debug调式运行的初始化文件,修改RAM_ini
RAM文件需要自己写,这里的意义不详细介绍了,
FUNC void Setup (void) {
SP= _RDWORD(0x20000000); // SetupStack Pointer
PC= _RDWORD(0x20000004); // SetupProgram Counter
_WDWORD(0xE000ED08, 0x20000000); // Setup Vector Table Offset Register
}
LOAD .\Output\led_c.axf INCREMENTAL //Download
Setup(); // Setup forRunning
g, main
设置Debug调式地址位置
现象实验:
默认的程序运行现象,NOR_Flash 代码运行,
点击仿真按钮,
全速运行
验证程序是否下载到RAM成功的现象是,按下复位键,灯不会闪,