微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > STM32F407 U盘upgrade 升级问题求助

STM32F407 U盘upgrade 升级问题求助

时间:10-02 整理:3721RD 点击:
大家好,请教下关于stm32f407 软件升级问题
设备:1、官方的discovry的开发板MB997B
             2、官方提供的STM32F4-Discovery_FW_V1.1.0\Project\FW_upgrade 开发包
             3、编译环境使用KEIL MDK
问题:1、利用该程序将自己编译生成的systick的二进制文件下载到0x08008000地址,程序执行COMMAND_JUMP() 后无法启动
            2、使用官方提供的.bin文件就可以,就可以正常运行
            3、我编译的systick的二进制文件时,同时生成的hex文件,利用STM32 ST-LINK Utility 下载到0x0800 0000地址是可以运行的。(侧面论证了用于编译的原程序无任何问题)
            4、编译生成的二进制文件使用的是KEIL自带的二进制生成器来生成的
            5、二进制文件是通过单步仿真下载到0x0800 8000 地址,可以确认二进制.bin文件时下载到片内flash内
            6、大概问题应该是出在自己编译的.bin文件和官方提供的.bin文件存在差异导致(仅个人推断)

各位大牛如有遇到过该问题的,请指点指点,谢谢!

我编译的systick的二进制文件时,同时生成的hex文件,利用STM32 ST-LINK Utility 下载到0x0800 0000地址是可以运行的。(侧面论证了用于编译的原程序无任何问题)
说明你编译的程序没有按bootloader所需要求做调整。
用bootloader引导的程序,中断向量入口一般是要调整的,代码的位置也需要调整。
中断向量用NVIC函数调整,而代码位置通过在工程设置里调整。建议参考bootloader附带的详细说明

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top