LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1635|回复: 3

分享:移植软件的经验

[复制链接]
发表于 2006-3-4 22:45:51 | 显示全部楼层 |阅读模式
我已经从事嵌入式Linux系统开发多年,这些年中,除了自己开发Linux系统外,还需要将大量的程序移植到某个陌生的系统上。在信息高速发达的今天,这也是符合时代潮流的,毕竟要快速搭建一个稳定的系统,不利用社会上现有的、成熟的软件模块是不可能的。所以相信以后移植工作会越来越多。
    那么移植软件是不是有理论可遵循呢?本人根据本人多年的经验,可以非常肯定的说:移植软件绝对不是一件体力活,它有高深的理论。
    首先,移植软件的时候,需要对此软件所假定的操作系统环境有非常深入的理解,同时也需要对移植后,此软件的运行环境有非常充分的了解。比如将vxworks中的ISR,移植到Linux系统时,你需要知道,vxworks对运行环境的假定,然后知道Linux所提供的运行环境。在比如,将标准Linux环境下的应用程序移植到嵌入式Linux环境中,你需要对标准Linux环境和嵌入式Linux环境到底存在那些区别有非常深入的了解。
    然后,在了解上述理论的前途下,你需要分析被移植软件,知道其对外的接口,同时知道如何操纵这些接口。比如,我在移植NTP的时候,发现NTP的核心已经完全符合要移植环境的要求,不需要对其核心进行分解,然后我就去分析此核心提供给用户的操作接口。分解提炼出此接口后,我通过自己写一套适合自己系统的简单程序来操纵此接口,从而非常容易的将NTP移植到我们的系统上,而且因为核心模块没有任何改动,所以移植后的软件工作非常稳定。
    最后,要给大家几个关于软件移植非常有效的观念。第一个是:西瓜理论,就是说,我们尽量不要破坏被移植软件理论的完整性,就是说不要更改其核心部分,如果更改了其核心,就相当于将一个完整的西瓜切开,再想收拾起来就非常困难了。好了,先说这些吧,以后的我好好想想先。
发表于 2006-3-9 09:37:22 | 显示全部楼层
请教对于操作系统的移植的经验。
回复 支持 反对

使用道具 举报

发表于 2006-3-9 16:33:09 | 显示全部楼层
要知道多少,才能到这个境界!
回复 支持 反对

使用道具 举报

发表于 2006-3-15 10:33:46 | 显示全部楼层
分享一下:
   板级移植就是修改寄存器的值
   片级移植需要修改驱动,复杂的多
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表