u-boot移植s3c2410

发布时间:2023-05-10  

u-boot的向s3c2410板上的移植(只是编译而以)可谓是千辛万苦啊(对于菜鸟而言,(*^__^*) ,高手除外),下面就是我的痛苦经历。

过程如下:

下载u-boot-1.1.6版本,然后解压,进入解压完的目录之后,首先是修改对应文件,该部分是参见网上blogs。

http://blog.csdn.net/hhq0216/archive/2006/12/29/1466894.aspx,按照上面的做法来修改文件内容,然后回到u-boot目录,

执行如下命令:

make distclean

make smdk2410_config

make

之后error出现:make: *** [u-boot] Error 1

然后google之得到下面的方案:http://blog.csdn.net/wanyeye/archive/2008/04/24/2324199.aspx

同时查看了,在用其他两个版本的时候,对一些文件的设置,如下:

/cpu/arm920t/config.mk的 内容如下:

PLATFORM_RELFLAGS += -fno-strict-aliasing  -fno-common -ffixed-r8

        -msoft-float

PLATFORM_CPPFLAGS += -march=armv4

# ====================================================================

#

# Supply options according to compiler version

#

# ====================================================================

PLATFORM_CPPFLAGS +=$(call cc-option,-mapcs-32)#,-mabi=apcs-gnu)

PLATFORM_RELFLAGS +=$(call cc-option,-mshort-load-bytes,$(call cc-option,-malignment-traps,))

但是编译时,继续出现上面的error,于是再次google之,得到下面的文章:http://www.91linux.com/html/article/qianrushiyingyong/20090319/16154.html,该文指出

最常用的编译版本是arm-linux-gcc-3.4.1 和 arm-linux-3.3.2 的,现在的嵌入式开发基本上用的是这些,3.4.1的用于编译2.6的内核,而3.3.2的常用于编译busybox,和bootloader(u- boot),编译的版本配合不好的话就会出错,所以要选择好编译版本,如果这个版本不行的话,可以试试其他的版本,在uclinux上用的多的就是 arm-elf-tools-20030314

怀疑是arm-linux-gcc版本过高了,使用下面的命令查看:

arm-linux-gcc --version

得到arm-linux-gcc (GCC) 3.4.1

于是开始安装arm-linux-gcc-3.3.2版本,下载地址http://www.handhelds.org/download/projects/toolchain/

使用下面的命令来安装:

sudo -i

cp arm-linux-gcc-3.3.2.tar.bz2 /

bunzip2 arm-linux-gcc-3.3.2.tar.bz2 

tar xvf arm-linux-gcc-3.3.2.tar.bz2 -C /

安装完成,继续编译u-boot

于是在该系统上安装上了两个版本的arm-linux-gcc。由于需要使用的是较低版本的gcc,所以在编译u-boot之前,使用下面的命令

PATH=/usr/local/arm/3.3.2/bin:${PATH}

该命令的主要作用是改变linux在搜索文件时的搜索顺序,为了验证是否使用的是3.3.2版本的arm-linux-gcc,可以使用下面的命令

arm-linux-gcc --version

前途现在就比较明朗了

cd include/configs
vi smdk2410.h
找到以下代码段:
#ifdef CONFIG_AMD_LV400
#define PHYS_FLASH_SIZE        0x00080000 /* 512KB */
#define CFG_MAX_FLASH_SECT      (11) /* max number of sectors on one chip */
#define CFG_ENV_ADDR           (CFG_FLASH_BASE + 0x070000) /* addr of environment */
#endif
改为:
#ifdef CONFIG_AMD_LV400
#define PHYS_FLASH_SIZE        0x01000000 /* 16MB */
#define CFG_MAX_FLASH_SECT      (128)      /* max number of sectors on one chip */
#define CFG_ENV_ADDR           (CFG_FLASH_BASE + 0x020000) /* addr of environment */
#endif
保存
现在回到根目录下编译

make distclean

make smdk2410_config

make

终于,u-boot,u-boot.bin,u-boot.map等文件生成......

参考:

http://blog.csdn.net/hhq0216/archive/2006/12/29/1466894.aspx

http://hi.baidu.com/cheng21884998/blog/item/2ca22f51be22382042a75ba5.html

http://szricky.blog.hexun.com/7474976_d.html

http://heyunhuan513.blog.163.com/blog/static/16020422009210112035734/

http://hi.baidu.com/cheng21884998/blog/item/8e18799563e2964fd1135eb5.html

http://blog.chinaunix.net/u1/56374/showart_570048.html

http://blog.csdn.net/hhq0216/archive/2006/12/29/1466894.aspx

http://blog.chinaunix.net/u/21948/showart_385046.html


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>