#!/bin/bash MODEL_BUILD_LIST=("lunch rtos cfg_TEST_REALCHIP gcc-linaro-6.4.1-2018.05-x86_64_arm-eabi" "lunch rtos cfg_TEST_RTOS_RUN_CORE2 gcc-linaro-6.4.1-2018.05-x86_64_arm-eabi") function make_NT98560_loader_only(){ sed -i 's/^#define LOADER_TYPE[ \t].*/#define LOADER_TYPE STAND_ALONE_LOADER_560/g' ../LibExt/LIBExt_src/Ctrl_Flow/bl_func.h make clean "MODEL=EMU_EVB" make release "MODEL=EMU_EVB" if [ -d "../output" ]; then rm -rf ../output mkdir -p ../output else mkdir -p ../output fi find ../Project/Model/ -name LD*.bin -exec cp {} ../output \; #cp ../Project/Model/Loader560_Data/Release/LD98560A.bin ../output } function make_NT98560_loader_use_ROM_API(){ sed -i 's/^#define LOADER_TYPE[ \t].*/#define LOADER_TYPE STAND_ALONE_LOADER_560/g' ../LibExt/LIBExt_src/Ctrl_Flow/bl_func.h make clean "MODEL=EMU_EVB" "ROM_PUBLIC_API := ON" make release "MODEL=EMU_EVB" "ROM_PUBLIC_API := ON" -j66 if [ -d "../output" ]; then rm -rf ../output mkdir -p ../output else mkdir -p ../output fi find ../Project/Model/ -name LD*.bin -exec cp {} ../output \; #cp ../Project/Model/Loader560_Data/Release/LD98560A.bin ../output } function make_NT98560_loader_not_use_ROM_API(){ sed -i 's/^#define LOADER_TYPE[ \t].*/#define LOADER_TYPE STAND_ALONE_LOADER_560/g' ../LibExt/LIBExt_src/Ctrl_Flow/bl_func.h make clean "MODEL=EMU_EVB" "ROM_PUBLIC_API := OFF" make release "MODEL=EMU_EVB" "ROM_PUBLIC_API := OFF" -j66 if [ -d "../output" ]; then rm -rf ../output mkdir -p ../output else mkdir -p ../output fi find ../Project/Model/ -name LD*.bin -exec cp {} ../output \; #cp ../Project/Model/Loader560_Data/Release/LD98560A.bin ../output } function make_NT98528_loader_only(){ sed -i 's/^#define LOADER_TYPE[ \t].*/#define LOADER_TYPE STAND_ALONE_LOADER_528/g' ../LibExt/LIBExt_src/Ctrl_Flow/bl_func.h make clean "MODEL=EMU_EVB" make clean "MODEL=EMU_EVB_528" make release "MODEL=EMU_EVB_528" if [ -d "../output" ]; then rm -rf ../output mkdir -p ../output else mkdir -p ../output fi find ../Project/Model/ -name LD*.bin -exec cp {} ../output \; #cp ../Project/Model/Loader528_Data/Release/LD98528A.bin ../output } function make_NT9852x_combo_loader(){ if [ -d "../output" ]; then rm -rf ../output mkdir -p ../output else mkdir -p ../output fi sed -i 's/^#define LOADER_TYPE[ \t].*/#define LOADER_TYPE COMBINATION_52x/g' ../LibExt/LIBExt_src/Ctrl_Flow/bl_func.h make clean "MODEL=EMU_EVB" make release "MODEL=EMU_EVB" "BIN_NAME=LDCOMBOA" "52x_528_COMBO=ON" find ../Project/Model/ -name LD*.bin -exec cp {} ../output/LD9852XA.bin \; #cp ../Project/Model/Loader525_Data/Release/LDCOMBOA.bin ../output/LD98525A.bin sed -i 's/^#define LOADER_TYPE[ \t].*/#define LOADER_TYPE COMBINATION_528/g' ../LibExt/LIBExt_src/Ctrl_Flow/bl_func.h make clean make release "MODEL=EMU_EVB_528" "BIN_NAME=LDCOMBOA" find ../Project/Model/ -name LD*.bin -exec cp {} ../output/LD98528A.bin \; #cp ../Project/Model/Loader528_Data/Release/LDCOMBOA.bin ../output/LD98528A.bin cat ../output/LD9852XA.bin ../output/LD98528A.bin > ../output/LDCOMBOA.bin sed -i 's/^#define LOADER_TYPE[ \t].*/#define LOADER_TYPE STAND_ALONE_LOADER_52x/g' ../LibExt/LIBExt_src/Ctrl_Flow/bl_func.h } function make_NT98560_eth_write_loader(){ sed -i 's/^#define LOADER_TYPE[ \t].*/#define LOADER_TYPE STAND_ALONE_LOADER_560/g' ../LibExt/LIBExt_src/Ctrl_Flow/bl_func.h sed -i 's/^STORAGEEXT =[ \t].*/STORAGEEXT = Eth/g' ../Project/Model/ModelConfig_EMU_EVB.txt rm -rf ../Project/Model/Loader56* make clean "MODEL=EMU_EVB" make release "MODEL=EMU_EVB" if [ -d "../output" ]; then rm -rf ../output mkdir -p ../output else mkdir -p ../output fi find ../Project/Model/ -name loader.bin -exec cp {} ../output \; #cp ../Project/Model/Loader525_Data/Release/LD98525A.bin ../output } function make_NT98528_eth_write_loader(){ if [ -d "../output" ]; then rm -rf ../output mkdir -p ../output else mkdir -p ../output fi sed -i 's/^#define LOADER_TYPE[ \t].*/#define LOADER_TYPE COMBINATION_528/g' ../LibExt/LIBExt_src/Ctrl_Flow/bl_func.h make clean make release "MODEL=EMU_EVB_528" "BIN_NAME=LDCOMBOA" find ../Project/Model/ -name loader.bin -exec cp {} ../output/loader.bin \; #cp ../Project/Model/Loader528_Data/Release/LDCOMBOA.bin ../output/LD98528A.bin #cat ../output/LD9852XA.bin ../output/LD98528A.bin > ../output/LDCOMBOA.bin sed -i 's/^#define LOADER_TYPE[ \t].*/#define LOADER_TYPE STAND_ALONE_LOADER_52x/g' ../LibExt/LIBExt_src/Ctrl_Flow/bl_func.h } function make_NT98560_sqa_fastboot_test_nand(){ cp ../LibExt/LIBExt_src/Ctrl_Flow/bl_func.h ../LibExt/LIBExt_src/Ctrl_Flow/bl_func_tmp.h cp ../Project/Model/Src/prj_main.h ../Project/Model/Src/prj_main_tmp.h cp ../Project/Model/Src/prj_main.c ../Project/Model/Src/prj_main_tmp.c sed -i 's/^#define LOADER_TYPE[ \t].*/#define LOADER_TYPE STAND_ALONE_LOADER_560/g' ../LibExt/LIBExt_src/Ctrl_Flow/bl_func.h sed -i 's/^#define DEBUG_MSG[ \t].*/#define DEBUG_MSG (DISABLE)/g' ../Project/Model/Src/prj_main.h sed -i 's/^[ \t]\/\/strg_obj->flash_setFrequency(96);*/strg_obj->flash_setFrequency(96);/g' ../Project/Model/Src/prj_main.c make clean "MODEL=EMU_EVB" make release "MODEL=EMU_EVB" if [ -d "../output" ]; then rm -rf ../output mkdir -p ../output else mkdir -p ../output fi find ../Project/Model/ -name LD*.bin -exec cp {} ../output \; cp ../LibExt/LIBExt_src/Ctrl_Flow/bl_func_tmp.h ../LibExt/LIBExt_src/Ctrl_Flow/bl_func.h cp ../Project/Model/Src/prj_main_tmp.h ../Project/Model/Src/prj_main.h cp ../Project/Model/Src/prj_main_tmp.c ../Project/Model/Src/prj_main.c #cp ../Project/Model/Loader560_Data/Release/LD98560A.bin ../output } echo -e "Please select NMAKE environment:" echo -e "1. make NT9856x standalone loader(MODEL = EMU_EVB)" echo -e "2. make NT9856x (tee) loader(MODEL = EMU_EVB)" echo -e "3. make NT9856x loader(MODEL = EMU_EVB) use ROM Public API" echo -e "4. make NT9856x loader(MODEL = EMU_EVB) Not use ROM Public API" #echo -e "3. make NT9852x & NT98528 combination loader" echo -e "5. make NT98560 Eth write loader(MODEL = EMU_EVB)" #echo -e "5. make NT98528 Eth write loader(MODEL = EMU_EVB_528)" echo -e "-------------------------------------------------------" echo -e "6. make NT98560 power down loader(MODEL = EMU_EVB)" echo -e "s. make NT98560 for SQA fastboot test(internal usage)" read NMAKE_ENV case ${NMAKE_ENV} in "1") make_NT98560_loader_only; ;; "2") sed -i 's/^#define SDRAM_Start_FW[ \t].*/#define SDRAM_Start_FW 0x02800000/g' ../LibExt/LIBExt_src/Ctrl_Flow/bl_func.h make_NT98560_loader_only; sed -i 's/^#define SDRAM_Start_FW[ \t].*/#define SDRAM_Start_FW 0x02000000/g' ../LibExt/LIBExt_src/Ctrl_Flow/bl_func.h ;; "3") make_NT98560_loader_use_ROM_API; ;; "4") make_NT98560_loader_not_use_ROM_API; ;; "5") make_NT98560_eth_write_loader; ;; "6") make_NT98560_loader_only; ./../Tools/Bin/bin2byte_linux ../output/LD98560A.bin v_resume_ldr 4 > ../output/pdn.txt ;; "s") make_NT98560_sqa_fastboot_test_nand; ;; *) echo -e "exit" ;; esac