作者:Eric_Liu 邮箱:liugj1062@163.com
时间:2010年5月22日
实验内容:为自己的开发板移植vivi,vivi其实是u-boot的一个简化版,vivi是mizi公司针对其基于s3c2410的嵌入式平台smdk2410而开发的,所以移植vivi的过程异常简单。
实验软件平台:win7 VMware7.0 redhat4.0企业版
硬件平台: HP4411s 友善之臂mini2440开发板
交叉编译器:arm-linux-gcc 2.95.3
实验步骤:
1. 修改Makefile文件
#vi Makefile
(如下的修改基于个人的嵌入式开发环境)
将LINUX_INCLUDE_DIR的值修改为:
/usr/local/arm/2.95.3/include/
将CROSS_COMPILE修改为:
/usr/local/arm/2.95.3/bin/arm-linux-
将ARM_GCC_LIBS修改为:
/usr/local/arm/2.95.3/lib/gcc-lib/arm/2.95.3
2.根据需要修改启动参数,也可以启动vivi后用命令设置
#vi arch/s3c2410/smdk.c
"noinitrd root=/dev/mtdblock2 init=/linuxrc console=ttySAC0,115200"
3.修改开发板ID,我的是上s3c2440芯片,因为之前编译后下载到板上出现Error: unrecognized/unsupported machine ID (r1 = 0x0000030e).错误,所以要修改对应开发板芯片的ID号,对应SMDK2440的id是0000016a(十六进制),十进制值是362。
修改include/platform/smdk2440.h 中预定义的常量MACH_TYPE值为362。
4.配置vivi,vivi提供了像内核那样的图形配置界面,在vivi目录下 make menuconfig 出现配置界面,然后load 默认配置arch/def-configs/smdk2440,保存为.config,然后退出。
5.编译vivi。 执行make命令。
6.下载vivi,由于我用的是笔记本,所以没有并口,自然就用不了jtag下载了。而我用的方法是同过norflash上的supervivi下载我编译好的新vivi到nandflash上,但是supervivi下载到norflash还是要jtag,不过只要的下载了一次,以后只要不要把它擦除就可以了。最后成功运行了vivi。
7.下载内核测试,因为刚开始接触vivi,vivi的命令还没有看,所以我用u-boot把内核下载到分区地址,然后再下载vivi,虽然麻烦一点,但是最后还是成功启动了我的内核。
8.总结:这次移植成功,可以对我的4Kbootloader制作有很多的推动作用。