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

 

安裝後就可以成功編譯。

 

發佈了73 篇原創文章 · 獲贊 98 · 訪問量 53萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章