工具/软件:TI C/C++编译器
您好,
我正在使用LM3S6965评估套件(带以太网和OLED显示屏)。 我从StellarisWare导入了一个项目并对其进行了编译,但当我尝试对其进行调试时,它无法执行应有的操作。
起初我以为这是一个屏幕错误,因为绿线指示接下来要执行哪条线,不停地来回跳,有时完全跳过线。 然后我注意到这些例子是行不通的。 在尝试设置eclipse以使用此主板后,我决定浏览生成的程序集,并注意到错误是来自编译器而不是代码编写器的COE。 在生成的装配体中,我可以清楚地看出线被忽略,重新排序,有时执行两次。 例如:
SysCtlPeripheralEnable(sysctl_Periph_ETH); SysCtlPeripheralReset(sysctl_Periph_ETH);
首先执行重置,然后启用,然后再次重置。
上面的行指出,这应该不是程序的问题,而不是。 问题出在诸如netif_add之类的函数中(我正在尝试编译Enet_IO示例)。 其中有一个名为init()的函数。 init是一个返回值的函数,但关于该函数,它的设置方式总是返回ERR_OK,所以...此行
如果(init(netif)!= ERR_OK){
返回NULL;
}
永远不应该发生,但它仍然存在。 当我看到生成的程序集时,我注意到它没有编译返回ERR_OK。
不仅发生了这种情况,还会发生更多奇怪的错误,我不知道如何解决。 我正在使用6.1 (我尝试安装CCS7,但安装大多数驱动程序失败)。 在最新版本StellarisWare之前发布的CCS 5.1 的最新版本即将发布时,我将下载该版本,因此它应该可以正常工作。
我注意到原始程序是使用TI编译器4.9 制作的,但我必须将其更改为最新的编译器,否则它会给我一个错误代码,而不是编译。
可能是什么问题? 这是否为已知错误? 我的安装是否有问题? 我将在5.1 中发布我的发现,但似乎永远不应该发生这种情况