高级会员

- 积分
- 673
- 金钱
- 673
- 注册时间
- 2018-8-9
- 在线时间
- 158 小时
|
5金钱
本帖最后由 maidilong 于 2021-6-15 21:26 编辑
最近把USMART V3.3移植到STM32F030P4F6(flash:16K ram:4K),调试的时候大部分函数都没问题,就是显示字符串函数的时候一直进入HardFault_Handler,不知什么原因,请大家指教,谢谢!
首先说明一下,我是把USMART的定时中断关闭了的,把帮助也关了,使代码最小,我只简单的串口中断,把串口数据传入USART_RX_BUF[200],然后就直接调用usmart_scan();
同样的程序,在STM32F103战舰开发板上没有问题,我就奇怪了,103和030他们的堆栈默认大小都是一样的(Stack_Size 0x00000400(1K字节) Heap_Size 0x00000200(512字节)), 但为什么103的板子没有问题,难度就是103的空间够大?103的板子(flash:512K ram:64K)
还有一个奇怪的就是我在030板子调程序,OLED_ShowString1(10,10,12,"love");这样能在USMART里调试,但是把字符串换一下位置OLED_ShowString(10,10,"love",12);就会进入HardFault_Handler 说明一下为了方便调试字符串函数,OLED_ShowString1(10,10,12,"love");和OLED_ShowString(10,10,"love",12);虑数内容是一样的,只是形参数的位置调了一下
请大家帮忙看看,谢谢了~
再说明一下,我后来改用国产的HK030F4P6(FLASH:16K,ram:10K)也是一样的结果
USMART(STM32F030).rar
(361 KB, 下载次数: 30)
|
|