STM32如何将bootloader 和 app 程序的bin文件量产

一、  问题抛出

    在KEIL同一个工程只能有一个main函数,因此这个决定了我们的bootloader 和 app 程序肯定不可能一次编译生成。(当然我个人感觉这里是可以一次生成的,只是我们的链接脚本 和 makefile 需要比较精通)但是在linux中我们通常是把uboot 放在 norflash 内核放在nandflash中。因此这种是需要烧写两次的、

 

二、如何解决这个问题

  一、可以这样解决

 

 当我们编译APP的程序时将bootloader中main函数不要编译进去

当我们编译bootloader程序时不要将app程序的main函数编译进去

要注意的是我们的内存分布要选择

 

我们生成bin文件要选择

基本语法格式如下:

 D:\keil5\ARM\ARMCC\bin\fromelf.exe --bin --output  ../OBJ/GZ_Pro.bin  ../Output/GZ_Pro.axf

 

第三、下载合并bin文件

这里引用一篇别人的博客内容:

https://blog.csdn.net/niepangu/article/details/48524211

 

posted on 2021-04-02 11:24  Ablerry  阅读(964)  评论(0编辑  收藏  举报