基于DSP BIOS及NDK软件开发5.pptVIP

  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文档。上传文档
查看更多
基于DSP BIOS及NDK软件开发5

基于DSP BIOS及NDK的软件开发 5.1 NDK简介 什么是NDK? 为了加速其高档DSP的网口程序开发,TI公司结合其C6000系列芯片推出了TCP/IP NDK (Network Developer’s Kit)开发套件。 NDK包含哪些组成部分? 支持TCP/TP协议栈程序库 示范程序。 支持文档包括用户手册、程序员手册和平台适应手册。 5.1 NDK简介 NDK的存储器消耗情况? NDK仅用200~250K程序空间和95K数据空间即可支持常规的TCP/IP服务,包括应用层的telnet、DHCP、HTTP等。 NDK减少资源消耗的若干技巧: UDP socket和RAW socket不使用发送或接收缓冲区; TCP socket使用发送缓冲区,接收缓冲区依配置文件而定; 低层驱动程序与协议栈之间通过指针传递数据,不对包进行复制拷贝; 设置专门的线程清除存储器中的碎片和检查存储器泄露。 5.2 NDK的配置和使用 设置DSP/BIOS PRD设置主时钟 HOOK为TCP/IP协议栈设置保存的空间 包含文件和库文件: 请注意编译时需要包含库文件和文件路径,一般默认为c:\ti\c6000\ndk\inc CCS工程编译时的链接顺序 可以在CCS里选择Link Order“- ”build options对话框,将文件按照一定顺序添加并且将库文件添置到连接顺序的最后,推荐的顺序为:NETCTRL.LIB,HAL_xxx.LIB,NETTOOL.LIB,STACK.LIB和OS.LIB。 5.3 NDK应用示例 例程:建立一个任务Tcp_send,该任务采用TCP/IP 协议接收主机发送的数据并回传。(采用C6455 EVM板以及TCP_tester软件进行演示) 5.3 NDK应用示例 1)初始化PLL和外设 2)打开网络功能并设置 5.3 NDK应用示例 3)发送/接收定义一个任务 4)配置IP地址及网关等 5.3 NDK应用示例 5)初始化文件指针向量表 6)初始化Socket句柄 5.3 NDK应用示例 7)设置Host连接信息 8)设置连接超时 5.3 NDK应用示例 9)发送控制帧并建立链接 10)接收数据--存入缓冲区--发回给发送方 (1)支持TCP/TP协议栈程序库。其中主要包含的库有:支持TCP/IP网络工具的库,支持TCP/IP协议栈与DSP/BIOS平台的库,网络控制以及线程调度的库(包括协议栈的初始化以及网络相关任务的调度)(2)示范程序。其中主要包括DHCP/Telnet客户端,HTTP/数据服务器示范等。(3)支持文档包括用户手册、程序员手册和平台适应手册。 * * 1.PRD设置主时钟。硬件抽象层的时钟驱动需要一个100ms启动一次的PRD函数作为主时钟,函数名是llTimerTick()。 HOOK为TCP/IP协议栈设置保存的空间。OS库的任务调度模块需要调用hook来保存和调用TCP/IP协议栈的环境变量指针,这两个hook函数是NDK_hookInit() 和 NDK_hookCreate()。 2. CCS一般按照特定的顺序来链接目标函数和库文件,NDK是对这个链接顺序很敏感的,错误的顺序可以导致重复定义符号甚至不正确执行等错误。为避免这个情况,可以在CCS里选择Link Order- build options对话框,将文件按照一定顺序添加并且将库文件添置到连接顺序的最后,推荐的顺序为:NETCTRL.LIB,HAL_xxx.LIB,NETTOOL.LIB,STACK.LIB和OS.LIB。 * * * * * * * (1)支持TCP/TP协议栈程序库。其中主要包含的库有:支持TCP/IP网络工具的库,支持TCP/IP协议栈与DSP/BIOS平台的库,网络控制以及线程调度的库(包括协议栈的初始化以及网络相关任务的调度)(2)示范程序。其中主要包括DHCP/Telnet客户端,HTTP/数据服务器示范等。(3)支持文档包括用户手册、程序员手册和平台适应手册。 * * 1.PRD设置主时钟。硬件抽象层的时钟驱动需要一个100ms启动一次的PRD函数作为主时钟,函数名是llTimerTick()。 HOOK为TCP/IP协议栈设置保存的空间。OS库的任务调度模块需要调用hook来保存和调用TCP/IP协议栈的环境变量指针,这两个hook函数是NDK_hookInit() 和 NDK_hookCreate()。 2. CCS一般按照特定的顺序来链接目标函数和库文件,NDK是对这个链接顺序很敏感的,错误的顺序可以导致重复定义符号甚至不正确执行等错误。为避免这个

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档