ccs中自带的ndk helloworld udp例程,未改任何代码,下载板是官网买的c6678,直接6678 ndk helloworld udp例程加载后,出现问题如下:
请帮忙解决!谢谢!
striker Qian:
NDK 的bug, PA 状态无法清零。意味着NDK无法重入。
断电重启不会出现此问题。
调试时候 system_reset + gel重新初始化+ reload 代码也可以清除状态。
代码中绕开此问题:http://e2e.ti.com/support/dsp/c6000_multi-core_dsps/f/639/t/327455
Gangping Li:
哥们,你好,本人也是新手。目前也是此问题,还有不懂的就是通过配置DHCP协议动态获得IP,但是用网口调试助手如何设置目标IP呢?还有就是这个例程的port是不是7呢?谢谢哦!
Gangping Li:
回复 striker Qian:
哥们,你好!我的板子是C6678lEMV,没有SW9。不过我根据你的提醒将判断swich_state 的 if (!platform_get_switch_state(1)) 注释掉了,强制走静态IP。但是这个Hello world例程进入不了dtask_udp_hello函数,只能进入这个函数。由于它是有形参得(SOCKET s,UINT32 unused);不像上面那个NetworkOpen函数没有形参。兄弟,请问一下这个例程是不是还是自已定义一个SOCKET和unused。如果是这样的话,那又如何将自己定义socket传入该函数中呢?还有一个问题就是这个例程这是我本人PC的IP参数,这些都需要改成PC的参数么?还是只要改DestIPAddr和DestIPMask呢。本人对TCP,UDP/IP认识只是停留在理论阶段,没有实践过。感谢哥们不厌其烦的指导!
Gangping Li:
回复 striker Qian:
这是本人运行Hello world例程的结果图,以及网口调试助手的配置图:
striker Qian:
回复 Gangping Li:
Gangping Li,
修改LocalIPaddr 使其和PC上位机同一个网段,如 172.24.52.210,网关为172.24.52.1
dtask_udp_hello 是NDK中断触发的线程,只有收到socket才会进入。可设断点,也可加printf 打印调试
hello world例子是udp做“server”(udp没有实际意义上的server)。不主动发,收到远端udp包之后 按照接收 socket信息里的远端ip和端口原路发回。如果要主动与上位机通信需要另外建立socket,bind 远端ip/port
建议应该从网上找找最简单的x86 PC侧socket通信示例,在PC上先熟悉下基本的UDP/TCP API,然后再回到DSP上。striker
Gangping Li:
回复 striker Qian:
首先感谢striker striker,根据你的指导目前这个Hello world 例程已经调通了。请问一下你的QQ是多少呢?在下希望以后能在不打扰您工作的前提下向你学习以及寻求您的帮助。谢谢了,哥们!
YANYAN LEI:
回复 Gangping Li:
你好,
我也在调试helloworld这个例程,也是运行出你上图所示结果,这是算运行成功了吗?这个例程是向dsp传送什么,是什么功能呢,怎样算是成功,
我看到user guide里还说要用winapps里的helloworld.exe测试,但是打不开,点击了以后闪退。
Gangping Li:
回复 YANYAN LEI:
最后成功的结果是你在网口调试助手发送一串字符,网口调试助手就能接收到那串字符,而且你可以给DSP板子动态分配和PC同网段的IP。至于你说的winapps,我没用那个
YANYAN LEI:
回复 Gangping Li:
嗯,谢谢你。我用网口调试助手没有调通,最后还是用winapps文件夹里的exe文件实现了,这个exe文件需要在cmd里调试,可以给dsp代码发送一个socket,功能类似于网口调试助手。
另外,我想要同过网口实现将一系列图像传送到dsp,想用这个例程改,你做过类似的吗?