DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 282|回复: 0
打印 上一主题 下一主题

基于AT91RM9200的嵌入式ARM开发平台的实现

[复制链接]
跳转到指定楼层
楼主
发表于 2012-1-27 15:28:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可以裁剪来适应系统对功能、可靠性、成本、体积、功耗要求严格的专用计算机体系。随着各种微处理器功能的完善以及软件上操作系统的支持,使得嵌入式系统有了完整的体系架构。
    在专用的嵌入式板上运行操作系统需要利用Bootloader来引导加载内核和系统程序。Bootloader主要实现初始化硬件设备、建立内存空间的映射图,从而把嵌入式硬件和嵌入式操作系统很好地衔接起来。
    U-Boot是当前比较流行、功能强大、比较有代表性的Bootloader,支持的处理器包括Powerarm(ARM7,ARM9,Srongarm,Xscale)、MIPS、X86、Motorola等系列。
    与目前常见的嵌入式操作系统如Vxworks,QNx,Windows CE,Palm Os等相比,嵌入式Linux操作系统以价格低廉、功能强大而且易于移植被广泛地使用到各种嵌入式设备当中。文中主要介绍了基于at91 rm9200的ARM硬件开发平台,以及U-Boot和Linux-2.6.20内核在此平台上的移植。
    AT91RM9200处理器,是由Atmel公司开发的基于ARM920T内核的微处理器,带有MMU,CPU时钟最高可达240 MHz,有着丰富的标准接口、EBI接口,内部集成了静态存储控制器、SDRAM控制器、Burst Flash控制器等。SDRAM采用两片hy57v651620b芯片,组成32 bit通道,大小一共16 MB,Flash采用Intel Js28f128芯片,容量为16 MB。网络芯片采用dm9161a。系统硬件平台的原理,如图1所示。



1 U-Boot移植
    对于AT91RM9200,系统上电时,通过检测BMS来选择系统的启动方式,如果BMS为高电平,则系统从片内ROM启动,如果BMS为低电平,则从片外的Flash启动。在没有移植U-Boot到Flash之前,只能选择片内ROM启动。片内启动时,AT91RM9200的ROM上电之后被映射到了0x0和0x100000处,在这两个地址处都可以访问ROM。AT91RM9200的ROM固化了一个Bootloarder程序,这个Bootloader主要完成一些相应的初始化工作,并且运行Xmodem协议等待接收Loader.bin映像。Loader.bin代码可以到Atmel官方网站下载,Loader.bin主要完成的任务是通过Xmodem协议将U-Boot.bin下载到内存中直接运行。U-Boot.bin在内存中跑起来之后就可以利用U-Boot的功能把Boot.bin和U-Boot.bin写到Flash中,从而实现片外Flash启动。其中Boot.bin主要实现的任务是把Flash中的U-Boot拷贝到内存中执行。
    U-Boot的源代码可以到官方网站下载。文中所用的版本是U-Boot-1.1.1,对AT91RM9200的芯片完全支持,由于具体硬件的不同,需要做一定的修改。支持AT91RM9200代码在BOARD/AT91RM9200 目录下面,主要有AT91RM9200DK.c,Flash.c,U-Boot.lds,Con-fig.mk几个文件。主要做的修改如下:
    (1)修改Config.mk中的Tex_base为0x20f00000,和前面的boot地址保持一致;
    (2)修改Flash.c文件,使其支持Intel JS28F128芯片。由于官方使用支持的是AMD Flash,需要在代码里添加对本系统芯片的支持。在U-Boot的代码中Strong ARM架构里的xm250,它的代码是支持Intel Flash的,可以参考相应代码实现移植;
                                
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2025-9-22 07:10 , 耗时 0.122422 秒, 18 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表