中级会员
 
- 积分
- 481
- 金钱
- 481
- 注册时间
- 2019-10-25
- 在线时间
- 66 小时
|

楼主 |
发表于 2020-10-7 00:00:58
|
显示全部楼层
是因为移植中忽略了一个很重要的问题,包括原子的移植文档和其他友商移植文档,都没有特别提及到,起因是用自行创建的工程移植LWIP,而LWIP2.1.2的默认配置断言选项是打开的,即默认使用了printf函数,自己创建的工程没有对printf函数实现重映射,且没有使用微库,导致整个工程虽然编译没有出错,但无法正常运行,进入调试发现总是卡在0x080004C0 BEAB BKPT 0xAB,查阅得知是printf函数没有具体实现,解决办法也很简单:(1)勾选使用keil里面的微库。(2)对printf函数重映射,建议使用这个方法。原子的LWIP工程是一个模板,在之前已经给出了printf具体实现,直接用的话没发现到这个问题。ps:知道这个问题花了不少精力,包括使用了CubeMX生成的LWIP工程的也无法使用,经过多次实验,同样是勾选调试后才能正常使用,在这里再次提醒,自行移植LWIP2.1.2,需要实现printf,或者关掉断言功能,最好是看一看官网的移植注意事项,这些都有特别说明。
|
|