stm32 怎么把程序烧在指定空间

stm32 怎么把程序烧在指定空间,第1张

虽然说是烧写到指定位置,但是rom开始的地方存储中断向量表所以是不能动的(也许可以,但是需要修改启动文件等等一系列内部构造,不建议初学者更改),所以下面的方法是占用ROM开始的极少部分空间和从rom中间开始往后的空间,ROM中间的部分为空。

以MDK为例子:

①修改编译器:(0x10000为64K,即从64K的地方存储程序,size请根据自己的芯片rom减去0x10000)

②修改中断向量表: SCB->VTOR = FLASH_BASE | 0x10000(在main函数最开始处,)

如果还是不行的话,请看下面文档55章的串口IAP,选择里面有用的部分即可。

http://wenku.baidu.com/link?url=VRhgvWYTOIRDiD0ZgDAsoLsTcK-N7JIG-0HRLzHcUzyRAYeeMlP7uUKVkseUGG9Bd0vn4FRwRfv44Hv9gCA-myF0vTzM9PxIza6V19gSfie

对于汇编语言源程序,用ORG伪指令指定各程序段入口地址,例如:

ORG 100H

PRG1:

……

ORG 200H

PRG2:

……

ORG 300H

PRG3:

……

汇编源程序用编译软件生成目标程序,

录烧软件会自动将目标程序的各程序段写入相应各个区域。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12041965.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存