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


chip-girl

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

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

        一.Keil MDK设置;

image.png

                                          设置keil MDK的target

 

       image.png

                                             设置flash download。

          二.设置程序偏移量

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

image.png

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

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

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

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

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

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

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

image.png

        

         然后打开启动工程:

image.png

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

image.png

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

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

image.png

 

image.png

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

   

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM