分享

移植u-boot到atsam9263

 amine 2012-03-25
2010-07-02 15:03

u-boot下载地址:ftp://ftp.denx.de/pub/u-boot/ 尽量选择新的版本来移植,因为新版本支持的cpu更多,可以减少移植的工作量。

我移植选择的版本是:u-boot-2010.03.tar.bz2

编译器是 arm-softfloat-linux-gnu-

1. 解压后,切换到目录/u-boot-2010.03/lib_arm/

    打开 config.mk 如下修改

    CROSS_COMPILE ?= arm-linux-

    改为

   CROSS_COMPILE ?= arm-softfloat-linux-gnu-

2. 切换到目录\u-boot-2010.03\include\configs\

    打开 at91sam2963ek.h

   #define CONFIG_SYS_AT91_MAIN_CLOCK 16367660 /* 16.367 MHz crystal */

   改为

   #define CONFIG_SYS_AT91_MAIN_CLOCK 18432000   //cpu的晶振频率

   #define CONFIG_ENV_IS_IN_DATAFLASH 1
   #define CONFIG_SYS_MONITOR_BASE (CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS0 + 0x8400)
   注释:0x8400为一级启动文件设置的u-boot在dataflash里的地址

    #define CONFIG_ENV_OFFSET   0x4200
   注释:0x4200为uboot环境变量保存的地址  

   #define CONFIG_ENV_ADDR   (CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS0 +     CONFIG_ENV_OFFSET)
   #define CONFIG_ENV_SIZE   0x4200
   注释:0x4200为环境变量保存空间的大小,注意0x4200+0x4200 不能超过0x8400  

   如果一级启动文件设置uboot在dataflash里的地址为0x8000,则环境变量的地址为0x4000,空间大小为0x4000,不能超过0x8000。

#define CONFIG_BOOTCOMMAND "cp.b 0xC0042000 0x22000000 0x210000; bootm"
#define CONFIG_BOOTARGS   "console=ttyS0,115200 " \
     "root=/dev/mtdblock0 " \
     "mtdparts=atmel_nand:-(root) "\
     "rw rootfstype=jffs2"

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多