nVIDIA Jetson TX1 u-boot编译与烧写


1、官网下载源码:

https://developer.nvidia.com/embedded/downloads#?tx=$software,l4t-tx1

 

解压u-boot_src.tbz2到本地:

$ tar -xvjf u-boot_src.tbz2

$ cd u-boot/

 

2、u-boot修改与编译

设置环境变量:

$ export ARCH=arm

$ export CROSS_COMPILE=<your_toolchain_location>

例子:export CROSS_COMPILE=/opt/gcc-linaro-6.2.1-2016.11-x86_64_aarch64-linux-gnun/bin/aarch64-linux-gnu-

 

配置和编译

$ make distclean

$ make p2371-2180_defconfig

$ make menuconfig

 

可以根据需要进行配置,然后编译

$ make

编译结果:

 

3、u-boot烧写:

将编译结果u-boot, u-boot.bin, u-boot-dtb.bin, u-boot.dtb 4个文件拷贝到~/Linux_for_Tegra/bootloader/t210ref/p2371-2180/

 

建议将原有的u-boot文件放在文件夹uboot_backup中,作为错误恢复文件使用。

 

devkit运行在recover模式,然后在host主机中~/Linux_for_Tegra/目录运行下面命令进行烧写u-boot

 

$ sudo ./flash.sh -k EBT jetson-tx1 mmcblk0p1

 

烧写后,target重启:

 

完。

4、编译遇到的问题:

1)、提示error:bad value (armv8-a) for -march=switch


原因是没有arm64,应该设置成ARCH=arm

 

2)、提示缺少compiler-gcc6.h


由于用的是gcc6.3 版本编译器,需要这个最新的文件。网上下载然后放在~/u-boot/include/linux/中

 

3)、提示dtc版本太旧了


解决方法,安装最新device-tree-compiler:

$ sudo apt-get install device-tree-compiler

 

安装后就可以成功编译。

 

你可能感兴趣的:(u-boot,Jetson,TX1)