AT91RM9200 EK or DK开发参考

本文详细记录了将u-boot 1.1.6移植到AT91RM9200 EK/DK开发板上并从NAND Flash启动的过程,包括设置程序运行地址、调试仿真器、初始化NAND Flash、理解u-boot启动流程及NAND Flash初始化代码分析。此外,还涉及环境变量存储在NAND Flash中的配置和内核与文件系统的移植。
摘要由CSDN通过智能技术生成

2007.8.13

u-boot1.1.6 初步调试成功。

1. 在网上找了几个 u-boot 的移植文档,之前一直没有成功,后来,设置好 u-boot 的程序运行地址后, make clean && make at91rm9200dk_config && make ,生成 u-boot.bin 文件。

2. 在调试好 arm9200 的仿真器后,选择 File->Load memory from file ,选择 u-boot.bin 文件。

3. 文件 Load 成功以后,将 PC 指针设置为 u-boot 程序的运行地址。

4. 执行程序,即可在串口终端看到 u-boot 的提示符。

2007.8.14

1. 发现在文件 Start.S 中调用了 LowLevelInit 函数,初始化 SDRAM , 终端, DEBUG 串口, NAND 等,根据需要添加。在 u-boot 中没有进行 LowLevelInit ,所以会出现初始化不正确的时候会有问题。

2. 经常会出现 IIC 不 能写的状况,原因不明。

3.AXD 调试的时候,经常要重启才可以。有时候要进行断电。

4.u-boot 的程序启动地址在 board/at91rm9200dk/config.mk 中修改 TEXT_BASE 的值

2007.8.15

1. 研究 PMC 时钟是怎么回事,给个时钟是 如何产生的,看数据手册的方框图。

  设置 master clock 的寄存 器,选择使用 slow clock ,main clock,plla,pllb 中的一个作为 时钟输入,通过 master clock controller 后生成 master clock process clock. 选择 的 plla pllb 可以通过设置相应的寄存器 来倍频 main clock.

2007-8-20

1.u-boot-1.1.6 成功从 nand flash 上启动。但 是还有很多问题没有搞清楚。 board/at91rm9200dk/config.mk ,这个 TEXT_BASE 的值所起的作 用,没有搞清楚。 U-boot.bin

文件从 flash 中读取到 sdram 中的内存的位置不是这个地址,也还是可以启动的。所以,之前的 bios9200 的代码完全不用作任何的改变,就可以将 u-boot 烧写到 nand flash 上,并且读入内存,启动 u-boot 。之前虽然也进行过直接烧写的工作,但是可能是 u-boot 中的代码,初始化的串口有问题,造成没有什么输出,显示的。现在代码中写死了。

2. 阅读了一下 bios9200 的代码,关键的部分在于,不同的板子,要进行不同的 LowLevelInit 工作 的,所以之前的 at91rm9200_for_Uboot ,不能够使用,也是因为 LowLevelInit 初始化的可能有些问题,在 u-boot 启动的时候,按照网上的修改方法,并没有进行 LowLevelInit ,所以出 现问题。

3.u-boot 的移植配置,参看以下文章

开发板 H9200M 简介

FLSH: 4M (2M ×16)  -> 固化Linux 内 核      0x1000_0000-0x103_FFFF
SDRAM: 32M (2
×8M ×16)           0x2000_0000-0x21FF_FFFF
NAND Flash: 64M ->
存 放数据
JP100: 1
2 短接,从flash 启 动,启动Flash 中固化的程序。
       2
3 短接,从片内ROM 启动,启动片内ROM 中的程序。

[编辑 ]

主要地址资源分配

[ 编辑 ]

使用厂商提供的低级初始化模块的资源分配

资源名字

接口方式

内存分布

备注

SDRAM

NCS1

20000000-21FFFFFF

32M

FLASH

NCS0

10000000-103FFFFF

4M

 

 

10000000-10005FFF

boot.bin

 

 

10010000-1001FFFF

Uboot.gz

 

 

10020000-1015FFFF

uImage

 

 

10160000-102FFFFF

ramdisk

 

 

103F 0000-103FFFFF

环境变量的存放地点

[ 编辑 ]

完全使用 U boot 来做 bootloader 的资源分配

资源名字

接口方式

内存分布

备注

SDRAM

NCS1

20000000-21FFFFFF

32M

FLASH

NCS0

10000000-103FFFFF

4M

 

 

10000000-1001FFFF

u-boot.bin

 

 

10020000-1015FFFF

uImage

 

 

10160000-102FFFFF

ramdisk

 

 

103F 0000-103FFFFF

环境变量的存放地点

[ 编辑 ]

移植 u-boot 到目标板

[

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值