本帖最后由 一只耳朵怪 于 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. 层次聚类算法原理总结
  2. [编程题]字符串最后一个单词的长度
  3. 2行代码实现小程序分享到朋友圈功能
  4. 共享寒冬中的常青树,2 次获得阿里投资的衣二三“欲隐藏”的数据真相 | 深度案例...
  5. 商汤科技2020年校园招聘丨以你所AI,创无界未来
  6. Markdown 基础学习
  7. KVM中断虚拟化(一)
  8. android系统优化(18)--系统性能优化第5季
  9. Java基础:Map
  10. win10和深度linux双系统,深度系统(deepin)与win10双系统切换设置
  11. / ./ ../相对路径详细解释
  12. gcd算法以及exgcd
  13. 聊天机器人之知识图谱 Freebase 简介
  14. 软考系统集成项目管理工程师模拟题
  15. VR全景如何应用在家装中?体验真实的家装效果
  16. 学生成绩预测模型_华中农大学子在美国大学生数学建模竞赛中获佳绩
  17. 【管卡婆技术服务支持】
  18. html认识时间游戏,认识时间教学设计
  19. Voice API for mobile 移动应用开发可用的API
  20. NQI一站式服务平台,质量基础设施一站式服务系统开发方案

热门文章

  1. Linux下 QT中 log4cplus 最基本配置及使用
  2. Agarose bound-WFA,WFL;琼脂糖结合紫藤凝集素(WFA,WFL)
  3. CENTOS下firefox看视频缺少flash插件
  4. VR虚拟线上展馆之水资源绿色发展博览会
  5. 学习Java用英文教材
  6. 下载词云(wordcloud)
  7. 【Linux】——用户账号和组账号
  8. 沈春华教授加入浙江大学!
  9. 日行一小步,坚持一大步
  10. 后天就是七夕节,你准备好了吗?送上几个七夕代码,展示你技能的时候到了!