移植FreeModbus不运行,哪位高手遇到过

2019-07-20 01:22发布

本帖最后由 八度空间 于 2016-1-31 22:07 编辑

最近移植FreeModbus-V1.5版本到探索者开发板,发现下载后不运行,仿真发现一直在这汇编中循环,main函数都进不了 modbus仿真截图1.png

如果在main函数中将eMBInit()函数注释掉之后,就能跑了
modbus仿真截图2.png
找了一下午没找到问题在哪里,目前用的编译环境是MDK5.17,以为是编译环境的问题,换MDK4.72也不行,有高招破解么?下载的是官网上的源码
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
19条回答
Bula
2019-07-21 00:32
八度空间 发表于 2016-2-2 08:17
有招???

我刚才试验了一下,楼主的现象的确会出现,我采取如下的方式,可以达成单步进入到main()中:

1、在system_stm32f4xx.c中的void SystemInit(void)里面的  RCC->CR |= (uint32_t)0x00000001;语句一行设置断点
2、在main()主函数的第一行        delay_init();设置断点
3、进入DEBUG Session后,系统会停在第1个断点处,然后单步执行,直至汇编代码中的BX R0处
                 LDR     R0, =SystemInit
                 BLX     R0
                 LDR     R0, =__main
                 BX      R0
                 ENDP
4、再按F5连续运行,此时,系统会停在main()的第1行语句断点处。

原因尚不清楚,怀疑是否要align 4bytes

一周热门 更多>