- 155
- 0
- 约2.49千字
- 约 6页
- 2021-02-26 发布于河北
- 举报
VxWorks 操作系统 RTP 介绍和使用方法
VxWorks 6.x开始引入 RTP(VxWorks real time process project)模式编程,这种模式的优点是应用程序相互独立, 互不影响,而且增加了内核的稳定性, 缺点
是由于“内核态”与“用户态”的内存拷贝,其执行效率有所降低,随着 CPU
速度越来越快,这点效率的牺牲已经越来越不重要。相比较于传统的 DKM
downloadable kernel module project ), RTP适合多个团队独立运作,然后汇总联试,这种模式除了全局函数不能再 shell 里直接调用外,其对应用程序几乎不做任何约束,原有的 DKM 工程代码稍作修改即可正常运行。内核变化较大,需要添加较多的组件, 内存需要较好的划分, 为保持应用程序直接调用函数调试的
习惯,需要封装接口供用户使用。
现简单的介绍 RTP使用方法,并给出 demo 代码供参考。
1.新建并编译工程:
(1) File-new- VxWorks real time process project,如图【 1】
图【 1】
(2) 一路 next 后,选择如图【 2】所示的编译器
图【 2】
选择 Finish 后,工程新建完毕。
导入源文件:这里的源文件名称是 fooRtpApp.c ,一种较快捷的方式是选中新建的工程,按下 F5,源文件会出现在工程中 .
右键选择编译,出现如图【 3】,选择 Continue 继续。
图【 3】
编译完成后,会生成 vxe 格式的可执行文件,此处为 usrAppA.vxe 。
下载可执行性文件
待板子启动后,使用文件下载到板子中。步骤如下:(1)运行 -cmd,打开对话窗口,如图【 4】所示:
图【 4】
依次执行如下命令:
(该 ip 可在 vxWorks 启动后,输入命令 ifconfig 查看 )
bi
cd /tffs0
put (完整的文件路径)
by
执行完上述命令后,即可把可执行程序下载到目标板上,如下图 【5】:
图【5】
在串口终端中,输入 ifconfig 命令查看 ip 地址;依次输入如下命令查看刚下载到目标板的文件:
cd “ /tffs0 ”
ls
上述操作结果如下图 【6】所示:
图【6】
3.运行可执行文件
下载完成后,可以断电重启或者在调试串口中输入命令待系统启动后应用程序自动运行。
ctrl+x 软重启电路板,
4. 调试方法
( 1 )原有的 DKM 工程, .out 文件被加载后其全局函数可以在 shell 里直接调
用,对调试方便的很,但是 RTP的实现机制决定了其中的函数不能被调用, 所以需要找到一种方法来实现,以达到安全、团队合作,而又方便调试。
函数原型:
“” , ” fun_name” ,arg1, arg2,arg3, arg4, arg5, arg6 假如 usrAppA.vxe里有如下两全局函数 :
void process_hello(int a,int b,int c);
void processB(void);
执行方法如下:
n usrAppA.vxe,process_hello,1,2,3
n usrAppA.vxe,processB
这种方式在 UP(单核)、多核( SMP)模式下都是安全可用的。
( 2)如果应用程序存在 BUG 而导致 RTP程序被杀掉,如何能快速定位是哪出了
问题?请注意, RTP模式优势来了,此时 vxWorks 还是活着的,可以输入命令 edrShow 查看所有的异常,能快速定位是哪一个任务出了问题。
3)内核启动后,输入命令: aff_lrtp ,即可手动执行应用程序。这种方式可以
RTP及其任务亲和到某一个核上, 当然只是多核跑在 SMP 时有效,单核模式无所谓,因为只有一个核。
4)查看任务
输入命令 ri “”可查看该应用程序中任务状态,比如:
ri “ usrAppA.vxe ”
这种方式只查看针对本 RTP的任务状态。
5)杀掉 RTP进程
delk “”
***************************Demo***************************************
( 6) Demo 代码如下:
#include vxWorks.h
#include stdio.h
/*#include barLib.h*/
/*user function*/
void process_hello(int a,int b,int c)
{
int t1=a,t2=b,t3=c;
while(1)
{
printf (hello world,^^^^0x%x,0x%x,0x%x\n,t1,t2,t3);
ta
您可能关注的文档
- vmware虚拟机模板的创建与部署.docx
- vmware虚拟机下红旗linux-6.0桌面版安装过程.docx
- vmware虚拟机设置bios及linux分区调整.docx
- vmware-虚拟交换机配置说明和建议.docx
- vm中ros-5.20固定ip设置上网实验图文教程.docx
- vm虚拟机bt5硬盘版的vmtool的安装方法.docx
- voip培训资料之基础知识和技术演进篇.docx
- vmware-esxi-5.5-vmware-vcenter-server安装配置记录.docx
- vs2008开发objectarx程序手动配置环境.docx
- vsphere-5网络功能端口镜像.docx
- 中国国家标准 GB/T 6675.9-2025玩具安全 第9部分:化学及类似活动的实验玩具.pdf
- 《GB/T 6675.9-2025玩具安全 第9部分:化学及类似活动的实验玩具》.pdf
- GB/T 46975-2025婴童用品 便携式婴儿睡篮技术要求.pdf
- 中国国家标准 GB/T 46975-2025婴童用品 便携式婴儿睡篮技术要求.pdf
- 《GB/T 46975-2025婴童用品 便携式婴儿睡篮技术要求》.pdf
- 《GB/T 6675.14-2025玩具安全 第14部分:指画颜料要求和测试方法》.pdf
- GB/T 6675.14-2025玩具安全 第14部分:指画颜料要求和测试方法.pdf
- 中国国家标准 GB/T 6675.14-2025玩具安全 第14部分:指画颜料要求和测试方法.pdf
- 中国国家标准 GB/T 33772.3-2025质量评定体系 第3部分:印制板及层压板最终产品检验及过程监督用抽样方案的选择和使用.pdf
- 《GB/T 33772.3-2025质量评定体系 第3部分:印制板及层压板最终产品检验及过程监督用抽样方案的选择和使用》.pdf
原创力文档

文档评论(0)