
大家好,请教下关于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文件存在差异导致(仅个人推断) 各位大牛如有遇到过该问题的,请指点指点,谢谢! |
STM32 F407骄阳电机版用DMA双缓存接收串口数据时,上电第一次接收区是memory1而不是memory0?
STM32F407骄阳版用DMA双缓存区接收串口数据,上电第一次接收到的数据在memory1而不是memory0
stm32f407无法配置定时器2为全部dma
FreeRTOS问题求解
使用stm32F407连接PHY芯片进行以太网通讯,一插网线就会进入错误中断。
ST的IMU和地磁计用motionfx库融合后航向角异常的问题
CUEBIDE生成的APP程序,在写入FLASH之后无法正常跳转。
有关Cubeide IAP 问题
stm32驱动st7735屏幕区分地图上的障碍物.
stm32哪个系列芯片支持2个USB,主设备,且usb可以支持标准的uvc协议,哪里可以下载usb开发库
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问题