STM32烧写两段地址不同的程序

IAP下载的时候需要两段地址不同的程序,一段bootloader,另一段应用程序。一般bootloader的位于程序启动地址,应用程序放的位置就随意了。下面说下两段程序一次烧写的使用方法,使用工具 keil, STVP.

1,首先分别设置两段程序的地址,在keil 下 Project->Options for Traget ‘XXX’->Target,Read/Only Memory Areas中,设置开始地址和大小,比如bootloader开始地址位于程序启动处 0x80000000,大小为64k。

STM32烧写两段地址不同的程序

2,然后剪辑两段 hex 程序。

使用记事本分别打开两段 hex 程序,先把 bootloader 程序整个复制下来,然后找到应用程序的结尾,删除程序结尾标志“:00000001FF”,再把 bootloader整个粘贴在后面,像下图:

STM32烧写两段地址不同的程序

3,保存退出。

4,打开STVP,设置好下载工具、下载方式,选定MCU后,进入界面,可以看到内存区为空白。

STM32烧写两段地址不同的程序

5,选择 File->Open,或者直接右键,Open,加载刚制作好的文件,可以看到,在起始地址0x8000000和0x80100000分别有了有效程序代码。

这是 bootloader区

STM32烧写两段地址不同的程序

这是应用程序区

STM32烧写两段地址不同的程序

6,最后先擦除程序,再烧写,就可以一次把两段程序烧写到 Flash 上去了。

 

 

打赏
原文链接:,转发请注明来源!

发表评论