Blackfin处理器是基于由美国模拟器件公司(ADI)和Intel公司联合开发的微信号架构(MSA)的首款第4代DSP产品,它是ADI公司16位产品的一个大系列。这一新产品是专为通信和互联网应用而设计的通用DSP芯片,适合处理广泛用于互联网中的大量图像、声音、文本和数据流,也可应用于汽车电子可视系统、宽带无线系统、消费类多媒体电子、数字摄像机、多通道VoIP、安全和监督、机顶盒和视频电话会议等方面。本文所用到的ADSP-BF533是Blackfin系
Blackfin处理器是基于由美国模拟器件公司(ADI)和Intel公司联合开发的微信号架构(MSA)的首款第4代DSP产品,它是ADI公司16位产品的一个大系列。这一新产品是专为通信和互联网应用而设计的通用DSP芯片,适合处理广泛用于互联网中的大量图像、声音、文本和数据流,也可应用于汽车电子可视系统、宽带无线系统、消费类多媒体电子、数字摄像机、多通道VoIP、安全和监督、机顶盒和视频电话会议等方面。本文所用到的ADSP-BF533是Blackfin系列处理器的典型代表。
1 μClinux简介
μClinux从Linux 2.0/2.4内核派生而来,沿袭主流Linux的绝大部分特性。它是专门针对没有MMU的CPU,并且为嵌入式系统做了许多小型化的工作。适用于没有虚拟内存或内存管理单元(MMU)的处理器。由于μClinux在标准的Linux基础上进行了适当的裁剪和优化,形成了一个高度优化的、代码紧凑的嵌入式Linux。虽然它的体积很小,但μClinux仍然保留了Linux的大多数的优点:稳定、良好的移植性、优秀的网络功能、完备的对各种文件系统的支持、以及标准丰富的API等。
μClinux的主要特点如下:
(1)内存管理
这部分是μClinux与传统Linux区别最大的地方。对于μClinux来说,其设计针对没有MMU的处理器,即μClinux不能使用处理器的虚拟内存管理技术,μClinux仍然采用存储器的分页管理。系统在启动时把实际存储器进行分页,在加载应用程序时程序分页加载,但是由于没有MMU管理,因此实际上μClinux采用实存储器管理策略。这一点影响了系统工作的很多方面。
(2)μClinux的内核加载方式
μClinux的内核有2种可选的运行方式:可以在FLASH上直接运行,也可以加载到内存中运行。由于RAM的存取速率要比FLASH高,因此后者可以减少内存需要,运行速度也更快。
(3)μClinux的文件系统
μClinux系统采用romfs文件系统。这种文件系统相对于一般的ext2文件系统要求更少的空间。这是由于内核支持romfs文件系统比支持ext2文件系统需要更少的代码,而且romfs文件系统相对简单建立文件系统超级块(superblock)需要的存储空间更少。
(4)μClinux的应用程序库
μClinux小型化的另一个做法是重写应用程序库。相对于越来越大且越来越全的库glibc μClibc对libc做了精简。
(5)可执行文件格式
μClinux系统使用flat可执行文件格式。另外,μClinux还提供通用的Linux API支持完整的TCP/IP协议堆栈和大量其他的网络协议,支持包括NFSext2ROMfs等多种文件系统。
2 建立μClinux开发环境
嵌入式系统的开发与一般的应用开发最大的差别在于,前者需要建立特殊的硬件环境,而后者一般基于特定的操作系统或分布式平台。后者的平台已经对硬件或网络媒质做了抽象,从而不需要由系统开发者来完成这些工作。而在嵌入式系统开发中,这也由开发者完成。
嵌入式系统开发环境一般分成主机端(HOST)和目标板(TARGET)两个部分。主机端是开发平台,用于运行开发过程中的各种工具(如Linux操作系统和ADI提供的集成开发环境Visual DSP++等);目标板是运行和测试平台,是嵌入式系统的最终驻留环境。在主机端和目标板之间需要通过某种方式进行通信,如使用RS 232串口或网口。通信的目的在于发送控制指令和传输数据,同时获得反馈信息。图1是系统移植工作的硬件环境。
目标板的硬件平台如图1所示: