新闻中心

EEPW首页>嵌入式系统>设计应用> μClinux在S3C4510B上的移植

μClinux在S3C4510B上的移植

作者: 时间:2012-05-11 来源:网络 收藏

内核的编译和

作为操作系统的核心,μ内核负责管理系统的进程、内存、设备驱动程序、文件系统和网络系统,决定着系统的各种性能。μ内核采用模块化的组织结构,通过增减内核模块的方式来增减系统的功能。

内核配置,在产品列表中选择Samsung/4510B。在库的选择上选uC-libc。

(2)makedep

寻找依存关系。

(3)makeclean

清除以前构造内核时生成的所有目标文件、模块文件和一些临时文件。

(4)makelib_only

编译库文件。

(5)makeuser_only

编译用户应用程序文件。

(6)makeromfs

生成romfs文件系统。

(7)makeimage

(8)make

通过各个目录的makefile文件进行,会在各目录下生成一大堆目标文件。

上述步骤完成后,就完成了对μClinux源码的编译工作。我们可以在/μClinuxSamsung/images目录下看到2个内核文件:image.ram和image.rom。

其中iamge.rom可以直接烧写入Flash存储器中,当系统复位或上电时,内核自解压到SDRAM运行。Image.ram可以通过SDT载入到SDRAM中直接运行。

μCLinux的内核有2种可选的运行方式:可以在Flash上直接运行,也可以加载到RAM中运行。

Flash运行方式:把内核的可执行映像文件烧到Flash上,系统启动时从Flash的某个地址开始逐句执行。这种方法实际上是很多嵌入式系统采用的方法。

内核加载RAM方式:把内核的压缩文件存放在Flash上,系统启动时读取压缩文件在内存里解压,然后开始执行,这种方式相对复杂一些,但是运行速度可能更快。同时这也是标准Linux系统采用的启动方式。

6应用程序在μClinux上的开发

下面将介绍如何把一个应用程序(例如examplec)添加到μClinux上的过程。

首先进入μClinux-Samsung/user目录并建立一个自己的子目录,如myproject。将examplec复制到myproject目录下,并编写相应的makefile文件。接着进入user目录,增加一行语句到该目录下的makefile文件:

dir_$(CONFIG_USER_MAAPP_LEDNXY)+=myapp

切换到目录μClinuxSamsung/config下,打开configin这个文件,并在最后增加类似下面的语句:

mainmenu_optionnext_comment

comment'MyApplication'

bool'example'CONFIG_USER_MYPROJECT_

EXAMPLE

comment'MyApplication

endmenu

此后,在编译内核的makemenuconfig时就可以在CustomizeVendor/UserSetting(NEW)这一项的子菜单中选中自己的应用程序example,然后按第5节中相同的办法进行编译即可。

但是,如果我们每修改一次应用程序,就要把他加入到内核中重新编译,显然效率太低,也不可行。那么有什么方法来节省调试时间呢?

在上面的章节中曾提到Bootloader可以担当与主机端通信的任务,在这里我们就可以通过他把应用程序快速下载到目标板上。

首先通过elf2flt这个工具交叉编译example.c生成在μClinux下的可执行文件example(flat格式),命令如下:

arm-elf-gcc-Wall-o2-wl,elf2flt-oexampleexample.c

接着将宿主机与目标板通过串口线连接,并在宿主机上启动一个超级终端,例如minicom,选择好一个COM口(通常是串口1),设置波特率为19200,8个数据位、1个停止位,无校验。然后选择传输协议Zmodom,最后选定需要传输的文件example并发送。传输结束后可以通过超级终端在目标板的目录中发现example,这说明传输成功。

在目标板上将example加上x属性(可执行属性),然后输入命令/example就可以运行此程序了。显然,通过这种方法可以很方便快捷的调试应用程序,等调试结束,再把他加入到内核中一起编译即可。

7结语

讨论了如何将μClinux到ARM7体系微处理器上的基本流程,同时也简要的介绍了Bootloader以及应用程序的加载和调试方法。在不同的宿主机和目标板环境下,具体过程中可能会出现各种不同的错误或问题,可以充分利用GCC这个强大的工具,根据他的错误提示来一步步的进行修正,最终成功的移植μClinux。


上一页 1 2 下一页

关键词:移植S3C4510BClinux

评论


相关推荐

技术专区

关闭