登录
|
注册
|
QQ账号登录
|
常见问题
联系我们:
我要上传
首页
浏览
幼儿/小学教育
中学教育
高等教育
研究生考试
外语学习
资格/认证考试
论文
IT计算机
经济/贸易/财会
管理/人力资源
建筑/环境
汽车/机械/制造
研究报告
办公文档
生活休闲
金融/股票/期货
法律/法学
通信/电子
医学/心理学
行业资料
文学/艺术/军事/历史
我的淘豆
我要上传
帮助中心
复制
下载此文档
从Cfgdemo项目来分析协议栈的启动修订稿.docx
文档分类:
通信/电子
|
页数:约12页
举报非法文档有奖
分享到:
1
/
12
下载此文档
搜索
下载此文档
关闭预览
下载提示
1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
2.下载该文档所得收入归上传者、原创者。
3.下载的文档,不会出现我们的网址水印。
同意并开始全文预览
(约 1-6 秒)
下载文档到电脑,查找使用更方便
下 载
还剩?页未读,
继续阅读
分享到:
1
/
12
下载此文档
文档列表
文档介绍
从Cfgdemo项目来分析协议栈的启动修订稿.docx
WEIHUA system office room 【WEIHUA 16H-WEIHUA WEIHUA8Q8-WEIHUA1688】
从Cfgdemo项目来分析协议栈的启动
从Cfgdemo项目来分析协议栈的启动
项目中静态创建的任务有两个:一个是空闲任务,一个是StackTest任务,main函数是空的。任务StackTest的优先级(5)比空闲任务高。整个程序的初始化部分执行完之后,就会执行StackTest任务,从而执行StackTest()函数。
StackTest()函数首先调用了NC_SystemOpen()函数,来完成协议栈系统的初始化工作。必须注意的是:在使用协议栈之前必须最先调用该函数。接下来调用函数CfgNew()来创建一个配置(Configuration)并获得该配置的句柄,接下来的工作就是在配置中增添配置项(Configuration Entry),增添配置选项是通过调用CfgAddEntry()函数实现的。该项目中首先增添的配置项为Host name:
从CFGDEMO项目来分析协议栈的启动
接着增添的配置项为Telnet服务,那么协议栈系统在启动之后会启动Telnet服务(创建了一个名为telnetd的任务):
?
接着通过调用efs_createfile()创建5个文件,其名字分别为:、、、 ;这5个文件中,前两个文件的数据分别存放在数组DEFAULT[]、TIBUG[]中,而后三个文件实际是cgi程序,这三个cgi程序分别完成来之客户端的命令请求:View configuration、Change password、Submit configuration,与之同时,它们动态修改并发送了两个网页并CONFIG、USERMSG。
接着增添的配置项为HTTP服务,那么协议栈启动之后会启动Http服务(创建一个名为http server的任务)
接着的增添的配置项为CFGITEM_OS_DBGPRINTLEVEL,来选择打印的信息内容:
接下来调用函数CfgSave()来获取配置的大小并讲配置数据存入一个缓存中去,并释放配置。
接下来调用函数NetBoot()来启动协议栈。这个函数是NDK的用户自己写的一个函数,在这个函数中,调用了协议栈启动函数NC_NetStart(),这个函数属于Network Control API,该函数的源代码可以在\ti\NDK\src\netctrl\中找到。其函数接口如下:
NetBoot()在调用NC_NetStart()之前调用CfgNew()来创建一个新的空的配置,然后再调用CfgLoad()来把之前存入缓冲区中的配置好的配置数据载入新的配置中去,并把它作为参数传入NC_NetStart()中去,接着就调用NC_NetStart()启动协议栈。
NC_NetStart()函数首先调用了4个硬件抽象层(HAL)的四个初始化函数,由它们来完成底层硬件的初始化(具体细节过程等待进一步研究):
接着该函数调用CfgSetDefault()把传入NC_NetStart()函数中构建好的配置设置为默认配置。由于编程方法上的需要,协议栈就使用配置是统一为一个配置句柄指向的配置。这样CfgSetDefault()的本质就是把该配置句柄指向传入NC_NetStart()函数中构建好的配置。
接着把传入NC_NetStart()函数的三个函数指针赋值给三个全局变量,以方便后面适当的时候调用:
接着调用协议栈的核心API函数ExecOpen()来初始化协议栈的executive(自己意会这个概念)。
接着动态创建一个名为ConfigBoot的任务,其优先级为15(最高),其执行的函数是NS_BootTask()。由于DSP/BIOS是占先式实时OS,所以一旦任务高优先级的任务创建,OS内核的调度模块就会自动切换到高优先级的任务执行。很显然,接下来执行的是函数NS_BootTask()。这个函数的源码在\ti\NDK\src\netctrl\ 中可以找到。
NS_BootTask()函数首先调用CfgSetService()来Set Service CallBack Funtions for Every Configuration Tag,其意思是为每个Configuration Tag设置一个回调函数,其目的是为了在修改完配置之后能及时更新协议栈系统,也就是使协议栈系统随着配置的改变而实时地改变。 回调函数的接口定义如下:
?
在NDK的协议栈中,Configuration Tag共有如下8个:
?
其中需要配置回调函数的有如下几个:CFGT
从Cfgdemo项目来分析协议栈的启动修订稿 来自淘豆网www.taodocs.com转载请标明出处.
猜你喜欢
远红外棉织物温升测试法及后整理工艺研究的综..
2页
御用小能手教学设计
5页
最新护师类之外科护理主管护师完整题库及答案..
23页
2024年天净沙·秋原文注释及赏析
8页
最新护师类之主管护师及参考答案(黄金题型)..
39页
年月日教学设计模板
3页
最新国家电网招聘之金融类完整题库及参考答案..
40页
最新国家电网招聘之金融类包过题库【名师推荐..
39页
师德教学内容教学设计
4页
最新国家电网招聘之财务会计类题库大全带答案..
94页
载波通信对智能电能表计量误差影响的研究的中..
2页
展示设计教学重难点
2页
软弱围岩斜井转正洞工法动态施工力学行为分析..
2页
2024年大检修个人工作总结
20页
小报艺术排版教学设计
3页
相关文档
更多>>
非法内容举报中心
文档信息
页数
:
12
收藏数
:
0
收藏
顶次数
:
0
顶
上传人
:
保珠
文件大小
:
617 KB
时间
:
2021-06-13
相关标签
项目分红协议
项目分成协议
项目启动会发言稿
项目启动会新闻稿
项目分析
项目协议
与政府签订项目协议书
项目swot分析
项目启动方案
项目协议书
电子设计
GSM/GPRS/EDGE
光网络传输
数据通信与网络
天线/微波/雷达
核心网技术
TD-SCDMA技术
WCDMA技术
CDMA 95/CDMA2000/EV技术
WiMAX技术
网规网优
考试/面试试题
运营商及厂商资料
室内分布
无线电电子学/电信技术
监控
3G
视频会议
电子电气自动化
最近更新
检验类之临床医学检验技术(中级)精选题库及..
检验类之临床医学检验技术(中级)内部题库含..
专项应急预案模板
机械员之机械员专业管理实务题库【基础题】..
机械员之机械员专业管理实务完整题库(轻巧..
机械员之机械员专业管理实务完整版【必刷】..
高丽教学设计
机械员之机械员专业管理实务【典优】
最新监理工程师之合同管理精品(预热题)
风筝蝴蝶教学设计版
最新检验类之临床医学检验技术(师)题库大..
最新检验类之临床医学检验技术(中级)完整版..
难忘的一课教学设计
最新教师招聘之小学教师招聘及参考答案(夺..
最新护师类之主管护师题库带答案(模拟题)..
教师资格之小学教育学教育心理学题库附答案..
教师资格之小学教育学教育心理学完整题库附..
教师资格之小学教育学教育心理学完整版【夺..
教师资格之小学教育学教育心理学包过题库带..
教师资格之小学教育学教育心理学【名师推荐..
赏花教学设计
教师招聘之幼儿教师招聘内部题库带答案(研..
教师招聘之小学教师招聘题库大全(实用)
教师招聘之小学教师招聘题库及参考答案(培..
2024年演出经纪人考试题库附答案(满分必刷..
七年级数学竞赛试题(含答案)
烧烤店合同书(4份范本)
托班幼儿年龄特点和心理发展特点
医家秘奥慎柔五书
最新2022年中石油职称英语电子版教材(1-15)..
在线
客服
微信
客服
QQ
客服
意见
反馈
手机
查看
返回
顶部