目录

前言

一、下载SDK

二、解压SDK.zip

三、导入docker

四、修改启动docker脚本

五、启动编译容器

六、编译SDK

七、烧录镜像

八、开机


前言

开发基于算能BM1688芯片的开发板,目前正在调试中。

一、下载SDK

下载地址:技术资料

 

二、解压SDK.zip

解压后目录

三、导入docker

下载bm1688_docker.tar

python -m dfss --url=open@sophgo.com:/gemini-sdk/docker/bm1688_docker.tar
docker load -i bm1688_docker.tar

注:需要主机docker 服务正常。

四、修改启动docker脚本

run_docker.sh

#!/bin/bash

# run_docker.sh - 智能Docker容器启动脚本
# 功能:封装docker run命令,动态配置用户权限、设备访问和工作空间
# 参数: 
#   $1 = 容器名称 (如 sophon)
#   $2 = 宿主机工作空间绝对路径 (如 /your/workspace/path)

run_docker() {
    # 参数验证
    if [ $# -lt 2 ]; then
        echo "错误: 参数不足!用法: $0 <容器名称> <宿主机路径>"
        echo "示例: $0 sophon /home/user/workspace"
        exit 1
    fi

    local container_name="$1"
    local host_path="$2"
    local project_dir="/project/$1"  # 容器内挂载路径

    # 路径存在性检查
    if [ ! -d "$host_path" ]; then
        echo "错误: 宿主机路径 '$host_path' 不存在或不可访问"
        exit 2
    fi

    # 计算当前用户UID(避免$USER_ID未定义)
    local uid=$(id -u "${USER_ID:-$USER}")

    # 检查容器名称冲突
    if docker ps -a --format '{{.Names}}' | grep -q "^${container_name}$"; then
        echo "警告: 容器名称 '${container_name}' 已存在,自动生成新名称"
        container_name="${container_name}_$(date +%s)"
    fi

    # 执行容器启动
    echo "启动容器:"
    echo "  - 名称: $container_name"
    echo "  - 镜像: bm1688_docker:latest"
    echo "  - UID映射: $uid (宿主用户 → 容器用户)"
    echo "  - 目录映射: $host_path → $project_dir"

    docker run -itd \
        -e LOCAL_USER_ID="$uid" \
        --privileged \
        -v /dev:/dev \
        -v "${host_path}:${project_dir}" \
        --name "$container_name" \
        bm1688_docker:latest \
        /bin/bash

    # 结果验证
    if [ $? -eq 0 ]; then
        echo "✔ 容器启动成功!"
        echo "进入容器命令: docker exec -it $container_name /bin/bash"
    else
        echo "✘ 容器启动失败!请检查错误信息"
        exit 3
    fi
}

# 主执行流程
if [[ "${BASH_SOURCE[0]}" == "${0}" ]]; then
    run_docker "$@"
fi

五、启动编译容器

./run_docker.sh sophon  /home/eternal/work/sophon/1688_code/1688_v2.0_source

 /home/eternal/work/sophon/1688_code/1688_v2.0_source 为sdk代码目录

启动

 docker exec -it sophon /bin/bash

结果

六、编译SDK

1.source build/envsetup_soc.sh
2.defconfig  edge_wevb_emmc
3.clean_edge_all 
4.build_edge_all

编译成功后在\install\soc_edge_wevb_emmc\package_edge\sdcard下

请将SD卡格式化为FAT32格式(如果SD卡上有多个分区,只能使用第一个分区),大小为1GB以上,把这些文件复制到TF卡上。

七、烧录镜像

采用TF卡烧录方式 

请将 BM1688 断电,插入SD卡,并连接串口终端,然后给 BM1688 上电。您将看到 BM1688 自动进入刷机流程:

八、开机

开机后屏幕显示的画面

Logo

电商企业物流数字化转型必备!快递鸟 API 接口,72 小时快速完成物流系统集成。全流程实战1V1指导,营造开放的API技术生态圈。

更多推荐