微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > MCU和DSP > 基于AT91RM9200的嵌入式ARM开发平台的实现

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

时间:11-05 来源:作者:中南大学 陈明义 王纬 点击:
2.3 解决Machine Id问题

  在U-Boot的代码中,支持的AT91RM9200的Machine类型为25 1、262两种,这两种在Include/asm-arm/mach-types.h定义为mach_type_AT91RM9200和mach_type_AT91RM9200dk,在U-Boot中board/AT9 1 RM9200dk/AT91 RM9200dk.c中采用的是第一种,而在Linux2.6.20内核代码中arh/Arm/Math-AT91RM9200使用的类型却为AT91RM9200DK,也就是第2种。因此在启动的时候会出现Machine不匹配的问题,解决问题的办法就是更改U-Boot或者Linux内核的代码,使其Machine类型相匹配。

  2.4 Nor Flash的地址安排

  笔者采用的Flash为16 MB NOR Flash,为了实现层次文件系统,需要增加NOR Flash MTD驱动支持,具体地址安排,如图3所示。

  在Dirvers/MTD/Maps/里增加AT91 RM9200.c文件,作为自己的分区代码,并且编译进内核。

  2.5 编译内核

  首先要修改内核内核目录下MAKEFILE文件,编译器修改为安装好的交叉编译器,即Arch?=ARM和Cross_Compile?=ARM-Linux-,然后运行命令make AT91RM9200DK_Defconfig,配置好内核。如果需要修改一些具体的配置,可以运行makeMenuconfig命令进入如下菜单进行配置。配置好内核之后运行make Image命令,编译生成内核镜像Vmlinux,最后用Mkimage工具生成Uimage。

  2.6 制作Ramdisk文件系统

  Linux采用文件系统组织系统中的文件和设备,为设备和用户程序提供统一接口,因此Linux启动还需要有根文件系统。根文件系统的作用是存放各种工具、应用程序以及必须的库文件等。Ramdisk是通过计算机的内存用作设备来创建和挂在文件系统的一种驱动机制,它通常用于无盘系统。根文件系统通常包括一下目录内容:/Dev(设备目录);/Proe(Proe文件系统目录);/Etc(系统配置文件);/Sbin(系统程序的目录);/Bin(系统应用程序,通常由busybox来实现);/Lib(共享库文件);/Mnt(装在其它磁盘节点的目录);/Usr(附加应用程序的目录)。

  3 结束语

  ARM9作为新一代处理器有着更高的性价比、更低的功耗、执行速度更快、性能更高、应用范围更加广泛的特点;Linux以其优越的性能、源代码的开放、容易移植等特点被应用于越来越多的领域当中。基于AT91RM9200微控制器的硬件嵌入式开发平台,可以根据具体需要,应用于嵌入式教学实验以及嵌入式产品开发等多种场合中,具有广阔的发展前景。 (编辑:chiying)

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top