首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

μClinux嵌入式系统移植与开发 03

μClinux嵌入式系统移植与开发 03

如图1所示,并会执行μClinux的固化内核。

U-Boot可以使用ADI的仿真软件Visual DSP++通过仿真器或JTAG口下载到目标板上。
4 μClinux内核的编译和移植
作为操作系统的核心,μClinux内核负责管理系统的进程、内存、设备驱动程序、文件系统和网络系统,决定着系统的各种性能。μClinux内核采用模块化的组织结构,通过增减内核模块的方式来增减系统的功能。
4.1 内核配置
虽然μClinux的内核代码大部分独立于处理器和其体系结构,但是最底层的代码还是基于特定系统的。虽然各个系统存在相同之处,但是它们的中断处理上下文、内存映射的维护、任务上下文和初始化过程是独特的。这些例行程序放置在μClinux代码树的arch/目录下。这里需要根据自己的硬件平台来配置内核代码。配置过程如下:
可以从官方网站http://blackfin.μClinux.org处下载μClinux-list的内核源代码。运行解压命令:将tar-xvfμClinux-dist.tar.gz解压完毕后,就会生成/μClinux-dist目录,加入该目录后按如下顺序编译内核:
(1)make menuconfig;进入菜单方式配置指令;
(2)选择所使用的平台类型和所使用的库
本文设计的目标板选择:AnalogDevices/BF533-EZ-KIT和μC-libc库。在配置栏中,选择Load an AlternateConfiguration File,按确认,退出配置栏;
(3)make dep;寻找依存关系;
(4)make clean;清除以前构造内核时生成的所有目标文件、模块文件和一些临时文件;
(5)make lib_only;编译库文件;
(6)make user_only;编译用户应用程序文件;
(7)make romfs;生成romfs文件系统;
(8)make image;生成镜像文件然后通过Jtag口输入到目标板;
(9)make;通过各个目录的makefile文件进行,会在各目录下生成一大堆目标文件。
在上述步骤完成后,就完成了对μClinux源码的编译工作。最后会在/μClinux-dist/images目录下看到3个内核文件:linux.dxe,linux.bin和zImage.bin。如果编译不成功,需要根据编译过程的提示信息找到错误并重新编译,直到成功为止。
4.2 修改配置内核代码
直接由源代码编译生成的内核映像文件一般不会启动成功,需要根据自己的目标板进行配置。需要修改系统启动初始化文件crt0_ram.s,sysinit.c和ram.ld。
在crt0_ram.s中需要根据自己的目标板修改基地址、存储器大小和起始地址。在sysinit.c中需要修改片选设置,分别对FLASH和SDRAM进行片选设置。在ram.ld中修改内核连接加载地址。做完上面的修改,重新编译生成linux.dxe等文件。
返回列表