Chinaunix首页 | 论坛 | 博客
  • 博客访问: 15330397
  • 博文数量: 2005
  • 博客积分: 11986
  • 博客等级: 上将
  • 技术积分: 22535
  • 用 户 组: 普通用户
  • 注册时间: 2007-05-17 13:56
文章分类

全部博文(2005)

文章存档

2014年(2)

2013年(2)

2012年(16)

2011年(66)

2010年(368)

2009年(743)

2008年(491)

2007年(317)

分类: LINUX

2007-05-17 15:41:27

在《AT91RM9200uBootLinux-2.4.19的参数传递关系》一篇中谈了ubootLinux内核加载地址是什么,在《uBootLinux内核中涉及到的几个地址参数的理解》一篇中详细谈了这些地址的具体含义,那么在本篇中,将谈谈如何在真正的硬件上实现我们前面的理论。

如果你的开发板上没有设计以太网口,就像我这里的at91rm9200板子一样,那么NFS功能,以及uboot提供的所有方便快速的下载操作似乎都因为不能够使用,让我们焦躁不安了良久,没有什么的,我们可以通过AXD直接取代uboot提供的以太网内存加载Linux内核代码到指定内存的操作,具体步骤如下:

建立一个为了加载bin文件专用的ADS工程,

u-boot.bin文件放到.axd同目录下,然后启动,使用setmem指令初始化好硬件外围内存后就可以在“Command Line Interface”(ALTL)命令窗的Debug>(hlp为帮助指令)下输入文件加载指令:lb u-boot.bin 0x21f00000  //表示将u-boot.bin文件加载到以0x21f00000为起始地址的内存中,写一段启动加载的小代码,最后使用跳转指令跳到0x21f00000处执行,为了避开存储在Flash中断向量的影响,可以在加载小代码中使用remap,将0地址映射到SRAM中,这样就可以毫无顾虑的启动uboot了,在正式运行uboot之前,还需要

1.  加载uImage内核文件:lb uImage 0x21000000(对于650KuImage文件没有耗多少时间就通过我的Multi ICE加载到指定内存了)

2.  加载ramdisk-rmk7:lb ramdisk-rmk7 21100000

一切就绪,通过AXDJTAG和串口,我们就可以在自由的Linux世界里自由的调试、学习了!

阅读(1457) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~