[other]: K230启动流程释疑
SoloGao opened this issue · 3 comments
Other
Hello!
K230启动优化指南中提到了K230双核的启动顺序。目前我们有需求在K230 RV M-mode下运行一些RT-Thread程序(程序对RVV和频率没有显著需求),最简单的方式是否是在大核上把opensbi给替换成RTT的M-mode ELF?在这种情况下,CanMV-K230要如何写入sd镜像呢?谢谢!
或者说,能否提供一个更详细的启动流程文档呢?谢谢!
K230_启动优化指南.md
这里的启动流程需要更详细的?
Other
Hello! K230启动优化指南中提到了K230双核的启动顺序。目前我们有需求在K230 RV M-mode下运行一些RT-Thread程序(程序对RVV和频率没有显著需求),最简单的方式是否是在大核上把opensbi给替换成RTT的M-mode ELF?在这种情况下,CanMV-K230要如何写入sd镜像呢?谢谢!
有如下2个解决办法,建议你采用办法1:
解决办法1:把你的RTT的M-mode ELF 文件在uboot下使用mmc 命令读写sd卡。boot_baremetal 1 add size命令执行你的程序。详见uboot下的mmc 和boot_baremetal 命令。
解决办法2:是把你的RTT的M-mode ELF 替换output/k230_canmv_defconfig/common/big-opensbi/platform/kendryte/fpgac908/firmware/fw_payload.bin文件,替换完后执行下make build-image;
请参考如下脚本:
board/common/gen_image_script/gen_image_comm_func.sh
#生成可用uboot引导的rtt版本文件
gen_rtt_bin()
{
local filename="fw_payload.bin"
cd "${BUILD_DIR}/images/big-core/" ;
bin_gzip_ubootHead_firmHead "${BUILD_DIR}/common/big-opensbi/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
[ -f fa_ug_${filename} ] && mv fa_ug_${filename} rtt_system_aes.bin
[ -f fs_ug_${filename} ] && mv fs_ug_${filename} rtt_system_sm.bin
chmod a+r rtt_system.bin;
}