这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » STM32 » 如何在SRAM中存放和执行程序

共2条 1/1 1 跳转至

如何在SRAM中存放和执行程序

工程师
2023-08-18 22:33:46     打赏
如何在SRAM中存放和执行程序



高工
2023-08-18 22:49:42     打赏
2楼
① 首先,在极海官网找到型号表,并找出对应型号芯片的SRAM大小
② 打开KEIL软件,点击上方的“魔法棒”按钮,选择程序存放和执行的区域。
③ 由步骤一可以知道,APM32F072RBT6的FLASH大小为128K,SRAM大小为16K,经过计算机计算,可以得出FLASH和SRAM的地址范围(FLASH基地址为0X08000000,SRAM基地址为0X20000000)。PS:FLASH地址范围:0X08000000 - 0X08020000SRAM地址范围:0X20000000 - 0X20004000
④ 因为要在SRAM中存放和执行,因此要将SRAM分成两个部分分别执行。注意:存放区域与执行区域不能重叠!!!⑤ 在更改完存放区域和执行区域之后,也要改变运算区域的地址范围注意:执行区域和运算区域可以重叠;由于程序存放和执行都在SRAM中,因此只能通过Debug调试程序,固不勾选Reset and Run。
⑥ 创建配置文件


FUNC void Setup(void){SP = _RDWORD(0X20000000);        //设置堆栈指针PC = _RDWORD(0X20000004);        //设置PC指针_WDWORD(0XE000ED08,0X20000000);//设置中断向量表地址}LOAD $L%L INCREMENTAL        //装载代码到CPU内部RAM//LOAD PLL.axf INCREMENTALSetup();        //调用Setup函数修改堆栈指针和PC指针,SP的值要从目标代码中读取g.main        //运行到main函数


以上为配置文件的内容,文件名称不限,但文件格式为XXX.ini。然后将其添加到KEIL的配置中。
⑦ 在硬件上,要将BOOT0和BOOT1都引出为1(即连接VDD)。


到这里,软件和硬件的配置就结束了,这个时候我们就可以在通过SRAM进行程序调试了



共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]