发信人: leoo (888888), 信区: Unix_Linux
标 题: uClinux的移植
发信站: BBS汕头大学郁金香站 (Fri Mar 14 13:16:45 2003), 转信
uClinux的移植
由于mClinux其实是Linux针对嵌入式系统的一种改良,其结构比较复杂,相对mC/O
S,mClinux的移植也复杂得多。一般而言要移植mClinux,目标处理器除了应满足上述m
C/OS应满足的条件外,还需要具有足够容量(几百K字节以上)外部ROM和RAM。
mClinux的移植大致可以分为3个层次:
·结构层次的移植,如果待移植处理器的结构不同于任何已经支持的处理器结构,
则需要修改linux/arch目录下相关处理器结构的文件。虽然mClinux内核代码的大部分是
独立于处理器和其体系结构的,但是其最低级的代码也是特定于各个系统的。这主要表
现在它们的中断处理上下文、内存映射的维护、任务上下文和初始化过程都是独特的。
这些例行程序位于linux/arch/目录下。由于Linux所支持体系结构的种类繁多,所以对
一个新型的体系,其低级例程可以模仿与其相似的体系例程编写。
·平台层次的移植,如果待移植处理器是某种mClinux已支持体系的分支处理器,则
需要在相关体系结构目录下建立相应目录并编写相应代码。如MC68EZ328就是基于无MMU
的m68k内核的。此时的移植需要创建linux/arch/m68knommu/platform/ MC68EZ328目录
并在其下编写跟踪程序(实现用户程序到内核函数的接口等功能)、中断控制调度程序和
向量初始化程序等。
·板级移植,如果你所用处理器已被mClinux支持的话,就只需要板级移植了。板级
移植需要在linux/arch/?platform/中建立一个相应板的目录,再在其中建立相应的启动
代码crt0_rom.s或crt0_ram.s和链接描述文档rom.ld或ram.ld就可以了。板级移植还包
括驱动程序的编写和环境变量设置等内容。
--
好像一场梦,至今未醒
※ 来源:·BBS汕头大学郁金香站 bbs.stu.edu.cn·[FROM: 202.96.144.222]