热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

ndk的emac_TMS320C6678MACaddresserror出错,请问是不是因为两个核的NDK所使用的EMACchannel相同造成的呢?...

本帖最后由一只耳朵怪于2018-5-2215:23编辑您好,首先非常感谢您的回答。我所碰到的问题是MACaddress出错,是不是因为两个核的NDK所使

本帖最后由 一只耳朵怪 于 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



推荐阅读
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • 本文介绍了在rhel5.5操作系统下搭建网关+LAMP+postfix+dhcp的步骤和配置方法。通过配置dhcp自动分配ip、实现外网访问公司网站、内网收发邮件、内网上网以及SNAT转换等功能。详细介绍了安装dhcp和配置相关文件的步骤,并提供了相关的命令和配置示例。 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • CF:3D City Model(小思维)问题解析和代码实现
    本文通过解析CF:3D City Model问题,介绍了问题的背景和要求,并给出了相应的代码实现。该问题涉及到在一个矩形的网格上建造城市的情景,每个网格单元可以作为建筑的基础,建筑由多个立方体叠加而成。文章详细讲解了问题的解决思路,并给出了相应的代码实现供读者参考。 ... [详细]
  • 20211101CleverTap参与度和分析工具功能平台学习/实践
    1.应用场景主要用于学习CleverTap的使用,该平台主要用于客户保留与参与平台.为客户提供价值.这里接触到的原因,是目前公司用到该平台的服务~2.学习操作 ... [详细]
  • 使用在线工具jsonschema2pojo根据json生成java对象
    本文介绍了使用在线工具jsonschema2pojo根据json生成java对象的方法。通过该工具,用户只需将json字符串复制到输入框中,即可自动将其转换成java对象。该工具还能解析列表式的json数据,并将嵌套在内层的对象也解析出来。本文以请求github的api为例,展示了使用该工具的步骤和效果。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • Google Play推出全新的应用内评价API,帮助开发者获取更多优质用户反馈。用户每天在Google Play上发表数百万条评论,这有助于开发者了解用户喜好和改进需求。开发者可以选择在适当的时间请求用户撰写评论,以获得全面而有用的反馈。全新应用内评价功能让用户无需返回应用详情页面即可发表评论,提升用户体验。 ... [详细]
  • 展开全部下面的代码是创建一个立方体Thisexamplescreatesanddisplaysasimplebox.#Thefirstlineloadstheinit_disp ... [详细]
  • 本文详细介绍了Spring的JdbcTemplate的使用方法,包括执行存储过程、存储函数的call()方法,执行任何SQL语句的execute()方法,单个更新和批量更新的update()和batchUpdate()方法,以及单查和列表查询的query()和queryForXXX()方法。提供了经过测试的API供使用。 ... [详细]
  • 本文介绍了UVALive6575题目Odd and Even Zeroes的解法,使用了数位dp和找规律的方法。阶乘的定义和性质被介绍,并给出了一些例子。其中,部分阶乘的尾零个数为奇数,部分为偶数。 ... [详细]
  • 本文介绍了在使用Python中的aiohttp模块模拟服务器时出现的连接失败问题,并提供了相应的解决方法。文章中详细说明了出错的代码以及相关的软件版本和环境信息,同时也提到了相关的警告信息和函数的替代方案。通过阅读本文,读者可以了解到如何解决Python连接服务器失败的问题,并对aiohttp模块有更深入的了解。 ... [详细]
  • 利用Visual Basic开发SAP接口程序初探的方法与原理
    本文介绍了利用Visual Basic开发SAP接口程序的方法与原理,以及SAP R/3系统的特点和二次开发平台ABAP的使用。通过程序接口自动读取SAP R/3的数据表或视图,在外部进行处理和利用水晶报表等工具生成符合中国人习惯的报表样式。具体介绍了RFC调用的原理和模型,并强调本文主要不讨论SAP R/3函数的开发,而是针对使用SAP的公司的非ABAP开发人员提供了初步的接口程序开发指导。 ... [详细]
  • C++字符字符串处理及字符集编码方案
    本文介绍了C++中字符字符串处理的问题,并详细解释了字符集编码方案,包括UNICODE、Windows apps采用的UTF-16编码、ASCII、SBCS和DBCS编码方案。同时说明了ANSI C标准和Windows中的字符/字符串数据类型实现。文章还提到了在编译时需要定义UNICODE宏以支持unicode编码,否则将使用windows code page编译。最后,给出了相关的头文件和数据类型定义。 ... [详细]
  • Go Cobra命令行工具入门教程
    本文介绍了Go语言实现的命令行工具Cobra的基本概念、安装方法和入门实践。Cobra被广泛应用于各种项目中,如Kubernetes、Hugo和Github CLI等。通过使用Cobra,我们可以快速创建命令行工具,适用于写测试脚本和各种服务的Admin CLI。文章还通过一个简单的demo演示了Cobra的使用方法。 ... [详细]
author-avatar
铥铥宇900
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有