移植操作系统的首要工作是:决定目标系统资源的使用方式和权限管理策略,也就是常说的先
定个调。一般来说,移植操作系统,在动手写代码之前,至少应该确定以下几个策略:
1、 有许多 cpu 有多种运行模式,操作系统要安排好内核和应用程序代码分别在什么模式下运
行,应用程序代码有什么权限,使其各守本分,各司其职。
2、 分配内存空间,代码存放地址,运行时地址,数据存放地址,运行时地址,堆内存地址,
线程的栈地址,异常处理程序的栈空间,中断的栈空间等。
3、 系列化安排,嵌入式 cpu 都是系列化的 cpu,同一个内核,系列化型号,不同型号之间大同
小异,内核在适应不同型号 cpu 时,不应该修改代码,而是应该只修改配置文件。
4、 决定中断管理硬件如何与操作系统的中断模块匹配。
前三点是传统操作系统需要考虑的,而第四条是 djyos 独有的。这来源于 djyos 特有的中断管理
模块,传统操作系统对中断的管理很少,基本上不外乎提供以下几个功能:
1、 提供一个中断处理函数的封皮和封底,一般用汇编语言实现,使应用程序可以用普通 C 语
言函数的方式写 ISR。
2、 提供关中断和开中断的函数。
3、 提供中断连接函数,使中断发生时相应的应用程序 ISR 能被调用。
4、 设置中断 ISR 的栈指针。
5、 linux 提供了上下半部的管理功能,算是有一点管理,其实现方式虽然跟 djyos 的“中断同
步”完全不一样,但能实现相似的目的。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !