| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- #/bin/sh
- #add_firmHead xxx.bin "-n"
- #output fn_$1 fa_$1 fs_$1
- add_firmHead()
- {
- local filename="$1"
- local firmware_gen="tools/firmware_gen.py"
- if [ $# -ge 2 ]; then
- firmArgs="$2" #add k230 firmware head
- cp ${filename} ${filename}.t; python3 ${firmware_gen} -i ${filename}.t -o f${firmArgs##-}${filename} ${firmArgs};
- else
- #add k230 firmware head
- firmArgs="-n"; cp ${filename} ${filename}.t; python3 ${firmware_gen} -i ${filename}.t -o f${firmArgs##-}_${filename} ${firmArgs};
- fi
- rm -rf ${filename}.t
- }
- k230_gzip()
- {
- local filename="$1"
- local k230_gzip_tool="tools/k230_priv_gzip "
- ${k230_gzip_tool} -n8 -f -k ${filename} || ${k230_gzip_tool} -n9 -f -k ${filename} || \
- ${k230_gzip_tool} -n7 -f -k ${filename} || ${k230_gzip_tool} -n6 -f -k ${filename} || \
- ${k230_gzip_tool} -n5 -f -k ${filename} || ${k230_gzip_tool} -n4 -f -k ${filename}
- sed -i -e "1s/\x08/\x09/" ${filename}.gz
- }
- bin_gzip_ubootHead_firmHead()
- {
- local mkimage="tools/mkimage"
- local file_full_path="$1"
- local filename=$(basename ${file_full_path})
- local mkimgArgs="$2"
- local firmArgs="$3"
- [ "$(dirname ${file_full_path})" == "$(pwd)" ] || cp ${file_full_path} .
- k230_gzip ${filename}
- #add uboot head
- ${mkimage} -A riscv -C gzip ${mkimgArgs} -d ${filename}.gz ug_${filename}
- add_firmHead ug_${filename}
- rm -rf ${filename} ${filename}.gz ug_${filename}
- }
- gen_rtt_bin()
- {
- local filename="fw_payload.bin"
- local CONFIG_MEM_RTT_SYS_BASE="0x200000"
- bin_gzip_ubootHead_firmHead "opensbi/build/platform/kendryte/fpgac908/firmware/${filename}" \
- "-O opensbi -T multi -a ${CONFIG_MEM_RTT_SYS_BASE} -e ${CONFIG_MEM_RTT_SYS_BASE} -n rtt"
-
- mv fn_ug_${filename} rtt_system.bin
- }
- build_sbi()
- {
- cc=~/.tools/gnu_gcc/riscv64-linux-musleabi_for_x86_64-pc-linux-gnu/bin/riscv64-unknown-linux-musl-
- if [ -n "$1" ]; then
- cc=$1
- fi
- cd opensbi && make FW_PAYLOAD_PATH=../rtthread.bin FW_FDT_PATH=hw.dtb PLATFORM=kendryte/fpgac908 CROSS_COMPILE=$cc
- cd ..
- }
- build_sbi $1
- gen_rtt_bin
|