2023-08-20 20:52:23 +08:00
|
|
|
cmake_minimum_required(VERSION 3.13)
|
|
|
|
|
|
2024-10-07 16:49:32 +08:00
|
|
|
math(EXPR BOOTFS_OFFSET "${CONFIG_BOOTSTRAP_TEXT_SIZE} + ${CONFIG_KNL_TEXT_SIZE} + ${CONFIG_DTBO_TEXT_SIZE}")
|
|
|
|
|
math(EXPR KNL_OFFSET "${CONFIG_BOOTSTRAP_TEXT_SIZE} + ${CONFIG_DTBO_TEXT_SIZE}")
|
2025-01-21 16:20:51 +08:00
|
|
|
math(EXPR APPFS_IMG_SIZE "${CONFIG_SYS_TEXT_SIZE} - ${BOOTFS_OFFSET}")
|
2023-08-20 20:52:23 +08:00
|
|
|
add_custom_target(
|
|
|
|
|
mkrtos_img_dump ALL
|
|
|
|
|
COMMAND
|
2024-10-07 16:49:32 +08:00
|
|
|
dtc -I dts -O dtb -o ${CMAKE_SOURCE_DIR}/build/output/dtbo ${CMAKE_SOURCE_DIR}/mkrtos_configs/${BOARD}.dts
|
2024-11-01 17:17:20 +08:00
|
|
|
COMMAND
|
|
|
|
|
cd ${CMAKE_SOURCE_DIR}/build/output/cpio
|
2024-10-07 16:49:32 +08:00
|
|
|
COMMAND
|
2024-11-01 17:17:20 +08:00
|
|
|
ls | cpio -H newc -o > ${CMAKE_SOURCE_DIR}/build/output/rootfs.cpio
|
2023-08-29 16:16:25 +08:00
|
|
|
COMMAND
|
2025-01-25 15:29:06 +08:00
|
|
|
${CMAKE_SOURCE_DIR}/mkrtos_user/server/fs/appfs/src/build/appfs -g ${CMAKE_SOURCE_DIR}/build/output/cpio -o ../appfs.img -s ${APPFS_IMG_SIZE} -b 4096 -j
|
2025-01-21 16:20:51 +08:00
|
|
|
COMMAND
|
2023-08-20 20:52:23 +08:00
|
|
|
srec_cat -output ${CMAKE_SOURCE_DIR}/build/output/kernel.img -binary
|
|
|
|
|
${CMAKE_SOURCE_DIR}/build/output/bootstrap -binary -offset 0x0
|
2024-10-07 16:49:32 +08:00
|
|
|
${CMAKE_SOURCE_DIR}/build/output/dtbo -binary -offset ${CONFIG_BOOTSTRAP_TEXT_SIZE}
|
|
|
|
|
${CMAKE_SOURCE_DIR}/build/output/mkrtos -binary -offset ${KNL_OFFSET}
|
2025-01-21 16:20:51 +08:00
|
|
|
${CMAKE_SOURCE_DIR}/build/output/appfs.img -binary -offset ${BOOTFS_OFFSET}
|
2023-09-26 23:40:54 +08:00
|
|
|
COMMAND
|
2024-10-31 10:37:48 +08:00
|
|
|
${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/build/output/kernel.img ${CMAKE_SOURCE_DIR}/build/output/kernel.bin
|
2024-01-27 15:40:05 +08:00
|
|
|
COMMAND
|
2023-09-26 23:40:54 +08:00
|
|
|
${CMAKE_OBJCOPY} -I binary -O elf32-littlearm -B arm ${CMAKE_SOURCE_DIR}/build/output/kernel.img
|
2024-11-01 17:17:20 +08:00
|
|
|
${CMAKE_SOURCE_DIR}/build/output/kernel.img.out --rename-section .data=.text
|
2023-09-26 23:40:54 +08:00
|
|
|
COMMAND
|
2025-01-21 16:20:51 +08:00
|
|
|
${CMAKE_OBJCOPY} --change-section-address .text=${CONFIG_SYS_TEXT_ADDR} ${CMAKE_SOURCE_DIR}/build/output/kernel.img.out
|
|
|
|
|
|
|
|
|
|
#以下命令用于生成binutils链接需要的库
|
2025-01-25 15:29:06 +08:00
|
|
|
# COMMAND
|
|
|
|
|
# cd ../../
|
|
|
|
|
# COMMAND
|
|
|
|
|
# rm -f -r usr_lib
|
|
|
|
|
# COMMAND
|
|
|
|
|
# mkdir -p usr_lib
|
|
|
|
|
# COMMAND
|
|
|
|
|
# find mkrtos_user -name "*.a" | xargs cp -t usr_lib
|
|
|
|
|
# COMMAND
|
|
|
|
|
# cd usr_lib
|
|
|
|
|
# COMMAND
|
|
|
|
|
# ${CMAKE_AR} x libmuslc.a
|
|
|
|
|
# COMMAND
|
|
|
|
|
# ${CMAKE_AR} x liblibc_be.a
|
|
|
|
|
# COMMAND
|
|
|
|
|
# ${CMAKE_AR} x libsys.a
|
|
|
|
|
# COMMAND
|
|
|
|
|
# ${CMAKE_AR} x libsys_svr.a
|
|
|
|
|
# COMMAND
|
|
|
|
|
# ${CMAKE_AR} x libsys_util.a
|
|
|
|
|
# COMMAND
|
|
|
|
|
# ${CMAKE_AR} x libutil.a
|
|
|
|
|
# COMMAND
|
|
|
|
|
# ${CMAKE_AR} cr libnewc.a *.obj
|
|
|
|
|
# COMMAND
|
|
|
|
|
# rm *.obj
|
2023-08-20 20:52:23 +08:00
|
|
|
)
|
|
|
|
|
add_dependencies(mkrtos_img_dump
|
|
|
|
|
bootstrap_dump
|
|
|
|
|
mkrtos_dump
|
2024-04-11 12:00:49 +08:00
|
|
|
init_dump
|
|
|
|
|
shell_dump
|
2025-02-12 17:29:30 +08:00
|
|
|
appfs_dump
|
|
|
|
|
vi_dump
|
|
|
|
|
tst_dump
|
2025-02-13 11:18:19 +08:00
|
|
|
# eth_dump
|
|
|
|
|
# nes_dump
|
|
|
|
|
# net_dump
|
2023-08-20 20:52:23 +08:00
|
|
|
)
|