当前位置:首页 > 电源 > 数字电源
[导读]Blackfin处理器是基于由美国模拟器件公司(ADI)和Intel公司联合开发的微信号架构(MSA)的首款第4代DSP产品,它是ADI公司16 位产品的一个大系列。这一新产品是专为通信和互联网应用而设计的通用DSP芯片,适合处理广泛用

Blackfin处理器是基于由美国模拟器件公司(ADI)和Intel公司联合开发的微信号架构(MSA)的首款第4代DSP产品,它是ADI公司16 位产品的一个大系列。这一新产品是专为通信和互联网应用而设计的通用DSP芯片,适合处理广泛用于互联网中的大量图像、声音、文本和数据流,也可应用于汽车电子可视系统、宽带无线系统、消费类多媒体电子、数字摄像机、多通道VoIP、安全和监督、机顶盒和视频电话会议等方面。本文所用到的ADSP一 BF533是Blackfin系列处理器的典型代表。

l μClinux简介
    μClinux从Linux 2.0/2.4内核派生而来,沿袭主流Linux的绝大部分特性。它是专门针对没有MMU的CPU,并且为嵌入式系统做了许多小型化的工作。适用于没有虚拟内存或内存管理单元(MMU)的处理器。由于μClinux在标准的Linux基础上进行了适当的裁剪和优化,形成了一个高度优化的、代码紧凑的嵌入式 Linux。虽然它的体积很小,但μClinux仍然保留了Linux的大多数的优点:稳定、良好的移植性、优秀的网络功能、完备的对各种文件系统的支持、以及标准丰富的API等。
    μClinux的主要特点如下:
    (1)内存管理
    这部分是μClinux与传统Linux区别最大的地方。对于μClinux来说,其设计针对没有MMU的处理器,即μC1inux不能使用处理器的虚拟内存管理技术,μClinux仍然采用存储器的分页管理。系统在启动时把实际存储器进行分页,在加载应用程序时程序分页加载,但是由于没有MMU管理,因此实际上μClinux采用实存储器管理策略。这一点影响了系统工作的很多方面。
    (2)μC1inux的内核加载方式
    μClinux的内核有2种可选的运行方式:可以在FLASH上直接运行,也可以加载到内存中运行。由于RAM的存取速率要比FLASH高,因此后者可以减少内存需要,运行速度也更快。
    (3)μClinux的文件系统
    μClinux系统采用rotors文件系统。这种文件系统相对于一般的ext2文件系统要求更少的空间。这是由于内核支持romfs文件系统比支持 ext2文件系统需要更少的代码,而且romfs文件系统相对简单建立文件系统超级块(superblock)需要的存储空间更少。
    (4)μClinux的应用程序库
    μClinux小型化的另一个做法是重写应用程序库。相对于越来越大且越来越全的库glibc μClibc对libc做了精简。
    (5)可执行文件格式
    μClinux系统使用flat可执行文件格式。另外,μClinux还提供通用的Linux APl支持完整的TCP/IP协议堆栈和大量其他的网络协议,支持包括NFSext2ROMfs等多种文件系统。

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之一。其完成的功能是初始化硬件设备、改变处理器运行模式、重组中断向量和建立内存空间映射图,从而将系统的软硬件带到一个合适的状态或者用户定制的特定状态,以便为最终加载操作系统内核准备好正确的环境。[!--empirenews.page--]
    U—Boot具有源码公开的特点,开发人员可根据自身需要进行裁减;支持多种处理器和嵌入式操作系统内核;具有多种设备驱动源码:支持种引导方式;具有功能强大且成熟、稳定等诸多优点,故本文采用U—Boot引导μClinux内核。U—Boot严重依赖于底层硬件,不同的CPU或嵌入式板极设备需要不同的U—Boot,不过因为本文的重点是μClinux的移植,所以这里不再详述U—Boot的具体实现过程。
    当系统上电后,U—Boot从地址OxO开始执行,将存储器映射重新配置,如图1所示,并会执行μClinux的固化内核。

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/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 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所示。[!--empirenews.page--]

5 在μClinux下添加应用程序
    为了方便,μClinux用户层的应用程序代码都放在/μClinux—dist/user/目录下,否则要自己重新定义很多宏,而且容易出错。具体实现过程如下:
    (1)在工作目录的user目录下创建应用程序的文件夹user/app然后编写应用程序,编写方法和普通的应用程序一样;
    (2)在文件/user/Makefile里添加如下一句以便把用户的应用加入到μClinux系统的编译列表中;

    dir_MYM(CONFIG_USER_MYAPP)+=app

    (3)在/config/config.in里加入如下语句:

这样在编译时会多1个配置选项,当选择这一选项时,字符串“CONFIG USER MYAPP”就会定义为“Y,参考上一个步骤,dir Y+=app,应用会被编译入内核

    (4)为便于内核配置在/eonfig/config.help中加入有关该应用的帮助说明;
    (5)回到/μClinux—dist目录,执行make编译μClinux系统内核和这里的应用程序。

6 结 语
    对于嵌入式系统开发人员来说,要将嵌入式操作系统应用到嵌入式系统中,首先要做的工作是根据不同的硬件平台移植操作系统,掌握移植的方法非常重要。
    本文所述的移植方法已经成功应用于多个项目的开发。所述的移植虽然是针对Blackfin处理器芯片ADSP-BF533,但重点阐述的是移植的思路和方法。对将μClinux移植到其他处理器为核心的硬件平台也有借鉴作用。
    本文从如何将嵌入式操作系统μClinux与特定硬件相结合出发,分析移植μClinux到ADSP-BF533的过程。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭