微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > uboot移植初步成功啦

uboot移植初步成功啦

时间:11-29 来源:互联网 点击:

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的时候经常碰到莫名的问题~~

  还是那句话,路漫漫其修远~~~~

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top