新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于ADSP―BF533的μClinux嵌入式系统移植与开发

基于ADSP―BF533的μClinux嵌入式系统移植与开发

作者:时间:2009-04-07来源:网络收藏

U―Boot具有源码公开的特点,人员可根据自身需要进行裁减;支持多种处理器和操作内核;具有多种设备驱动源码:支持种引导方式;具有功能强大且成熟、稳定等诸多优点,故本文采用U―Boot引导μ内核。U―Boot严重依赖于底层硬件,不同的CPU或板极设备需要不同的U―Boot,不过因为本文的重点是μ,所以这里不再详述U―Boot的具体实现过程。
上电后,U―Boot从地址OxO开始执行,将存储器映射重新配置,如图1所示,并会执行μ的固化内核。

本文引用地址:http://www.eepw.com.cn/article/152551.htm

U一Boot可以使用ADI的仿真软件Visual DSP++通过仿真器或JTAG口下载到目标板上。


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

linux操作系统文章专题:linux操作系统详解(linux不再难懂)


评论


相关推荐

技术专区

关闭