代码改变世界

博通Armino 环境搭建

2025-06-23 19:23  qgbo  阅读(174)  评论(0)    收藏  举报

1.  Docker部署 — 博通集成 ARMINO IDK 开发框架 文档

    1.1 先安装环境,使用podman, 下载podman.exe,  先要启用WSL

         运行podman.exe,安装之后,命令行执行:

             podman machine init    

             podman machine start, 或者  podman machine set --rootful

         这样就可以用docker  命令了。

   1.2 上面的网址,有镜像下载地址。 docker -i load xxx.tar

2.   快速入门 — 博通集成 ARMINO AVDK开发框架 文档

    2.1  下载代码到podman。如果是zip 包下载的(git clone 可能也会有这个现象),需要处理 windows 的换行问题

cd bk_avdk
ls
Makefile Makefile.txt bk_idk build build.sh build_all.sh build_avdk.sh build_doc.sh components docs projects tools

sudo dnf install dos2unix
find . -type f -exec dos2unix {} \;

docker run  -v $PWD:/armino -w /armino  -it --rm 2678874150ea bash
make bk7258 # 容器内部执行。 make bk7258 PROJECT=media/doorbell 
# docker run  -v $PWD:/armino -w /armino  -it  --rm 2678874150ea make bk7258 PROJECT=media/doorbell 

 默认编译的是 media/doorbell ,  源码在bk_avdk\projects\media\doorbell ,   编译之后,会有一个 build 文件夹。

3. 一步编译烧录。 编译烧录需要点击好几次按钮, 中间还有停顿。

   使用powershell 脚本:一键完成编译烧录。可以放在脚本里执行。(也可以把参数PROJECT拿出来), 这个脚本可以放在任意位置

podman machine ssh docker run  -v "./avdk/bk_avdk:/armino" -w "/armino"    --rm 2678874150ea "make bk7258 PROJECT=peripheral/lcd_rgb888"

$filePath="\\wsl.localhost\podman-machine-default\home\user\wangpan\bk_avdk-main\build\h264_sw_dec\bk7258\all-app.bin"
$creationTime = (Get-Item $filePath).CreationTime

$currentTime = Get-Date

# 计算创建时间与当前时间的差值(秒)
$timeDiffSeconds = ($currentTime - $creationTime).TotalSeconds

echo $creationTime
echo $timeDiffSeconds

# 检查是否小于 30 秒
if ($timeDiffSeconds -gt 30) {
Write-Error "create $creationTime, diff $timeDiffSeconds s "
exit 1 # 退出脚本,返回错误码 1
}echo

 


D:\Work\www\from_wangpan\BEKEN_BKFIL_V2.1.12.1_20250424\BEKEN_BKFIL_V2.1.12.1_20250424\bk_loader.exe  download -p 4 -b 2000000 -i \\wsl.localhost\podman-machine-default\home\user\avdk\bk_avdk\build\lcd_rgb888\bk7258\all-app.bin

 

make bk7258 PROJECT=lvgl/music, 这个make 是个软连接。
这会在tools 下面,执行 make 子命令:
make bk7258 
PROJECT_DIR=../projects/lvgl/music 
BUILD_DIR=../build/lvgl/music 
APP_NAME= 
APP_VERSION=unknownn 
-C /armino/bk_idk

 这个命令,会去/armino/bk_idk 下,执行其makefile, 这个是软连接: /armino/bk_idk/tools/build_tools/build_files/Makefile, 这个会解析 PROJECT_DIR 等参数。

之后去执行 /armino/bk_idk/tools/build_tools/build.sh <current_dir> ../projects/lvgl/music ../build/lvgl/music bk7258   这个又会执行 下面:

python3 /armino/bk_idk/tools/build_tools/compute_files_hash.py /armino/bk_idk/components/bk_libs/bk7258_cp1/libs
/armino/bk_idk/tools/build_tools/armino -B /armino/bk_idk/../build/lcd_rgb888/bk7258_cp1 -P /armino/bk_idk/../projects/peripheral/lcd_rgb888 set-target bk7258_cp1
/armino/bk_idk/tools/build_tools/armino_as_lib.sh bk7258_cp1 /armino/bk_idk /armino/bk_idk/../build/lcd_rgb888/bk7258_cp1 peripheral/lcd_rgb888