上海妇科疾病研究所 上海女性不孕医院 上海引产医院 无痛引产痛不痛 上海人流医院 白癜风治疗医院 上海小儿脑瘫医院 上海女子医院
U-Boot在ADSP-BF533上的移植-UCLinux-技术中心-国内专业ADI仿真器,Blackfin开发板,DSP芯片,软件算法,解决方案提供商-北京四维卓信电子有限公司
用户名: 密码:
主页 设为首页 加入收藏
      产品中心       技术中心       下载中心        社区新闻        诚聘英才       大学计划        关于我们       技术论坛
  您的当前位置:ADSP开源社区 >> 技术中心 >> UCLinux 今天是:
技术中心  
SigmaDSP
SHARC
Blackfin
TigerSAHRC
UCLinux
ADSP-218X
视频培训
ADI DSP仿真器
产品导航
ADI DSP仿真器
ADI DSP开发平台
解决方案&技术服务
ADI DSP芯片
销售网络
UCLinux  
U-Boot在ADSP-BF533上的移植
[ 作者:admin ] [ 来源:ADSP开源社区 ] [ 发布时间:2011-03-28 ]
ADSP-BF533处理器是ADI公司新推出的一款Blackfin系列DSP,他具有2个MAC,集成了大量的外围设备和存储器接口,最高处理速度高达750 MHz,每秒运算速度最高达到1 500 MMAC(兆次乘法加法运算),适用于各种视频、音频、通信领域;另外该系列处理器所采用的微信号体系结构使其集DSP和MCU的功能于一身,大大方便了开发者的使用。

  U-Boot(Universal Boot Loader)是遵循GPL条款的开放源码项目,由德国工程师Wolfgang Denk从8xxROM代码发展而来,已经在许多嵌入式系统开发过程中被采用。U-Boot的源代码配置裁剪方法简单、易于移植,提供十分强大的网络功能,支持多种文件格式的下载,其软件项目经常更新,最新的U-Boot 1.1.6支持的处理器体系结构包括有ARM,Intel i386,Intel XScale,MIPS,Blackfin,MPC,NIOS,NIOS 2和PowerPC。

  将U-Boot移植到Blackfin系列的DSP之上,发挥出U-Boot这一bootloader所具有的优势,在基于DSP芯片的嵌入式系统的后续开发中,降低开发难度,缩短开发周期。本文将介绍U-Boot在ADSP-BF533上移植的实现过程。

  1 移植实例

  此次移植是在基于ADSP-BF533的evb533开发板上实现,以Colinux(Cooperative Linux)作为编译的平台完成。所用的开发板的主要配置如下:处理器:基于Blackfin体系结构的ADSP-BF533;FLASH:1 M×16 b共2 MBAMD AM29LV160DB(NOR FLASH);SDRAM:16 M×16 b共32 M,HY HY57V651620BTC10P;以太网控制器:CIRRUS LOGIC CS8900A-CQ3;串行通信接口:2个标准RS 232接口;以太网接口:1个RJ-45以太网接口;调试接口:1个14针JTAG接口;仿真器:Embest DSP仿真器EasyIce。

  1.1 交叉编译工具链以及编译平台

  关于交叉编译工具链的选择,可从blackfin网站下载编译器的源代码binutils,elf2flt,gcc,编译得到支持black-fin系列的交叉编译器,编译过程如下所示:

程序

程序

  关闭当前所有的终端窗口之后,再打开终端窗口,输入bfin-uclinux-gcc-version并回车,如果能看到有输出“bfin-uclinux-gcc(GCC)3.4.4”即代表交叉编译环境的安装工作结束。

  编译的平台Colinux是一种对Linux kernel的移植,让一台机器可以协同运行不同的操作系统,Colinux不同于VMware等虚拟机器,其本身并不是模拟一台PC,而是透过他本身的特殊设计,让在其中运行的Linux kernel直接使用windows的硬件资源。

  1.2 下载最新的U-Boot源代码

  U-Boot项目注册在SourceForge.net中,项目的主页位于http://sourceforge.net/projects/u-boot/,提供了U-Boot的最新稳定发行版本源代码的下载。目前最新稳定发行版本是u-boot-1.1.6,该发行版本加入了对blackfin系列处理器的支持。在其源代码包中,部分目录结构如下:board目录下是U-Boot目前已支持的目标板相关文件;CPU目录下是U-Boot支持的CPU体系结构的相关文件,本文相应处理器所需要的相关文件是bf533目录;drivers目录下是开发板上一些通用设备的驱动程序;include目录下是U-Boot所需要的头文件,其中的configs子目录放置的是对应开发板的配置文件;lib_blackfin目录下放置的是与blackfin体系结构相关的代码。

  1.3 移植时需要修改的文件

  移植所需要修改的文件可以参照U-Boot源代码包中已经支持的ezkit533目标板中的对应文件。

  (1)修改顶层目录下的Makefile和MAKEALL脚本,为要进行移植的目标板添加相应的条目,首先是为该bf533芯片所在的实验板建立编译项:

程序

  编译项中的mkconfig是uboot源码顶层目录中的shell脚本,他的主要任务是完成对evb533开发板的配置;参看其脚本,完成的配置包含的主要是建立该开发板所需要的一些头文件,修改uboot配置来适应具体的开发板。该连接脚本具体包含以下4个方面:创建新的配置文件;创建该实验板对应的体系结构头文件到/include下/asm之间的硬链接(使用ln命令);创建make所需要的include文件;创建开发板所需要的头文件,在evb533开发板上主要是将include目录下的configs/evb533.h的内容写到config.h文件中。

  (2)在board子目录中建立evb533目录,该目录下应该包含几个特定的文件,应该包含Makefile,evb533.c,flash.c,config.mk和u-boot.lds。其中evb533.c是对目标板的初始化代码;flash.c是目标板所使用FLASH的驱动代码;Makefile与config.mk来完成本层目录的make-file文件管理;u-boot.lds是最终连接成u-boot.bin文件是所使用的连接脚本。

  (3)新建include/configs/evb533.h配置文件,针对要进行移植的目标板进行正确配置。

  (4)在drivers子目录中加入实验箱所使用的网卡设备的驱动cs8900.c和cs8900.h。

  完成这4处的文件修改后,就可以运行make evb533_config对开发板进行配置,然后运行make编译成目标板可用的u-boot.bin文件。

  通过将Embest DSP仿真器EasyIce连接到开发板JTAG口,将该bin文件烧写到FLASH零地址,烧写完成后,重启开发板,在串口中返回“evb533>”信息,代表U-Boot移植运行成功。本文所移植的U-Boot目前已稳定地运行在EduKitⅢ嵌入式实验箱上。通过U-Boot可以实现串口、网口与PC通信,查看、修改FLASH和SDRAM,引导μClinux嵌入式系统等功能。

联系我们 | 关于我们 | 免责声明 | 诚征英才 | 友情链接
Copyright 2019 All rights reserved  本网页版权属Open ADSP所有
北京海淀区中关村大街32号新中发市场3659 邮编100100
电话 18611096839 
粤ICP备14035876号-1