Thread 中讨论的其他器件: TMS320C6678、 SYSBIOS
工具/软件:TI-RTOS
大家好:
最近我想使用 TMDSEVM6678通过以太网与计算机通信,我尝试使用示例:mcsdk_2_01_02_05\examples\NDK\HelloWorld\evmc6678。
(CCS5.2.1 、编译器版本 TIV7.4.0、NDK 版本2.21.1.38 、SYS/BIOS 版本6.33.6.50、MCSDK PDK TMS320C6678版本1.1.2.5)
我将示例更改为:
静态空 NetworkOpen()
{
//创建我们的本地服务器
//hHello = DemonNew (SOCK_DGRAM、0、7、dtask_udp_hello、
// OS_TASKPRINORM,OS_TASKSTKNORM,0,1);
hHello = DemonNew (sock_stream、0、7、dtask_tcp_hello、
OS_TASKPRINORM、OS_TASKSTKNORM、0、1); //使用 TCP ,而不是 UDP
// dtask_tcp_hellp
}
并更改 按如下方式归档:
int dtask_tcp_hello (socket s,uint32未使用)
{
结构时间 val 至;
int i=0,count=1024*4;//2017.06
char *pBuf=&bufqgp[0],rec=65;
int *pBuf_int =&bufqgp_int[0];
(无效)未使用;
TO.tv_sec = 5;
TO.tV_usec = 0;
setsockopt( s, SOL_socket , SO_SNDTIME,&TO, sizeof( to ));
setsockopt( s、SOL_socket、SO_RCVTIMEO、&to、sizeof( to ));
for (;count!= 0;count -= i)
{
i =(int) recv (s、(void *)&pBuf、count、0);
if (i >0)
{
send( s,&rec,1,0);
pBuf+=I;
}
其他
中断;
}
对于(i=0;i<1024;i++)
{
memcpy (&pBuf_int[i]、&pBuf[i*4]、4);
}
退货(1);
}
并已在 中添加:extern char bufqgp[1024*4];extern int bufqgp_int[1024]; 文件
已添加
extern int dtask_tcp_hello();
字符 bufqgp[1024*4];//2017.07
int bufqgp_int[1024]; into the HelloWorld.c;
当我运行程序时(我没有从 PC 收到任何消息),我收到错误消息:
QMSS 已成功初始化
[C66xx_0] CPPI 已成功初始化
[C66xx_0] PA 已成功初始化
[C66xx_0]
[C66xx_0] TCP/IP 堆栈'Hello World!' 应用
[C66xx_0]
[C66xx_0]
[C66xx_0] TCP/IP 堆栈'Hello World!' 应用
[C66xx_0]
[C66xx_0]传递已成功初始化
[C66xx_0]以太网子系统已成功初始化
[C66xx_0]以太网事件 ID:48和 vectId (中断):7.
[C66xx_0] EMAC 注册成功、正在等待链接。
[C66xx_0]网络已添加:IF-1:192.168.2.100
[C66xx_0] A0=0x0 A1=0x0
[C66xx_0] A2=0x1 A3=0x803767dc
[C66xx_0] A4=0x1 A5=0x80376fc8
[C66xx_0] A6=0x80376fa0 A7=0x803767f4
[C66xx_0] A8=0x803767ec A9=0x803766f4
[C66xx_0] A10=0x80369810 A11=0xffffffff
[C66xx_0] A12=0x0 A13=0x0
[C66xx_0] A14=0x0 A15=0x0
[C66xx_0] A16=0x8002b740 A17=0x0
[C66xx_0] A18=0x8002b720 A19=0x20
[C66xx_0] A20=0x0 A21=0x0
[C66xx_0] A22=0x0 A23=0x0
[C66xx_0] A24=0x0 A25=0x0
[C66xx_0] A26=0x0 A27=0x2005000
[C66xx_0] A28=0x0 A29=0x43
[C66xx_0] A30=0x42 A31=0x1
[C66xx_0] B0=0x0 B1=0x0
[C66xx_0] B2=0x0 B3=0x4
[C66xx_0] B4=0x400 B5=0x400
[C66xx_0] B6=0x3ff B7=0x2
[C66xx_0] B8=0x80376fe8 B9=0x0
[C66xx_0] B10=0x8035c014 B11=0x80332840
[C66xx_0] B12=0x0 B13=0x0
[C66xx_0] B14=0x80379280 B15=0x80030870
[C66xx_0] B16=0x8002b760 B17=0x0
[C66xx_0] B18=0x3 B19=0x0
[C66xx_0] B20=0x0 B21=0x2e2
[C66xx_0] B22=0xF B23=0x0
[C66xx_0] B24=0x0 B25=0x3000
[C66xx_0] B26=0x3000 B27=0x0
[C66xx_0] B28=0x0 B29=0x3
[C66xx_0] B30=bbc B31=0x803767f0
[C66xx_0] NTSR=0x1020f
[C66xx_0] ITSR=0xF
[C66xx_0] IRP=0x80354bb8
[C66xx_0] SSR = 0x0
[C66xx_0] AMR=0x0
[C66xx_0] RILC = 0x0
[C66xx_0] ILC = 0x0
[C66xx_0]在0x4时发生异常
[C66xx_0] EFR=0x2 NRP=0x4
[C66xx_0]内部异常:IERR=0x1
[C66xx_0]指令提取异常
[C66xx_0] ti.sysbios.family.c64p.exception:line 248:e_exceptionMin:PC = 0x00000004、sp = 0x80030870。
[C66xx_0]要查看更多异常详细信息、请使用 ROV 或设置"ti.sysbios.family.c64p.exception.enablePrint = true;"
[C66xx_0] xdc.runtime.Error.raise:终止执行
我在 e2e 中找不到关于"Internal exception: IERR=0x1"消息的任何信息,现在我不知道如何使它正常工作。
我使引导模式:不引导,并且 PC IP 信息:
192.168.2.101
255.255.255.0
192.168.2.1
有人可以告诉我什么是错误的?
下面是 VS2012项目和 CCS5.2项目:
(我尝试通过 以太网以 int 形式发送数据)
e2e.ti.com/.../V6to6678_5F00_by_5F00_ethernet_5F00_communication.zip
e2e.ti.com/.../CCS5_5F00_2_5F00_helloWorld.zip