论文研究-基于S3C44B0X的U-boot的研究与移植 .pdf

所需积分/C币:9 2019-08-15 17:07:47 366KB .PDF
5
收藏 收藏
举报

基于S3C44B0X的U-boot的研究与移植,孙垂莲,杨厚俊,针对开发时所使用的基于S3C44B0X处理器为核心的UP-NETARM3000开发平台,本文简要介绍了该开发平台的硬件环境以及Bootloader的主要作用,研��
山国科技论文在线 http://www.paper.edu.cn 交叉编译环境的建立 由于嵌入式系统资源的限制,进行嵌入式开发通常采用交叉编译的方式,即在主机(PC 机)上编写、调试、编译程序,然后下狨到目标板上运行。因此,首先要在主机上建立·个 运行环境。父叉编译就是在主机平台Host上生成目标平台 Target上的可执行代码。在系统开 发初始阶段,即在编译u-boot,修改 Linux内核及配置驱动程序之前,首先要在开发主机上构 建一个开发环境。开发环境可以自己搭建,也可以下载一些编译好的可用交叉编译工具链直 接使用。夲文采用的是在主积上安裝 Redhat linux操作系统以及下毂已编译好的可用交叉编 译工具链来建立交叉编译环境,具体过程为:首先从网上下载编译工具 arm-elf-tools20030314sh,接着在工作日录下运行 sh arm- elf-tools-20030314sh命令来安装编 译器,最后在 etc/bashrc文件中修改PATH坏境变量,即添加下一行代码: export PATH= /usr/local/ bin: SPATH并保退出,关闭终端重新开启终端,输入命令arm-elf-gccv来 测试安装的交叉编译器是否成功安装。 目录介绍 在工作目录下解压源码包 u-boot-1.14 tar bz2后,会产生一个u-boot-1.1.4目录,该目录下 含有人量的子目录,下面对本文进行移植时用到的几个常用目录作一些简单说明 board:和一些己有开发板有关的文件。每一个开发板都以一个子日录出现在当前口录 中。子目录中存放与开发板相关的配置文件, common:实现 ubooti命令行下支持的命令,每条命令都对应·个文件。例如 boot命 令对应就是 cmd bootm. c。 cpu:与特定CPU架构相关目录,每一款u-boot下支持的CPU在该目录下对应一个子目录 drivers:u-boot支持的设备驱动程序都放在该目录下,如各种网卡、串口和USB等。 include:u-boot使用的头文件,还有对各种硬件平台支持的汇编文件,系统的配置文件 和对文件系统支持的文件。该目录下的 configs目录中有与开发板相关的配置头文件 移植过程 现在开始栘植工作(注:以下所有架作都是在u-boot-1.1.4目录下进行的): 1)编辑 Makefile文件,为它迭择本文安装的交义编译器(arm-elf-ools-20030314.sh)。具体 设置如下: ife (S(ARCh), arm) CROSS COMPILE =/usr/local/bin/arm-elf- endit 2)针对所用的S3C44B0X板子,建立自己的开发板:# cd u-boot114; d board:#cp-Rda sclboard: ttcd sclboard: *my B2 sclboards3c44b0: #cd sclboards3c44b0 my B2.c sclboards3c44b0.c其中 seaboards3c4b0是自己取的开发板名称,打开 seaboards3c44b0里面 的 Makefile文件,把B2改成 seaboards3c44b0 3)建立配置头文件: cp include/ configs/B2 h seaboards3c4460,引导程序严重的依赖于硬件, 所以要针对本文用的 UP-NETARM3000的S3C44B0X开发板米设置具体的时钟频率、网络 控制芯片地址、波特率、 SDRAM和 Flash的地址及大小,S3C44B0X开发板具体的设置为: #define CONFIg S3C44B0 CLOCK SPeed 66 #defin CONFIG DRIVER RTL8019 山国科技论文在线 http://www.paper.edu.cn #dcfinc rtl8019 BASE 0x0a000600 #define CONFIG SMC USE 16 Bll Adeline CONFIG BAUDRATE 115200 #define PHYS SDRaM 1 0x0c000000 #dcfinc PHYS SDRAM I SIZe 0x00800000 #define PHYS Flash 1 0x0000000 #define PHYS FLASH SIZE 0x00200000 #define CFg EnV Is In flash 1 #undef CFG ENV IS IN NOWhere #define CFG ENV ADDR (PHYS FLASH I+0x20000) #define CFG ENV SECT Size 0x10000 并将1 C EEPROM部分仝部注释掉。 4)编辑 board./ sclboard/ sclboards3c44b0/ seaboards3c44b0.c文件,主要是一些相关端口寄存器 的设置,为了能够驱动RTL8019AS网络控制芯片,要将该文件中的EXTⅠNT设置为0x40。 5)依照廾发板的内存区的配置情况,修改 board sclboard/ seaboards3c44b0 lowlevel init.S文 件,并设置好刷新寄存器的刷新计数值 6)修改cpus3c44b0/ serialc文件,针对所用开发板设置时钟频率和分频因子 case 115200 #if CONFIG S3C44B0 CLOCK SPEED==66 divisor =35 7)cpu/s3c44b0/ start. S文件 u-bo的 stagel代码通常放在sart.S文件中,它用汇编语言写成,主要完成定义入口、设 置异常向量等等的初始化工作。木文所用的S3C4.0X廾发板的Fplo(系统主频)为66MH∠ Fin(晶振的频率)为6MHz,因此将 PLLCON的设置如下 if CONFIg S3C44B0 CLOCK SPEED-66 Idr rO=Ox7c041 8)RTL8019AS网络控制芯片的驱动设置 由于u-bot-1.1.4支持的是8位数据总线的终控制驱动,而S3C44B0X开发板上自带的 RTL8019AS是16位数据总线的网络控制芯片,所以应该修改 drivers/r8019h文件,以使其文 持S3C44B0X开发板上的是16位数据总线的RIL8019AS网终控制芯片,具体修改如下: 并 define ETH ADDR SFT #define EI SHIFT(x) ((X<<EITH ADDR SFT) #define rtl8019 REG 0O (RTL8019 BASE+EI SHITF(OX00)) 只有进行了正确的网终驱动修改,后面才能在u-boot中用ttp命令来下载编译好的inx内核。 9)在 Makefile中为开发板添加新的配置选项: lboards3c44b0 config: unconlig imkconfig S(@: config=)arm s3c44b0 sclboard3 c44b0 sclboard 10)在u-boot-1.1.4目录下执行如下命令米编译u-boot: make distclean makc sclboards3 c44b0 config make 编译成功后,将生砀三个文件 u-boot ELF柊式的文件。 4 山国科技论文在线 http://www.paper.edu.cn u- boot, bin--u-boot二进行制执行代码,用于烧写到廾发板中。 u- boot srec-Motorola s- Record格式,可以通过串凵下载到开发板中 的烧写及运行结果 本文是通过 Uarm Itag将生成的u- boot bin文什烧写到目标平台的0x0地址,配置 Windows 下的超级终端,注意配置的串口及串口波特率要与u-boot中设置的一样,按复位键或上电重 启目标平台后可以在超级终端中看到u-boot在系统中运行了。u-boot超级终端中运行的结 果如下 件I编统( uC传T新卧m 占: u-Bot1.14(Jum232088-1:43:1) U-BooL code: C300000-> gC31B1Ch BSs:-> 0C31F/90 RAM COLI「isur 10008 MB serial serial Hi t any key to stop autoboot aboot=x 0:0403STW 1152008--1sc1 1打 图2u-bot运行结果 结论 由于Linuⅸx丌放源代码的特点,嵌入式Liux操作系统在嵌入式系统中的应用也将得到进 一步的发展和扩大。在移植时,要清楚u-boot的引导过程,在进行具体只体的移植工作之前, 必须根据硬件平台和系统功能,修改必要的文件。目前,本文已经成功地将引导程序u-boot 移植到基于S3C44B0X的开发板上。 本文作者创新点:从如何将嵌入式引导程序 u-boot与特定硬件相结合出发,成功地将 u-boot移植到 Samsung公司生产的以S3C44B0X为核心的 UP-NETARM3000实验平台上,实现 引导程序u-boot在该实验平台上的移植。 参考文献 [1]杨虹,徐超强李杨基于S3C4160X的U-Boot的分析与移植[J电脑开发与应用,2008. [2]孙天泽,袁文菊.《嵌入式设计及Inx驱动开发指南》MJ电子|业出版社,2007 [3]山泽.《嵌入式系统开发与应用》M北京航空航天大学出版社,2004 4]李玉泉陈珂余子全等基于S3(44!0X的U-boot分析与移植山微计算机信息,2007 5]北京博创科技有限公司 UP-NETARM300说明1RJ北京博创兴业科技有限公司,2005 山国科技论文在线 http://www.paper.edu.cn SUN Chui-lian, YANG hou-jun, FAN yan-bin College of Information Enginccring, Qingdao Univcrsity, Qingdao(266071) Owing to use the UP-NETARM3000 board as a platform, which is based S3C44B0X of Samsung, this paper discussed the information of the hardware and the function of u-boot and studied the related hardwares information of Bootloader, At the same time, this paper discussed the related preparation work and the transplantation process of u-boot, analyzed the critical transplantation codes, and finally realized the operation of u-boot in UP-NETARM3000 develop board S3C44B0X; Bootloader; u-boot; transplantation

...展开详情
试读 6P 论文研究-基于S3C44B0X的U-boot的研究与移植 .pdf
立即下载 低至0.43元/次 身份认证VIP会员低至7折
一个资源只可评论一次,评论内容不能少于5个字
weixin_39840650 如果觉得有用,不妨留言支持一下
2019-08-15
  • 至尊王者

    成功上传501个资源即可获取
关注 私信 TA的资源
上传资源赚积分or赚钱
    最新推荐
    论文研究-基于S3C44B0X的U-boot的研究与移植 .pdf 9积分/C币 立即下载
    1/6
    论文研究-基于S3C44B0X的U-boot的研究与移植 .pdf第1页
    论文研究-基于S3C44B0X的U-boot的研究与移植 .pdf第2页

    试读结束, 可继续阅读

    9积分/C币 立即下载 >