TI中文支持网
TI专业的中文技术问题搜集分享网站

omapl138的starterware的lwip例程移植到自己的工程出错

用omapl138的C6748实现starterware中的lwip例程enet_lwip,现在开发板上已调通,电脑可以ping通板子,但把例程中的函数添加进我自己的工程中,仍然在开发板上跑,就不能ping通,本来以为是两个工程内存分配不同(例程都分配在DDR中,我自己的工程分配在DSP内部RAM中)造成的,但我把例程从DDR中放到内部RAM中也可以ping通,后来设断点发现自己的工程进不了EMAC中断,而例程可以,是否是我在添加库文件或include文件时操作有误造成的?顺便附上cmd文件和中断处理函数

Denny%20Yang99373:

查看一下各种中断标志寄存器,看看中断有无发生。

再检查一下是不是你的程序也对EMAC或者中断什么的做了配置?

Lutong Ma:

回复 Denny%20Yang99373:

单步调试了一下,发现程序根本就没有运行完TCP初始化,一直卡在netif.c的netif_set_ipaddr函数的一个循环中,如下图,一直卡在while (pcb != NULL) 处,查看pcb的值发现不是全0,而在运行例程的时候pcb值是全0,可以运行完初始化。我已经把自己工程中的main函数写的和例程一样了,还是有问题,说明应该是工程配置上的问题。

还有一个问题是在编译自己工程的时候报警告

warning #10373-D: library "C:/ti/OMAPL138_StarterWare_1_10_04_01/binary/c674x/cgt_ccs/omapl138/evmOMAP L138/platform/Debug/platform.lib" contains ELF object files which are incompatible with the TI-COFF output file. Ensure you are using the proper library.

我的工程要输出COFF,而例程中是ELF,我查到starterware中的库函数默认是ELF,ELF和COFF有什么区别?我要在哪找到默认是COFF的库函数,或者怎么让我的工程输出ELF(我在工程配置GENERAL中把COFF改为ELF后直接报错,再修改回去也没用,只能新建工程)?

最后附上我使用的例程和自己的工程(enet_lwip_demo是例程,Pj_TCP_2是我自己的工程),希望能得到帮助!

Alven:

回复 Lutong Ma:

我现在也遇到这个问题,请问楼主这个问题解决了吗??

赞(0)
未经允许不得转载:TI中文支持网 » omapl138的starterware的lwip例程移植到自己的工程出错
分享到: 更多 (0)