目前官方网站上最新版本的u-boot 是1.3.3,本来想打算移植1.3.3的,但是这几天的经历让我放弃了1.3.3。原由是这样的,前不久移植了1.2.0,这个版本的移植相对来说比较容易,因为网上的资料比较多,而这次我就打算直接移植1.3.3,因为前面有了基础了,做事情就不怕。为了让底气更足一点,补了两天的基础,其中看了看汇编语言,将cpu/arm920t/start.S这个文件也看了几遍。有空再整理一下对start.S这个文件的彻底分析,目前网上的分析并不好,不全面,讲得不透彻,相信很多朋友对这个文件还是一知半解的,可以也包括我自己。
我首先移植时和上一次移植1.2.0一样,NAND的启动代码用的是vivi中的那一段,但是就是不。编译一直没有报错,但就是不好使,因为我没有调试器,不能一条一条来调试,只能从网上看资料与自己看源码。紧接着我将1.3.3的源码中我改过的几个文件与1.2.0中的一一对应了一次,发现确实有点不同,但是整个代码的流程是一致的,但还是启动不起来,灯都没亮起来。后来向同学yqliu请教,他已把1.3.2移植到博创2410的板子上的,后来他说start.S其中有个宏,是为AT91RM9200配置用的,它将其中一段重定向代码给弄进来了。其实就是这个宏:
#ifndef CONFIG_AT91RM9200
后来我将个宏去了,再正确地加上原来代码还是没启动起来。
后来把他移植好的1.3.2拿过来与我的1.3.3的改过的文件一一进行比较,然后是一样将启动代码也弄成一样的,烧写到flash中还是不好使。
后来让yqliu来弄,它又弄了将近几个小时也没弄好。
因为没有调试工具,所以比较麻烦来弄清楚start.S中到底是哪个代码了了问题。
后来放弃了,移植一个1.3.2吧。
然后从网上下了一个1.3.2的源码,用了将近20分钟,全部弄好了。呵呵!
因为阳初2410的网卡为CS8900,所以不用改动这一块,这个相对来说是省事了很多。
下面来重复一下我的整个移植过程:(整理一下笔记,为以后复习用)
1、下载u-boot源码:
并在XP系统下改名为u-boot-1.3.2.tar.gz
2、用SSH服务登陆linux,将源码拷贝到linux下的/home/arm-work/下,这个是我自己习惯的目录与共享文件方式,具体情况,因个人喜好而异。你也可以用其它方式拷贝文件。
3、进入linux系统
切换到/home/arm-work/目录下:
cd //home/arm-work/
解压源码:
tar zxvf u-boot-1.3.2.tar.gz
此时解压后得到u-boot目录,下面即为1.3.2的源码,将其改名为u-boot-1.3.2:
mv u-boot u-boot-1.3.2
进入到源码目录:
cd u-boot-1.3.2/
4、现在开始就进行整个源码的移植工作,在第二《u-boot-1.3.2在阳初2410板子上的移植(2)》中讲述。
阅读(1431) | 评论(0) | 转发(0) |