- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
ourdev_596285erp3kl
应用模块介绍
RT-Thread 应用模块介绍
• 应用模块概念:
– +
应用程序 内核模块
• 功能
– 动态加载,实现系统与应用相分离
• 背景
– 多进程多线程系统中,如Linux, BSD,有内核态与用
户态的区分,既存在应用程序,又存在内核模块
• 应用程序运行在用户态,内核模块运行在内核态
– RTOS
单进程多线程系统中,如传统的 ,运行在单一
内核地址空间,无内核态与用户态区分
• RT-Thread的模块运行在内核空间,更偏向应用性质
RT-Thread 应用模块介绍
• 动态加载应用场景
– 远程升级
– 驱动软件
– 动态链接库
– 应用软件
– 游戏
RT-Thread 应用模块介绍
• 动态加载应用实例
– 功能手机(非智能机)
• 运行RTOS
• Lcd,Sensor驱动需要动态加载
• 实现智能手机的效果,需要动态加载应用和游戏
• 支持JAVA虚拟机及各类游戏模拟器
• 雪鲤鱼APP,斯凯MRP,沃勤VRE,迈凯诺DAP,
在MTK,展讯的RTOS基础平台上提供二进制动态
加载机制
– MP3
• Rockbox
RT-Thread 应用模块介绍
• 动态加载的实现方式(1)
– 动态加载的本质是应用程序能够使用操
作系统提供的API,有如下实现方式
• 虚拟机方式
• 中断陷入方式
• 运行时链接方式
• API
内核 表导出方式
RT-Thread 应用模块介绍
• 动态加载的实现方式(2)
– 虚拟机方式
• 实例如JAVA虚拟机,Android的应用程序
• MD FC GB SFC MGS
, , , , 模拟器
• 各类解释器
• 速度慢
RT-Thread 应用模块介绍
• 动态加载的实现方式(3)
– 中断陷入,俗称软中断、系统调用的方式
• 通常是多进程系统的专利
• 实例如Linux,BSD,Windows的应用程序
• 涉及用户空间到内核空间的切换,实时性差
RT-Thread 应用模块介绍
• 动态加载的实现方式(4)
– 运行时链接方式
• ELF ,
采用解析 文件和内核符号表链接未决符号
• 实例如Linux,BSD的内核模块,Contiki, Vxworks,
RT-Thread, BREW MP的动态加载模块等,
• 实现较复杂,并且实现机制跟处理器体系结构相关
RT-Thread 应用模块介绍
• 动态加载的实现方式(5)
– API
内核 导出方式
• API API
将所有内核 存放在一个表中,表中的 偏移位
置固定,在加载应用程序时将该接表传给应用程序
,应用程序即可通过该表和具体偏移取得内核API
• 实例如Rockbox,BREW,BREW采用的是机制是
加载二进制COM组件,COM组件的本质是接口和
原创力文档


文档评论(0)