基于S3C2410嵌入式设备的U-Boo移植及自启动的实现

发布者:Aq123456258最新更新时间:2018-02-05 来源: eefocus关键字:S3C2410  嵌入式设备  U-Boo移植  自启动 手机看文章 扫描二维码
随时随地手机看文章

  S3C2410是三星公司针对嵌入式系统推出的高性价比微处理器,它是基于ARM9TDMI内核的16/32位RISC处理器,工作主频为200MHz。由于现有的Linux系统引入了设备文件的概念,读写串口可以像读写普通文件一样进行操作,非常方便。

  一、Linux系统的安装

45


  安装过程首先出现欢迎对话框,如上图所示。Red Hat先后会询问用户使用何种语言、用户使用的键盘类型(默认选项为美式键盘)以及安装软件的位置(选择本地CD -ROM)等许多需用户选择的问题。

  使用Disk Druid建立Linux文件系统然后通过PC机对开发板进行设置,并执行以下命令,从而对开发板进行内核及文件系统的烧写工作:

56

56

     此时,关闭开发板电源,接上LCD。重新启动开发板,LCD上将出现QT的定标程序,定标后就进入QT的接口。

  二、U-Boot启动程序及流程

  U-Boot是在PC- Boot的基础上进化而来的一个开源的嵌i入式Boot Loader。它主要完成了系统环境的初始化,将后期执行j代码复制到SDRAM空间,为Linux内核的运行提供条件。根据{其功能实现方式的不同可以分为两个阶段。可以通过修改配置应用到其他的开发板上。所以,选择U-Boot不仅能应用于S3C2410,而且能为以后在其他开发板上的研究提供基础。

  本文选择最常见的版本U-Boot -1.1.6为例介绍U- Boot的启动和相关移植程序。

  1.U-Boot运行前期阶段  ARM系列处理器在上电或复位时从物理地址Ox00000000处开始执行,此处也是第一片Flash所使用的存储空间的起始位置,而U-Boot就存放在Flash的最前端。U - Boot第一阶段由汇编语言实现,以达到短小精悍的目的,主要完成系统硬件环境的初始化,其工作流程如下图所示。

43

  U - Boot在这一步的启动过程中,需要初始化启动环境,然后完成对后续工作的准备,诸如串口、网口、Flash等硬件设备的初始化工作,将kernel映像和根文件系统映像从Flash上读到RAM空间中,同时调用已经下载好的内核。

  2.U-Boot运行后期阶段在完成了启动环境初始化时,进入到后期启动阶段。此部分的代码用C语言来实现,以便于实现更复杂的功能和取得更好的代码可读性和可移植性。函数_start_armboot0是执行映像的入口点。

  (1 )U-Boot必要的初始化工作:系统初始化至少一个串口,以便和终端用户进行I/O输出信息,包括系统信息和操作菜单等;初始化计时器,方便读秒计时;初始化Flash,注册Flash操作函数,为实现Flash读写做准备。在加载程序U- Boot中可以通过kermit协议从宿主机接收可烧写的二进制文件,将该文件先放置于SDRAM中,然后通过NORFlash操作程序来完成对NORFlash AM29LV160DB的擦除,并将文件烧写到NORFlash中。后期的工作流程如图所示。

34

  (2)使用TFTP网络协议下载Linux操作系统:在加载程序U-Boot中包含TFTP网络下载文件方式,其下载速度比Kermit协议方式速度快几十倍,可大大节省文件下载时间,极大的简便了嵌入式程序的调试方法。

  因为TFTP使用UDP,而UDP使用lP,lP还可以使用其它本地通信方法。因此一个TFTP包中会有以下几段:本地媒介头,lP头,数据报头,TFTP头,剩下的就是TFTP数据了。TFTP在lP头中不指定任何数据,但是它使用UDP中的源和目标端口以及包长度域。由TFTP使用的包标记(TID)在这里被用做端口,因此TID必须介于0—65,535之间。TFTP头中包括两上字节的操作码,这个码指出了包的类型,可以根据TFTP包格式进行必要的移植工作。

  三、U-Boot的移植流程

  不同的板极硬件配置要求进行U-Boot的移植工作,移植U-Boot的工作包括添加开发板硬件相关的文件、配置U- Boot,然后编译。U-Boot -1.1.4版本支持SMDK2410开发板,并且SMDK2410同样采用S3C2410芯片,因此选取SMDK2410作为移植参考,定义目标板需要添加的U-Boot:

  1.在boarcl/目录下建立目标板目录  由于U- Boot中本身支持很多开发板和处理器,所以可以找到和处理器型号相同或相近的开发板,在此基础之上再进行相应的修改。此处选择smdk2410作为模板。

67

  2.创建S3C2410目录及文件,要对Makefile进行修改Mkdir board/S3C2410

54

  3.通过修改文件smdk2410.h来修改U-Boot软硬件配置增加PING命令功能

45

  4.修改2M的Flash通过查询相关数据手册中有关Flash的地址,并在对应的S3C2410.h文件中找到有关信息。在此要用到一些硬件的知识,最关键的是扇区的计算,由于在ARM中Flash是按扇区划分的,每个扇区的大小是64K,所以2M就需要32个扇区,但是由数据手册可知S0,S1,S2,S3扇区的大小分别为:16K,8K,8K,32K,所以要加上3个扇区才能得到正确的结果。

56

  四、结论

  通过对U-Boot的启动流程的详细分析和制作,不仅对其有一个整体的了解,而且也可以依据本文进行制作。通过对U-Boot的重要参数的设置也使得其功能进一步增强。读者也可以仿效文中的步骤对其他型号的开发板进行制作,为以后的开发带来了方便。在制作过程中要注意的是接口参数的设置问题和越界问题。


关键字:S3C2410  嵌入式设备  U-Boo移植  自启动 引用地址:基于S3C2410嵌入式设备的U-Boo移植及自启动的实现

上一篇:基于S3C6410处理器的U-Boot SD卡启动的移植分析与功能
下一篇:基于AVR的时间触发嵌入式系统的设计与应用

推荐阅读最新更新时间:2024-03-16 15:54

u-boot-2011.09在ST2410上的移植-启用CS8900网卡功能
接上篇,启用CS8900网卡功能,实现tftp下载(红色部分为我添加的,蓝色为修改的) u-boot本身有cs8900网卡驱动程序,所以需要修改的地方不多。由于数据通过总线传送,所以要注意地址空间的配置和总线的配置。 1)、首先修改include/configs/st2410.h文件 57 #define CONFIG_NET_MULTI 58 #define CONFIG_CS8900 /* 前文注释,这里再把它打开we have a CS8900 on-board */ 59 #define CONFIG_CS8900_BASE 0x19000300 60 #define CONFIG_CS89
[单片机]
基于S3C2410和Linux2.6的无线网络数据采集终端
引言 数据采集技术在工业现场控制、医疗监护、环境检测以及交通监控等领域有着广泛的应用。传统数据采集采用以单片机为核心的设计模式,数据的存储、传输以及实时分析都需要额外的PC的辅助来实现,其成本高、体积大、不便于携带。因此,本文提出基于ARM和Linux的嵌入式数据采集终端。硬件上选用SAMSUNG公司为PDA、Internet设备、手持终端等开发的S3C2410处理器,主频最高可达266MHz,内部提供丰富的外设接口。采用基于2.6内核的嵌入式Linux操作系统,具有易移植裁减、内核小、效率高、性能优异的网络模块等特点,最新的2.6内核在支持嵌入式应用方面做了很大的改进,能够很好的实现电源管理,并提供对IEEE802.11无线协
[单片机]
基于<font color='red'>S3C2410</font>和Linux2.6的无线网络数据采集终端
基于微处理器和UDAl34l的嵌入式音频系统设计
   1 引言   嵌入式音频系统分为硬件设计和软件设计。硬件部分采用基于ⅡS总线的音频系统体系结构。软件上,嵌入式Linux是一种完全开放且免费的操作系统。它支持多种硬件体系结构,内核运行高效、稳定,而且源代码开放,有着完善的开发工具,为开发人员提供了优良的开发环境。   本文利用samsung公司的S3C2410型微处理器和Philips公司的UDAl341型立体声音频CODEC构造了嵌入式音频系统,给出相关硬件电路的设计,介绍该音频系统基于Linux2.4内核版本的驱动程序实现。    2 ARM920T及S3C2410简介   ARM920T是ARM公司系列微处理器核的一种,它采用5阶段管道化技术,同时配备了Thu
[单片机]
基于微处理器和UDAl34l的嵌入式音频系统设计
采用ARM9处理器S3C2410的数字多路语音记录器设计
1. 引言 数字多路语音记录器在安全、监控方面有很多应用。一些传统的设计方案基于工控机,用数据采集卡实现语音的A/D转换,用软件实现语音编解码,这种方案成本高、功耗大。如果采用嵌入式的设计方案,可以实现同样的功能,并且具有低成本,低功耗的特点。 普通的低成本嵌入式处理器性能不高,不足以实现多路语音的实时编码、解码,需要用专门的语音处理芯片完成这一工作。基于DSP自主设计语音编码器是一种方法,但工作量大。AC48304广泛应用于各种小型VOIP网关中,价格低廉,是一种很好的替代方案。同时AC48304还具有DTMF识别和静音检测等功能,便于实现电话号码识别和语音的自动记录。 ARM是一种应用广泛的嵌入式处理器,Samsung、
[单片机]
采用ARM9处理器<font color='red'>S3C2410</font>的数字多路语音记录器设计
S3C2410上触摸屏的应用实例
引言 随着个人数字助理(PDA)、瘦容户机等的普及,触摸屏作为终端与用户交互的媒介,在我们的生活中使用得越来普遍。触摸屏分为电阻式、电容式、声表面波式和红外线扫描式等类型,使用得最多的是4线电阻式触摸屏。 本文以三星公司ARM9内核芯片S3C2410触摸屏接口为基础,通过外接4线电阻式触摸屏构成硬件基础。在此基础上,开发了触摸屏面图板程序。 1 触摸屏原理 S3C2410 接4线电阻式触摸屏的电路原理如图1所示。 整个触摸屏由模向电阻比和纵向电阻线组成,由nYPON、YMON、nXPON、XMON四个控制信号控制4个 MOS管(S1、S2、S3、S4)的通断。S3C2410有8个模拟输入通道。其中,通道7作为触摸屏
[单片机]
<font color='red'>S3C2410</font>上触摸屏的应用实例
基于ARM的嵌入式设备中uCLinux系统开发
1 引言 信息家电和手持设备大大加速了嵌入式系统的发展,而ARM体系32位高性能、低功耗处理器和嵌入式操作系统Linux无疑成为佼佼者。因为Linux源代码开放、免费,任何将其定制于PDA、掌上机或者便携式设备感兴趣的人都可以从因特网免费下载其内核和应用程序,并开始移植或开发,所以Linux在嵌入式开发领域得到稳步发展。uCLinux 即是目前嵌入式linux 中最流行的一种,它是针对微控制领域而设计的Linux系统,其最大特征就是没有MMU(内存管理单元模块),适合嵌入式系统小型化应用。   uCLinux支持多任务,支持多种文件系统,提供了对网络的强大支持,具有完整的TCP/IP协议栈,以及标准丰富的API。由于它的很
[单片机]
基于ARM的<font color='red'>嵌入式设备</font>中uCLinux系统开发
i2c驱动之i2c-s3c2410.c
#include linux/kernel.h #include linux/module.h #include linux/i2c.h #include linux/i2c-id.h #include linux/init.h #include linux/time.h #include linux/interrupt.h #include linux/delay.h #include linux/errno.h #include linux/err.h #include linux/platform_device.h #include linux/clk.h #include linux/cpufreq.h #includ
[单片机]
基于嵌入式设备手机短信交互模块的设计
0 引言     随着嵌入式设备应用的日益广泛,人们也越来越乐于使用各种人机交互方便的设备。鉴于GSM网络是相当稳定且已经在生活中普遍应用的通信网络,本文利用GSM网络中短消息服务的便利性,提出了一种基于GSM网络短消息服务的人机交互方式,并开发了相应的手机短信交互平台,实现了用户与设备间的远程、实时人机交互功能。 1 系统硬件设计     本系统利用串口做通信接口,并选用西门子TC35i无线模块作为核心组件来搭建硬件电路。TC35i主要由基带处理器、射频模块、供电模块、闪存、ZIF连接器和天线接口等六部分组成。它的正常运行需要相应的外围电路与其配合。TC35i共有40个引脚,可通过ZIF连接器分别与电源电路、启动与关
[嵌入式]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved