21ic问答首页 - 关于STM32固件和代码移植的问题……
关于STM32固件和代码移植的问题……
airbunny2024-11-20
对于基本pin2pin的STM32芯片,比如F765到H753,或H743,是否可以不需要重新编译,就可以将过去的代码烧录并运行在新的处理器上?尤其是对于使用了OS的固件?如果不行的话,需要对代码的哪些部分进行修改?
其实我觉得应该是不能直接烧进去使用的。但是听到有人说固件可以不经修改直接使用,但是手头没有能验证的硬件……
多谢啦!
其实我觉得应该是不能直接烧进去使用的。但是听到有人说固件可以不经修改直接使用,但是手头没有能验证的硬件……
多谢啦!
赞0
评论
2024-12-04
赞0
评论
2024-12-04
赞0
评论
2024-12-04
赞0
评论
2024-12-04
赞0
评论
2024-12-04
赞0
评论
2024-12-04
赞0
评论
2024-12-04
赞0
评论
2024-11-21
赞0
如果想将代码迁移到新的芯片上,以下是常见需要调整的地方:
启动代码(startup file)
检查并替换为目标芯片的启动文件(如startup_stm32h753xx.s)。可以从STM32CubeMX或目标芯片的HAL库中获取。
系统时钟配置
在SystemClock_Config()函数中,重新配置时钟源(HSE、HSI、PLL等)和外设时钟分频。可以借助STM32CubeMX生成新的时钟配置代码。
外设初始化代码
对比源芯片和目标芯片的外设差异,检查GPIO复用功能、DMA配置、UART/SPI/I2C等外设初始化代码。
链接脚本(linker script)
修改Flash和RAM的起始地址及大小,使其与目标芯片匹配。
中断向量表
如果中断向量表的布局不同,需要确保新芯片的中断向量表与代码匹配。
优化设置
STM32 H7系列可能需要开启数据缓存(DCache)和指令缓存(ICache),这在F7系列中可能未启用。
操作系统移植层
检查RTOS的移植代码是否支持新芯片,尤其是与系统定时器(SysTick)相关的部分。
评论
2024-11-21
您需要登录后才可以回复 登录 | 注册