加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

x-loader 用arm-eabi-4.4.3编译出错

发布时间:2020-12-15 06:23:26 所属栏目:百科 来源:网络整理
导读:/home/DM3730/Android_Sources/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/../lib/gcc/arm-eabi/4.4.3 -lgcc ?? ??? ??? ?-Map x-load.map -o x-load arm-eabi-ld: internal error in relocate,at /home/jingyu/projects/gcc/android-toolchainsrc/
/home/DM3730/Android_Sources/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/../lib/gcc/arm-eabi/4.4.3 -lgcc
?? ??? ??? ?-Map x-load.map -o x-load
arm-eabi-ld: internal error in relocate,at /home/jingyu/projects/gcc/android-toolchainsrc/build/../binutils/binutils-2.19/gold/arm.cc:8943

make: *** [x-load] Error 1


这个错误就算TI自己到原因,现在到x-loader需要4.4.0而不是4.4.3编译。希望对大家游帮助


x-loader相当于将6410中到mmc等,将uboot导入flash,决定uboot从何处加载。结束uboot移动后,将权限交给uboot.x-loader就启动一次就可以了

貌似上面到理解错误,x-loader是被内部固化在rom中的代码加载到内部ram中,内部ram很小不内写入大的uboot,因此引入x-loader先被加载到内部ram,x-loader启动后就初始化外部内存和一些设备,将uboot载入到大的外部ram中去。然后挑到外部ram执行内核,。。


转载:

首先来理解一下beagleboard(OMAP平台)启动的步骤和几个关键组件的作用:
参考:http://www.omappedia.org/wiki/Bootloader_Project

  1. 第一阶段启动(冷启动):上电以后,OMAP处理器会自动将片内ROM中的冷启动代码载入内建的RAM。由于内建的RAM很小(64K),因此ROM冷启动代码只会初始化内建RAM用来接收后面会提到的x-loader和必要的外设(USB,Serial(UART3),SD Card(MM1),NANDflash等,x-loader要通过这些外设导入)。ROM中的冷启动代码载入内建的RAM以后,开始按照NAND->USB->Serial->MMC的顺序在这些外设中寻找x-loader(beagleboard不支持从USB启动)。启动顺序可以通过外部管脚电平来控制,这也就是为什么按下S1键以后,beagleboard可以从MMC/SD卡启动,这是因为启动顺序换成了USB->Serial->MMC->NAND。x-loader其实是一个删减版的uboot(后面会提到,并且是取自于uboot),它的作用是初始化外部内存和其他一些周边设备,然后寻找uboot并将其载入外部内存。

  2. 第二阶段启动:这一阶段就是由已经驻扎在片内RAM中的x-loader按照上面的顺序寻找uboot并导入外部RAM,当然uboot会稍大些。当uboot驻扎入外部RAM以后,将初始化其他外围设备,并开始准备导入操作系统内核了

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读