本帖最后由 一只耳朵怪 于 2018-5-22 15:23 编辑

您好,

首先非常感谢您的回答。我所碰到的问题是MAC address 出错,是不是因为两个核的NDK所使用的EMAC channel 相同造成的呢?另外,我在NDK USER'S GUIDE 和 NDK software programmer's reference guide 两篇文档中好像没发现有设置EMAC channel 的API 呀。我把我的代码和错误信息贴在下面,还想麻烦您看一下,指出问题所在。

使用的核为 CORE_0  和 CORE_1 ,两个核单独启动 即: Ipc.procSync = Ipc.ProcSync_NONE; // in file.cfg

错误信息如下:

[C66xx_0] EVM in StaticIP mode at 192.168.0.218

[C66xx_0] QMSS successfully initialized

[C66xx_0] CPPI successfully initialized

[C66xx_0] PASS successfully initialized

[C66xx_0] Ethernet subsystem successfully initialized

[C66xx_0] eventId : 48 and vectId : 7

[C66xx_0] Registration of the EMAC Successful, waiting for link up ..

[C66xx_0] run in daemon

[C66xx_0] receive :

[C66xx_1] QMSS successfully initialized

[C66xx_1] CPPI successfully initialized

[C66xx_1] PASS successfully initialized

[C66xx_1] Ethernet subsystem successfully initialized

[C66xx_1] eventId : 48 and vectId : 7

[C66xx_1] Timeout waiting for reply from PA to Pa_addMac command

[C66xx_1] Add_MACAddress faiLED

[C66xx_1] Error: Unable to register the EMAC

CORE_0 网络配置代码:

int RunUDP_sever()

[

HANDLE hCfg;

CI_IPNET NA;

IPN      IPTmp;

int nStatus, nRecv;

char *HostName    = "UDP_SEVER_0";

char *DomainName  = "demo0.net";         /* Not used when using DHCP */

char *DNSServer   = "0.0.0.0";          /* Used when set to anything but zero */

nStatus = NC_SystemOpen( NC_PRIORITY_LOW, NC_OPMODE_INTERRUPT );

IF(nStatus != NC_OPEN_SUCCESS)

[

#ifdef UDP_SEVER_debug

printf("NC_SystemOpen Failed (%d)\n",nStatus);

#endif

goto close_n_exit;

]

hCfg = CfgNew();

if( !hCfg )

[

#ifdef UDP_SEVER_DEBUG

printf("Unable to create configuration\n");

#endif

goto close_n_exit;

]

/* Validate the length of the supplied names */

if( strlen( DomainName ) >= CFG_DOMAIN_MAX ||

strlen( HostName ) >= CFG_HOSTNAME_MAX )

[

#ifdef UDP_SEVER_DEBUG

printf("Domain or Host Name too long\n");

#endif

goto close_n_exit;

]

/* Add our global hostname to hCfg (to be claimed in all connected domains) */

CfgAddEntry( hCfg, CFGTAG_SYSINFO, CFGITEM_DHCP_HOSTNAME, 0, strlen(HostName), (UINT8 *)HostName, 0 );

/* Setup an IP address to this EVM */

bzero( &NA, sizeof(NA) );

NA.IPAddr  = inet_addr("192.168.0.218");

NA.IPMask  = inet_addr("255.255.255.0");

strcpy( NA.Domain, DomainName );

/* Add the address to inteRFace 1 */

CfgAddEntry( hCfg, CFGTAG_IPNET, 1, 0, sizeof(CI_IPNET), (UINT8 *)&NA, 0 );

/* Manually add the DNS server when specified */

IPTmp = inet_addr(DNSServer);

if( IPTmp )

CfgAddEntry( hCfg, CFGTAG_SYSINFO, CFGITEM_DHCP_DOMAINNAMESERVER, 0, sizeof(IPTmp), (UINT8 *)&IPTmp, 0 );

/* Set debug message level */

nStatus = DBG_WARN;

CfgAddEntry( hCfg, CFGTAG_OS, CFGITEM_OS_DBGPRINTLEVEL, CFG_ADDMODE_UNIQUE, sizeof(uint), (UINT8 *)&nStatus, 0 );

// UDP Receive limit

nRecv = 8192;

CfgAddEntry( hCfg, CFGTAG_IP, CFGITEM_IP_SOCKUDPRXLIMIT,

CFG_ADDMODE_UNIQUE, sizeof(uint), (UINT8 *)&nRecv, 0 );

do

[

nStatus = NC_NetStart( hCfg, NetworkOpen, NetworkClose, NetworkIPAddr );

] while( nStatus > 0 );

#ifdef UDP_SEVER_DEBUG

platform_write ("Shutting things down\n");

#endif

close_n_exit:

CfgFree( hCfg );

NC_SystemClose();

return 0;

]

static HANDLE hDaemon=0;

static void NetworkOpen()

[

hDaemon = DaemonNew( SOCK_DGRAM, 0, 1062, RecvImg, OS_TASKPRIHIGH, OS_TASKSTKNORM, 0, 1 );//7//OS_TASKPRINORM

]

CORE_1网络配置代码:

int UDP_Sever()

[

HANDLE hCfg;

CI_IPNET NA;

IPN      IPTmp;

int nStatus, nRecv;

char *HostName    = "UDP_SEVER";

char *DomainName  = "demo.net";         /* Not used when using DHCP */

char *DNSServer   = "0.0.0.0";          /* Used when set to anything but zero */

nStatus = NC_SystemOpen( NC_PRIORITY_LOW, NC_OPMODE_INTERRUPT );

if(nStatus != NC_OPEN_SUCCESS)

[

#ifdef UDP_SEVER_DEBUG

printf("NC_SystemOpen Failed (%d)\n",nStatus);

#endif

goto close_n_exit;

]

hCfg = CfgNew();

if( !hCfg )

[

#ifdef UDP_SEVER_DEBUG

printf("Unable to create configuration\n");

#endif

goto close_n_exit;

]

/* Validate the length of the supplied names */

if( strlen( DomainName ) >= CFG_DOMAIN_MAX ||

strlen( HostName ) >= CFG_HOSTNAME_MAX )

[

#ifdef UDP_SEVER_DEBUG

printf("Domain or Host Name too long\n");

#endif

goto close_n_exit;

]

/* Add our global hostname to hCfg (to be claimed in all connected domains) */

CfgAddEntry( hCfg, CFGTAG_SYSINFO, CFGITEM_DHCP_HOSTNAME, 0, strlen(HostName), (UINT8 *)HostName, 0 );

/* Setup an IP address to this EVM */

bzero( &NA, sizeof(NA) );

NA.IPAddr  = inet_addr("192.168.0.217");

NA.IPMask  = inet_addr("255.255.255.0");

strcpy( NA.Domain, DomainName );

/* Add the address to interface 1 */

CfgAddEntry( hCfg, CFGTAG_IPNET, 1, 0, sizeof(CI_IPNET), (UINT8 *)&NA, 0 );

/* Manually add the DNS server when specified */

IPTmp = inet_addr(DNSServer);

if( IPTmp )

CfgAddEntry( hCfg, CFGTAG_SYSINFO, CFGITEM_DHCP_DOMAINNAMESERVER, 0, sizeof(IPTmp), (UINT8 *)&IPTmp, 0 );

/* Set debug message level */

nStatus = DBG_WARN;

CfgAddEntry( hCfg, CFGTAG_OS, CFGITEM_OS_DBGPRINTLEVEL, CFG_ADDMODE_UNIQUE, sizeof(uint), (UINT8 *)&nStatus, 0 );

// UDP Receive limit

nRecv = 8192;

CfgAddEntry( hCfg, CFGTAG_IP, CFGITEM_IP_SOCKUDPRXLIMIT,

CFG_ADDMODE_UNIQUE, sizeof(uint), (UINT8 *)&nRecv, 0 );

do

[

nStatus = NC_NetStart( hCfg, NetworkOpen, NetworkClose, NetworkIPAddr );

] while( nStatus > 0 );

#ifdef UDP_SEVER_DEBUG

platform_write ("Shutting things down\n");

#endif

close_n_exit:

CfgFree( hCfg );

NC_SystemClose();

return 0;

]

static HANDLE hDaemon=0;

static void NetworkOpen()

[

// Create our local server

hHello = DaemonNew( SOCK_DGRAM, 0, 7, dtask_udp_hello,  OS_TASKPRINORM, OS_TASKSTKNORM, 0, 1 );

]

0

ndk 的emac_TMS320C6678 MAC address error出错,请问是不是因为两个核的NDK所使用的EMAC channel 相同造成的呢?...相关推荐

  1. Mac Proxy error: Could not proxy request

    Android开发的Vue学习之路 提示:记录一些学习的知识路径,以及过程中遇到的问题 文章目录 Android开发的Vue学习之路 一.问题记录 1.Mac Proxy error: Could n ...

  2. macbook 重装系统服务器数据出错,苹果ARM版Mac重装系统出错?这有一份官方解决方案...

    原标题:苹果ARM版Mac重装系统出错?这有一份官方解决方案 [CNMO新闻]今年11月,苹果正式发布搭载Apple M1芯片的Mac.该产品亮相后,有网友发现新款Mac在重装系统时会出现" ...

  3. 什么是MAC地址及作用管理教程——What is the MAC address and role management tutorial

    如果你是通过校园网或小区接入Internet,那么一定听说过MAC地址.什么是MAC地址,MAC地址在这种局域网环境中究竟起到什么作用?下面就来介绍一下MAC地址的知识,MAC地址和IP地址的区别以及 ...

  4. 修改MAC ADDRESS

    一.简单的修改方法 其实不论 98 还是 2000 ,自身都已经提供了更改网卡地址的功能,只是平时大家都没上这方面想,因此没有注意到而以,很简单的哦 ..... 现在我们先来看看 WIN2000 .在 ...

  5. diffrences between ARP table and MAC address table

    ARP table is layer3 address to layer2 address mapping MAC address table is a layer2 address to inter ...

  6. mac address 的一些操作

    1.如何描述 MAC地址 最常用的有两种: 1.字符串 char *addr="52:54:00:29:e4:4b"; // 长度17,有效值都是16进制表示的 2.数组 /* M ...

  7. 解决:Mac brew Error: Your CLT does not support macOS 11.2

    解决:Mac brew Error: Your CLT does not support macOS 11.2. 文章目录 解决:Mac brew Error: Your CLT does not s ...

  8. Ubiquiti MAC Address Changer 3.0 Crack

    Ubiquiti MAC Address Changer,目前mac address changer的版本有很多,本次发布的是V3版本,这是一款功能非常强大的修改网卡mac地址软件,基本上所有的网卡M ...

  9. tmac v6设置中文_Technitium MAC Address Changer(mac地址修改器) 免费版v6.0.7

    Technitium MAC Address Changer是一款用于更改变换机器MAC地址的软件.此软件能分析你的网络连接状态和使用的MAC地址,通过软件能将本机真实的MAC地址进行伪装,保护你的机 ...

最新文章

  1. [patl2-018]多项式A除以B
  2. computed 与methods , watched 的区别
  3. 买走5355.5万张床垫的年轻人,实现“深睡自由”了吗?
  4. 让人期待的2011年度最佳 jQuery 插件发布啦
  5. Lambda表达式有参数有返回值的练习
  6. java对象和json对象之间互相转换
  7. 永中向香港博览会主办方演示云办公(转载)
  8. python智慧树章节答案_Python程序设计_知到智慧树_章节答案
  9. C:/WINDOWS/system32/drivers/etc/hosts文件无法访问
  10. 回复《论WEB标准专家》。
  11. MySQL数据库——密码遗忘解决方案
  12. 暗影精灵6触摸板驱动安装
  13. 嵌入式软件工程师自学之路
  14. HTML5+JS手机web开发之jQuery Mobile初涉
  15. 百度收购91无线,效果未必如愿
  16. 二进制bit0是什么意思_阜平吧在讨论5G的问题,感觉挺有意思,科普下……
  17. 详谈HTTPS SSL/TLS协议原理
  18. Dedecms 火车采集器免登陆发布接口,自动生成上下篇、栏目页、首页
  19. java异常在控制台和日志里面的打印记录
  20. 线程池+jsoup+htmlclient实现微博超话社区自动签到

热门文章

  1. adobe illustrator软件能做什么
  2. 我的微信公众号开通了!
  3. 《算法导论》学习(十七)----动态规划之钢条切割(C语言)
  4. 西南交大计算机第3次作业答案,西南交大大学英语I第3次作业题答案
  5. 【P04】运放全差分放大器实现单端与平衡的相互转换
  6. 被领导嘉奖了,该不该请同事吃饭?
  7. 不评价别人的生活,是一个人最基本的修养 // 转
  8. 力扣-无重复字符的最长子串
  9. python立即关机_Python之电脑好帮手—自动定时关机
  10. 用ASP.NET创建网络相册