首页 > 其他 > 详细

STM32启动地址设置及从非0x800000 开始调试程序

时间:2019-01-04 15:52:26      阅读:885      评论:0      收藏:0      [点我收藏+]

技术分享图片

 

        首先设置程序的启动地址,STM32默认的启动地址是从0x8000000开始的,现在我要设置程序向后偏移10K地址,也就是从0x8002800启动。

        需要分两步完成上面操作:

        一.Keil MDK设置;

技术分享图片

                                          设置keil MDK的target

 

       技术分享图片

                                             设置flash download。

          二.设置程序偏移量

              程序偏移量在system_stm32f10x.c代码中。

技术分享图片

                                            这里大小和前面keil相对应。

      至此STM32启动地址设置完成。但是这个重新只能通过boot loader跳转执行这段程序,无法在线调试。

/*******************************************************************************************************************************************

             前部分介绍到此。现在介绍非0x800000 开始调试程序

******************************************************************************************************************************************/

      为此我们需要设置下mdk的flash算法即可实现在线调试

     修改方法:打开keil安装目录E:\Keil_v5\ARM\Flash(软件路径不一定相同)。

技术分享图片

        

         然后打开启动工程:

技术分享图片

       程序修改ok后编译,会生成STM32F10X_512.FLM

技术分享图片

    这样我们的mdk的flash算法设置完成。

    我们可以在E:\Keil_v5\ARM\Flash找到生成的文件:

技术分享图片

 

技术分享图片

         到此我们从非0x800000 开始调试程序完成。

   

 

STM32启动地址设置及从非0x800000 开始调试程序

原文:https://www.cnblogs.com/linux-37ge/p/10220258.html

(1)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!