
大家好,请教下关于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文件存在差异导致(仅个人推断) 各位大牛如有遇到过该问题的,请指点指点,谢谢! |
USB_CDC_HOST 标准库里边USBH_DeAllocate_AllChannel()函数的疑问?
STM32部署机器学习算法硬件至少要使用哪个系列的芯片?
重新配置SCB->VTOR = 0x08010000后,再次复位,程序异常,发现不进tick中断,IIC读数卡死在准备查询循环中。
STM32407 使用串口闲时中断+DMA方式接收最大接收字节是多少
uboot初始化IIC1,跳转到应用程序中后,先读一字节AT24C04的数据,然后初始化IIC1(未复位),再读一字节AT24C04时,有概率一直检测到IIC处于busy状态。
STM32F407的flash读写问题
keil调试阶段无法进行仿真,能进到仿真界面,但是无法执行程序,这个怎么解决?
STM32F4的IO口5V容忍问题
询问STM32F407两种USB可以实现的功能
TOF传感器(VL53L5),无法得到data ready
RE:STM32F407 USB upgrade问题
RE:STM32F407 USB upgrade问题
0x08000000
??
RE:STM32F407 USB upgrade问题
2、使用官方提供的.bin文件就可以,就可以正常运行
3、我编译的systick的二进制文件时,同时生成的hex文件,利用STM32 ST-LINK Utility 下载到0x0800 0000地址是可以运行的。(侧面论证了用于编译的原程序无任何问题)
---------------------------------------------------------------------------------------------
1、我猜这是笔误。因为0x0800 0000是cortex M3的复位起始地址,用来存放IAP的 ,APP是存放在Boot跳转的位置, 如0x08008000。
2、我猜你的代码无法运行的原因是没有修改中断向量表的映射,在APP的main函数中需要新增一条语句,
void NVIC_SetVectorTable(0x8000000, 0x8000); 用来表示复位/中断发生后,IAP的中断可以映射到APP的 中断 向量表,即可以映射到地址0x08008000。
具体查看datasheet 和stm32的库函数NVIC_SetVectorTable
RE:STM32F407 USB upgrade问题
如果在APP中不重新设置中断向量表为0x08008000,以后发生中断后,中断又映射到地址0x08000000,导致APP的中断无法响应
如果设置了中断向量表,中断发射后映射到地址0x08000000,然后发生有设置的中断映射表在0x08008000,中断重新产生一次映射。
如果需要细究最好看看arm怎么启动的,中断怎么映射的
RE:STM32F407 USB upgrade问题