分享
 
 
 

模拟器开发以及嵌入式系统内核调试

王朝other·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

模拟器开发以及嵌入式系统内核调试

lmjx 2004-12-25

limiao@yeah.net

一、模拟器的开发

1. 什么是模拟器

模拟器是一组应用程序,它运行于一个OS之上(linux或windows),提供对目标板功能的模拟,包括中断系统,RAM,FLASH系统,以及目标OS到宿主OS任务的映射。

2. 模拟器与虚拟机的区别

模拟器不同于虚拟机,虚拟机从设备的角度来模拟一个目标板,微细到提供对每条处理器指令的支持,而模拟器则从功能的角度进行模拟,重点在于对目标OS运行状态的监视,以及执行逻辑的监视。方便调试系统内核,以及开发初期的可行性调研。另外模拟器是在C语言级别上提供模拟,所以无论目标OS基于什么CPU,只要是C语言写的,模拟器就能提供对它的模拟。

3. 如何在windows环境下开发模拟器

3.1.模拟器的基本构造

一个基本的模拟器只要提供对中断系统的模拟,任务映射的模拟,内存以及堆栈的模拟就可以在其上面运行嵌入式实时内核了,当然我们还需要一个输入输出的设备,来干预及监视嵌入式内核的运行。

3.2.中断系统

中断系统是模拟器的核心,因为任务的调度本质上都是通过中断完成的(非抢占式系统例外)。以simuos为例,有8个中断源,包括异常、时钟、串口、键盘等。为了减轻模拟器的负担,实际上只产生一个中断事件,然后通过查询的方式来进行中断的路由。

3.3.任务映射

任务映射是模拟器与虚拟机的主要区别,虚拟机不需要任务映射,因此它也不可能了解嵌入式内核的运行逻辑与运行状态,只能通过观察寄存器来推断。而模拟器将每一个目标OS的任务都记录下来,然后统一管理它们的运行,而达到监视和干预的目的。

3.4.其他

LCD和键盘的模拟。

二、实时内核移植

1. 移植的前提

移植的唯一前提是我们必须拥有目标OS的源代码。

2. 移植时的注意事项

注意中断系统的挂接,注意任务管理器的安装。

3. 以ucosii举例(抢占式)

ucosii为优先级抢占式实时系统内核,广泛应用于工控领域,由于其源码开放

所以倍受学生和广大嵌入式爱好者的青睐。但是对于初学者而言,嵌入式系统就象一个黑盒子,虽然有代码在手但却不能感观体验到其运行时所带来的魅力。将其移植到模拟器上,我们不但能观察ucosii的任务管理方式,还能随时设置断点来对自己的程序进行调试。移植的源代码及demo程序请自行下载:www.mshowtec.com

4. 以rtke举例(非抢占式)

rtke是菲利普手机解决方案中应用的实时内核,该内核的最大缺点就是非抢占式,一个task必须自己放弃CPU的使用权才能使其他高优先级的任务得到调度。因此在其上面写程序必须十分小心,另外通过模拟器我们可以跟踪到每个消息发往何处,每个信号量的使用状况,当前内存的状态等等。Demo程序请自行下载:www.mshowtec.com

三、VC环境下调试

1. 模拟器下调试的优缺点

优点是直观方便,缺点是由于模拟器并不是真实的硬件环境,因此许多依赖于硬件的代码无法进行调试,但是对于调试系统内核和普通的应用程序已经是够用了,尤其是在解决系统死锁的问题上是最有用的利器。

2. 调试手段与方法

可以利用模拟器本身提供的调试工具进行分析系统状态,也可以在OS代码中加入自己的trace信息来跟踪系统的运行,具体请参照上面提供的两个例子。

四、小结

通过对模拟器simuos的开发,以及对几个实时内核的移植,我们发现在嵌入式领域我们缺乏的是基础教育,每个从事嵌入式开发的工程师大多都是工作以后才对嵌入式系统有一个比较完整和深刻的认识的,如果每所大学能让我们的学生在上学期间亲手移植一个甚至是几个嵌入式系统内核,那么我们的毕业生的技术素质将会有显著的提高。Simuos这个项目就是为这个目的而开发的,希望它能给正在学习或打算学习嵌入式开发的同学或工程师带来帮助。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有