This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] AM625:在 AM62 Android SDK09.02.00上执行 DFU 闪存 EMMC 之前、需要将哪些内核文件从 ti-kernel-AOSP 和 ti-bootloader-AOSP 移至 ti-AOSP-14?

Guru**** 2538930 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1382653/am625-which-kernel-files-need-to-be-moved-from-ti-kernel-aosp-and-ti-bootloader-aosp-to-ti-aosp-14-before-performing-dfu-flash-emmc-on-am62-android-sdk09-02-00

器件型号:AM625

工具与软件:

CPU:AM6254ATCGGLW

交叉编译器: PROCESSOR-SDK-ANDROID - AM62X/09.02.00

构建代码: Overview_Building_ 201_SDK

DFU 闪存: Overview_Flashing .html

尊敬的  TI 团队:

请帮助我解决在构建 SDK 和 DFU 闪存 EMMC 时遇到的问题。

下载并构建默认 SDK 代码 cmd:

export YOUR_PATH=$PWD
export PATH=/opt/arm-gnu-toolchain-11.3.rel1-x86_64-aarch64-none-linux-gnu/bin/:$PATH
export PATH=/opt/arm-gnu-toolchain-11.3.rel1-x86_64-arm-none-linux-gnueabihf/bin/:$PATH

echo "start> 1:Downloading sources"
#Downloading sources
##Bootloader components
if [ ! -d "${YOUR_PATH}/ti-bootloader-aosp" ]; then
  mkdir ${YOUR_PATH}/ti-bootloader-aosp/ && cd $_
  git clone -b 09.02.00.009 git://git.ti.com/atf/arm-trusted-firmware.git
  git clone -b 09.02.00.009 git://git.ti.com/optee/ti-optee-os.git optee_os
  git clone -b 09.02.00.009 git://git.ti.com/ti-u-boot/ti-u-boot.git
  git clone -b 09.02.00.009 git://git.ti.com/processor-firmware/ti-linux-firmware.git
fi

##Kernel
if [ ! -d "${YOUR_PATH}/ti-kernel-aosp" ]; then
  mkdir ${YOUR_PATH}/ti-kernel-aosp/ && cd $_
  repo init -u git://git.ti.com/android/manifest.git -b android14-release -m releases/RLS_09_02_Kernel.xml
  repo sync
fi

##Android file system
if [ ! -d "${YOUR_PATH}/ti-aosp-14" ]; then
  mkdir ${YOUR_PATH}/ti-aosp-14/ && cd $_
  repo init -u git://git.ti.com/android/manifest.git -b android14-release -m releases/RLS_09_02.xml
  repo sync
fi

echo "start> 2:Build Instructions-Bootloader components"
##Build Instructions-Bootloader components

##Build ATF
if [ -d "${YOUR_PATH}/ti-bootloader-aosp/arm-trusted-firmware" ]; then
  cd ${YOUR_PATH}/ti-bootloader-aosp/arm-trusted-firmware
  make E=0 CROSS_COMPILE=aarch64-none-linux-gnu- ARCH=aarch64 PLAT=k3 TARGET_BOARD=lite SPD=opteed CFLAGS+="-DK3_PM_SYSTEM_SUSPEND=1"

fi

##Build OPTEE-OS
if [ -d "${YOUR_PATH}/ti-bootloader-aosp/optee_os" ]; then
  cd ${YOUR_PATH}/ti-bootloader-aosp/optee_os
  make PLATFORM=k3 CFG_ARM64_core=y CROSS_COMPILE=arm-none-linux-gnueabihf- CROSS_COMPILE64=aarch64-none-linux-gnu-
fi

###Build tiboot3.bin
if [ -d "${YOUR_PATH}/ti-bootloader-aosp/ti-u-boot" ]; then
  cd ${YOUR_PATH}/ti-bootloader-aosp/ti-u-boot/
  make ARCH=arm am62x_evm_r5_usbdfu_defconfig #usb dfu flash emmc mode  
  #make ARCH=arm am62x_evm_r5_defconfig #flash sdcard mode
  make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabihf- \
       BINMAN_INDIRS=${YOUR_PATH}/ti-bootloader-aosp/ti-linux-firmware
fi

####Build tispl.bin and u-boot.img
if [ -d "${YOUR_PATH}/ti-bootloader-aosp/ti-u-boot" ]; then
  cd ${YOUR_PATH}/ti-bootloader-aosp/ti-u-boot/
  make ARCH=arm am62x_evm_a53_defconfig
  make ARCH=arm am62x_android_a53.config
  make ARCH=arm CROSS_COMPILE=aarch64-none-linux-gnu- \
       BL31=${YOUR_PATH}/ti-bootloader-aosp/arm-trusted-firmware/build/k3/lite/release/bl31.bin \
       TEE=${YOUR_PATH}/ti-bootloader-aosp/optee_os/out/arm-plat-k3/core/tee-pager_v2.bin \
       BINMAN_INDIRS=${YOUR_PATH}/ti-bootloader-aosp/ti-linux-firmware
fi

###Copy tiboot3.bin and tispl.bin and u-boot.img
if [ -d "${YOUR_PATH}/ti-bootloader-aosp/ti-u-boot" ]; then
  cd ${YOUR_PATH}/ti-bootloader-aosp/ti-u-boot
  sudo cp u-boot.img_unsigned      ${YOUR_PATH}/ti-aosp-14/out/target/product/am62x/emmc-dfu-u-boot.img
  sudo cp tispl.bin_unsigned       ${YOUR_PATH}/ti-aosp-14/out/target/product/am62x/emmc-dfu-tispl.bin
  sudo cp tiboot3-am62x-gp-evm.bin ${YOUR_PATH}/ti-aosp-14/out/target/product/am62x/emmc-dfu-tiboot3.bin
fi

echo "start> 3:Build Instructions-Kernel"
##Build Instructions-Kernel
###Building everything from scratch
if [ -d "${YOUR_PATH}/ti-kernel-aosp" ]; then
  cd ${YOUR_PATH}/ti-kernel-aosp/
  export DIST_DIR=${YOUR_PATH}/ti-aosp-14/device/ti/am62x-kernel/kernel/6.1
  tools/bazel run //common:ti_dist -- --dist_dir=$DIST_DIR
fi

echo "start> 4:Android File System"
##Android File System
if [ -d "${YOUR_PATH}/ti-aosp-14" ]; then
  cd ${YOUR_PATH}/ti-aosp-14
  source build/envsetup.sh
  lunch am62x-userdebug
  m
fi

编辑.dts 并构建内核 cmd:

export YOUR_PATH=$PWD
export PATH=/opt/arm-gnu-toolchain-11.3.rel1-x86_64-aarch64-none-linux-gnu/bin/:$PATH
export PATH=/opt/arm-gnu-toolchain-11.3.rel1-x86_64-arm-none-linux-gnueabihf/bin/:$PATH

#edit ${YOUR_PATH}/ti-kernel-aosp/common/arch/arm64/boot/dts/ti/k3-am625-sk.dts
#edit ${YOUR_PATH}/ti-kernel-aosp/common/arch/arm64/boot/dts/ti/k3-am62x-sk-common.dtsi

echo "start> 3:Build Instructions-Kernel"
##Build Instructions-Kernel
###Building everything from scratch
if [ -d "${YOUR_PATH}/ti-kernel-aosp" ]; then
  cd ${YOUR_PATH}/ti-kernel-aosp/
  export DIST_DIR=${YOUR_PATH}/ti-aosp-14/device/ti/am62x-kernel/kernel/6.1
  tools/bazel run //common:ti_dist -- --dist_dir=$DIST_DIR
fi

闪存 EMMC SOP:

01.(build code PC)cd ${YOUR_PATH}/ti-aosp-14/out/target/product/am62x
02.(AM62)set bootmode to DFU mode
03.(AM62)power on
04.(build code PC)snagrecover -s am625 -f ./am62x-sk-evm.yaml
05.(AM62)interrupt U-Boot to go in console
06.(AM62)=> env default -f -a; saveenv;
07.(AM62)=> fastboot 0
08.(build code PC)sudo ./flashall.sh --board am62x-sk
09.(AM62)power down
10.(AM62)set bootmode to EMMC mode
11.(AM62)power on

构建内核后、哪个文件需要 从 ti-kernel-AOSP ti-bootloader-AOSP 的 CP 到${your_path}/ti-aosp-14/out/target/product/am62x 才能运行 flashall.sh。

谢谢!

Andrew