uboot移植初步成功啦
fine CFG_MAX_FLASH_SECT 256 /* max number of sectors on one chip */
flash最大可选sectors 也是要改的
#define CFG_MAX_FLASH_SECT 32
还有就是这个B2板子没有网卡,还应该加一个网卡的配置:
#define CONFIG_DRIVER_TRL8019
#define RTL8019_BASE 0x08000000
当然,还有很多其他的配置。目前为止还不知道哪些是需要的,哪些是不需要的,哪些是要 改的,哪些是不要改的,都还要在应用中才能发现哦
ubootcpus3c44b0lowlevel_init.S:关于s3c44b0存储器的配置。主要参考s3c44b0手册和SDRAM和FLASH手册,具体的已在前面的日志中说明了,在此不再罗嗦。
ubootcpus3c44b0serial.c:关于串口的——这个很重要哦,设置不好的话就看不到显示了。主要是关于串口初始化的,serial_init()调用serial_setbrg()来设置相关寄存器。这里要修改的就是依据相应的串口波特率来设置divisor。这里就能看到CONFIG_S3C44B0_CLOCK_SPEED的身影了。如果在44b0.h文件里没有定义这个宏或是这个宏的值定义不是75或66的话,那在编译的时候就会报错:#error CONFIG_S3C44B0_CLOCK_SPEED undefined。
ubootcpus3c44b0start.S:终于要说到这个文件了。其实当初觉的神秘,现在看来真是有点太把它当回事了。细看一下,和一个普通的startup.S没多大区别。主要难点还是几段代码和原理吧。关于start.S参考前面写的日志吧。这里主要讲修改的话就太简单了。要修改的寄存器初始化参数就是LOCKTIME和PLLCON。设为符合板子的值就可以了,LOCKTIME=2000,PLLCON=0x48032,设置主频Mclk=40Mhz就行了
这里是程序代码的修改。还有一个就是前面提到的在编译的时候碰到的问题:由于arm-elf-gcc版本太低了,导致在引用编译符号的时候参数错误:ubootcpus3c44b0config.mk中有如下行:
PLATFORM_CPPFLAGS +=$(call cc-option,-mapcs-32,-mabi=apcs-gnu)
提示也错的参数为:abi=apcs;只要做如下改动即可消除编译器的不适:
PLATFORM_CPPFLAGS +=$(call cc-option,-mapcs-32,$(call cc-option,-mabi=apcs-gnu,))
至此,关于uboot1.4移植所要做的修改就完了。但问题还远远没有完吧:uboot应该放在哪个目录?make的时候经常碰到莫名的问题~~
还是那句话,路漫漫其修远~~~~
uboot移 相关文章:
- minis3c2440移植之uboot移植(11-24)
- uboot移植详解(11-13)
- uboot移植到S3C44B0X开发板的经历(11-11)
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)