网站大量收购独家精品文档,联系QQ:2885784924

TI的TCPIP协议栈NDK.pdfVIP

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
TI的TCPIP协议栈NDK

一、NDK 中创建任务的方法: 1、用标准的DSP/BIOS API struct TSK_Attrs ta; ta = TSK_ATTRS; ta.priority = OS_TASKPRINORM; ta.stack = 0; ta.stacksize = stacksize; ta.stackseg = 0; ta.environ = 0; = TaskName; ta.exitflag = 0; hMyTask = TSK_create( (Fxn)entrypoint, ta, arg1, arg2, arg3 ); 2、用NDK 的任务抽象API hMyTask = TaskCreate( entrypoint, TaskName, OS_TASKPRINORM, stacksize, arg1, arg2, arg3 ); In both cases, hMyTask is a handle to a DSP/BIOS TSK task thread. 二、内存分配 应用程序在分配内存时最好使用标准的malloc()/free()函数,或者使用DSP/BIOS 来分配。 三、NDK 初始化和配置 1、必须包含NETCTRL.LIB,NETCTRL 模块是协议栈初始化、配置和事件调度的核心。 2、由DSP/BIOS 创建的线程是程序的入口点,并且最终成为NETCTRL 调度线程。这个控制线程直 到协议栈关闭才返回给调用者。 3、在调用其他任何协议栈API 之前必须先调用NC_SystemOpen()函数。它初始化协议栈及其所需 内存环境。它的两个参数Priority和OpMode 分别决定调度任务的优先级和调度器何时开始执行。 Priority 包括NC_PRIORITY_LOW 和 NC_PRIORITY_HIGH 两种, OpMode 包括 NC_OPMODE_POLLING 和 NC_OPMODE_INTERRUPT 两种,大部分情况使用 interrupt 模式,而 polling 模式会持续运行,当使用 polling 模式时,优先级必须设为低 (NC_PRIORITY_LOW)。 4、使用实例: // // THIS IS THE FIRST THING DONE IN AN APPLICATION!! // rc = NC_SystemOpen( NC_PRIORITY_LOW, NC_OPMODE_INTERRUPT ); if( rc ) { printf(NC_SystemOpen Failed (%d)\n,rc); for(;;); } 5、系统配置,包括以下参数: · Network Hostname · IP Address and Subnet Mask · IP Address of Default Routes · Services to be Executed (DHCP, DNS, HTTP, etc.) · IP Address of name servers · Stack Properties (IP routing, socket buffer size, ARP timeouts, etc.) 系统配置开始时调用CfgNew()来创建配置句柄。 配置好之后调用NC_NetStart()函数,该函数有4 个参数,配置句柄,指向开始回调函数的指针, 指向结束函数的指针,指向 IP地址事件的函数。开始和结束函数都只被调用一次。开始函数在初始 化结束准备执行网络应用程序时调用,结束函数在系统完全关闭时调用,意味着协议栈将不能执行网 路应用。IP地址事件函数能够多次被调用。 NC_NetStart()到系统关闭才返回一个关闭代码。 // // Boot the system using our configuration // // We keep booting until the function returns 0. This allows // us to have a reboot command. // do { rc = NC_NetStart( hCfg, NetworkStart, NetworkStop, NetworkIPAddr ); } while( rc 0 ); As an example of a network start callback, the NetworkStart() function below opens a user SMTP server application by callin

文档评论(0)

yaobanwd + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档