flyingcys / rt-thread

RT-Thread is an open source IoT operating system.
http://www.rt-thread.io
Apache License 2.0
0 stars 1 forks source link

[bsp/cvitek] Update packaging method #42

Closed flyingcys closed 2 months ago

flyingcys commented 3 months ago

Use pre-build files to reduce compilation time

More detailed requirements, see https://github.com/RT-Thread/rt-thread/issues/9060.

拉取/合并请求描述:(PR description)

[

为什么提交这份PR (why to submit this PR)

修改打包方式 为预编译文件方式,提高编译速度

你的解决方案是什么 (what is your solution)

请提供验证的bsp和config (provide the config and bsp)

]

当前拉取/合并请求的状态 Intent for your PR

必须选择一项 Choose one (Mandatory):

代码质量 Code Quality:

我在这个拉取/合并请求中已经考虑了 As part of this pull request, I've considered the following:

unicornx commented 3 months ago

采用 pre-build 方案后,应该不需要下载 bootloadr 目录了。

bsp/cvitek/board_env.sh 中的 check_bootloader 函数需要去掉。

unicornx commented 3 months ago

目前有了 prebuild 目录后,所以我建议将 bsp/cvitek/mkimage 移动到 bsp/cvitek/pre-build/tools 下去。因为这个明显也是一个 prebuild 的可执行文件。

unicornx commented 3 months ago

bsp/cvitek/mksdimg.shbsp/cvitek/combine-fip.sh 中有重复的代码, 是否可以合并到 board_env.sh 中去?

get_board_type

echo $BOARD_TYPE
if [ "${BOARD_TYPE}" == "milkv-duo" ]; then
    MV_BOARD_LINK="cv1800b_milkv_duo_sd"
    CHIP_ARCH="cv180x"
elif [ "${BOARD_TYPE}" == "milkv-duo-spinand" ]; then
    MV_BOARD_LINK="cv1800b_milkv_duo_spinand"
    CHIP_ARCH="cv180x"
elif [ "${BOARD_TYPE}" == "milkv-duo-spinor" ]; then
    MV_BOARD_LINK="cv1800b_milkv_duo_spinor"
    CHIP_ARCH="cv180x"
elif [ "${BOARD_TYPE}" == "milkv-duo256m" ]; then
    MV_BOARD_LINK="cv1812cp_milkv_duo256m_sd"
    CHIP_ARCH="cv181x"
elif [ "${BOARD_TYPE}" == "milkv-duo256m-spinand" ]; then
    MV_BOARD_LINK="cv1812cp_milkv_duo256m_spinand"
    CHIP_ARCH="cv181x"
elif [ "${BOARD_TYPE}" == "milkv-duo256m-spinor" ]; then
    MV_BOARD_LINK="cv1812cp_milkv_duo256m_spinor"
    CHIP_ARCH="cv181x"
fi
unicornx commented 3 months ago

走读代码时发现两个以前就存在的代码问题,都不大,建议在这个 pr 中一起修正掉:

一个是 bsp/cvitek/c906_little/rtconfig.py, bsp/cvitek/cv18xx_aarch64/rtconfig.pybsp/cvitek/cv18xx_risc-v/rtconfig.py 中都定义了 DUMP_ACTION。但实际上不会执行,建议删掉。

还有一个是 bsp/cvitek/board_env.sh 中的 get_board_type 函数中最后两行 export 前缩进格式有问题,需要对齐。

unicornx commented 3 months ago

请确认一下,本次修改对 bsp/cvitek/cv18xx_aarch64 还有影响?

我看 bsp/cvitek/cv18xx_aarch64/rtconfig.py 中也会有调用 mksdimg.sh 的逻辑。

BTW,想问一下现在 arm 核的状态,这个现在是否在积极维护中,我这边其实一直没有怎么关注过这个,但是 build 这边似乎 arm 和 riscv 有耦合,所以想问问。

flyingcys commented 3 months ago

请确认一下,本次修改对 bsp/cvitek/cv18xx_aarch64 还有影响?

我看 bsp/cvitek/cv18xx_aarch64/rtconfig.py 中也会有调用 mksdimg.sh 的逻辑。

BTW,想问一下现在 arm 核的状态,这个现在是否在积极维护中,我这边其实一直没有怎么关注过这个,但是 build 这边似乎 arm 和 riscv 有耦合,所以想问问。

arm和我这边没有做具体测试和运行,这个bsp一开始也不是我弄的,我这边不是很清楚。

unicornx commented 3 months ago

请确认一下,本次修改对 bsp/cvitek/cv18xx_aarch64 还有影响? 我看 bsp/cvitek/cv18xx_aarch64/rtconfig.py 中也会有调用 mksdimg.sh 的逻辑。 BTW,想问一下现在 arm 核的状态,这个现在是否在积极维护中,我这边其实一直没有怎么关注过这个,但是 build 这边似乎 arm 和 riscv 有耦合,所以想问问。

arm和我这边没有做具体测试和运行,这个bsp一开始也不是我弄的,我这边不是很清楚。

就是说 arm 这边还有谁在维护?如果没有人维护,这是一个问题啊,那还不如删除了事 :)

RTT 这边有 maintainer 的概念吗?否则出现无人认领的情况,以后怎么办啊,现在这个 arm 就是一个问题。

unicornx commented 3 months ago

请确认一下,本次修改对 bsp/cvitek/cv18xx_aarch64 还有影响? 我看 bsp/cvitek/cv18xx_aarch64/rtconfig.py 中也会有调用 mksdimg.sh 的逻辑。 BTW,想问一下现在 arm 核的状态,这个现在是否在积极维护中,我这边其实一直没有怎么关注过这个,但是 build 这边似乎 arm 和 riscv 有耦合,所以想问问。

arm和我这边没有做具体测试和运行,这个bsp一开始也不是我弄的,我这边不是很清楚。

好吧, arm 的事情先放放,这个 pr 先不考虑 arm 的事情。但请在 commit 的 message 中注明。

因为我考虑这个 feature 也是需要回主线的,所以 arm 的事情最终还是要确认下来,我会另外去找熊大他们确认,包括 maintainer 的事情。已经提单跟踪:https://github.com/flyingcys/rt-thread/issues/45

flyingcys commented 3 months ago

采用 pre-build 方案后,应该不需要下载 bootloadr 目录了。

bsp/cvitek/board_env.sh 中的 check_bootloader 函数需要去掉。

可以删除

flyingcys commented 3 months ago

bsp/cvitek/mksdimg.shbsp/cvitek/combine-fip.sh 中有重复的代码, 是否可以合并到 board_env.sh 中去?

get_board_type

echo $BOARD_TYPE
if [ "${BOARD_TYPE}" == "milkv-duo" ]; then
  MV_BOARD_LINK="cv1800b_milkv_duo_sd"
  CHIP_ARCH="cv180x"
elif [ "${BOARD_TYPE}" == "milkv-duo-spinand" ]; then
  MV_BOARD_LINK="cv1800b_milkv_duo_spinand"
  CHIP_ARCH="cv180x"
elif [ "${BOARD_TYPE}" == "milkv-duo-spinor" ]; then
  MV_BOARD_LINK="cv1800b_milkv_duo_spinor"
  CHIP_ARCH="cv180x"
elif [ "${BOARD_TYPE}" == "milkv-duo256m" ]; then
  MV_BOARD_LINK="cv1812cp_milkv_duo256m_sd"
  CHIP_ARCH="cv181x"
elif [ "${BOARD_TYPE}" == "milkv-duo256m-spinand" ]; then
  MV_BOARD_LINK="cv1812cp_milkv_duo256m_spinand"
  CHIP_ARCH="cv181x"
elif [ "${BOARD_TYPE}" == "milkv-duo256m-spinor" ]; then
  MV_BOARD_LINK="cv1812cp_milkv_duo256m_spinor"
  CHIP_ARCH="cv181x"
fi

可以合并

flyingcys commented 3 months ago

DUMP_ACTION

DUMP_ACTION 在rt-thread中基本上都有,这个不建议做删除了

unicornx commented 3 months ago

DUMP_ACTION

DUMP_ACTION 在rt-thread中基本上都有,这个不建议做删除了

好吧,先留着,观察一下