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

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

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

2 建立μClinux开发环境
嵌入式系统的开发与一般的应用开发最大的差别在于,前者需要建立特殊的硬件环境,而后者一般基于特定的操作系统或分布式平台。后者的平台已经对硬件或网络媒质做了抽象,从而不需要由系统开发者来完成这些工作。而在嵌入式系统开发中,这也由开发者完成。
嵌入式系统开发环境一般分成主机端(HOST)和目标板(TARGET)两个部分。主机端是开发平台,用于运行开发过程中的各种工具(如Linux操作系统和ADI提供的集成开发环境Visual DSP++等);目标板是运行和测试平台,是嵌入式系统的最终驻留环境。在主机端和目标板之间需要通过某种方式进行通信,如使用RS 232串口或网口。通信的目的在于发送控制指令和传输数据,同时获得反馈信息。图1是系统移植工作的硬件环境。
目标板的硬件平台如图1所示:

主机端的PC使用COM1和BF533的UART相连接,通过串口完成对目标板的必要控制功能。本文设计的ADSP-BF533目标板上配备有1块SMSC LAN91C111以太网卡芯片和主机端建立原始(raw)IP连接,使用链路层地址完成大批量数据的传送。
在硬件环境建立之后,就需要创建软件开发环境。软件环境主要是指Blackfin体系结构的交叉编译环境。建立交叉编译环境首先要有交叉开发工具。交叉编译工具是指一组运行在某一种处理器上,却可以编译出另一种处理器上执行的指令的工具。它由一套用于编译、汇编和链接内核及应用程序的组件组成,通过编译可以使μClinux内核和应用程序在目标设备上运行。
编译μClinux一般使用GNU开发套件作为交叉编译器工具链,它包括一系列的开发和调试工具。在官方网站http:∥blackfin.μClinux.org上提供了Blackfin系列处理器内核的交叉编译工具。下载后按照说明解压到Linux系统的相应文件夹里,并设置系统环境变量,使这些交叉编译工具所在的目录为全局环境变量。至此就建立好了μClinux的软件开发环境。
3 利用U-Boot引导内核

U-Boot(Universal Boot Loader)是当前比较流行的遵循GPL条件的开放源码项目。也是是嵌入式Linux系统常用的Boot Loader之一。其完成的功能是初始化硬件设备、改变处理器运行模式、重组中断向量和建立内存空间映射图,从而将系统的软硬件带到一个合适的状态或者用户定制的特定状态,以便为最终加载操作系统内核准备好正确的环境。
U-Boot具有源码公开的特点,开发人员可根据自身需要进行裁减;支持多种处理器和嵌入式操作系统内核;具有多种设备驱动源码:支持种引导方式;具有功能强大且成熟、稳定等诸多优点,故本文采用U-Boot引导μClinux内核。U-Boot严重依赖于底层硬件,不同的CPU或嵌入式板极设备需要不同的U-Boot,不过因为本文的重点是μClinux的移植,所以这里不再详述U-Boot的具体实现过程。
当系统上电后,U-Boot从地址OxO开始执行,将存储器映射重新配置,
返回列表