黑芝麻A1000开发笔记(一)搭建开发环境(ubuntu24.04)

前言

因工作需要,笔者需要一张算力比较强的板子,偶然看到了黑芝麻A1000开发板,马上入手了一张,进行基础验证。黑芝麻比较保持,虽然笔者入手已经近一月,到写本文档时,仍然未能成功注册官方论坛(论坛只对内部开发,无回复)。无奈笔者只能从第三方获取了点资料(从修改时间上看,基本上是2年前的),进行个人研究。因无人指导,又且资料不全,笔者的笔记仅供参考。

可能是笔者手头的资料不全吧,感觉官方很不友好,必需要使用交叉编译,且开发环境是放置在docker中的容器。

笔者对docker了解不多,第一次安装docker后,发现容器内是ubuntu18.04,无可视化界面,无法联网,无法远程登陆……总之问题不少。为方便自己开发,本次文档记录下,如何搭建一个ubuntu24.04的开发环境

一、获取黑芝麻A1000资源

从笔者获取的文档看,需要到黑芝麻的论坛上去下载对应资料

论坛地址:资料

可惜笔者没有啊(有谁能帮笔者注册个呢)

找到资源中/sdk_docker/document_release/bstos/[BST-OS-SDK-user-guide]BST-OS-SDK用户指南.pdf,这个文档记录了一些基本的东西,在开发前,可以参考下

decker的镜像在/sdk_docker/SDK-Docker-ec-3.2.1.0.zip里面,直接复制到ubuntu24.04中,自己找个地方,并解压就可以。解压完成后,得到a1000b-sdk-ec-3.2.1.0.tar和run_docker.sh两个文件

 

注:目录不要出现中文或空格

二、配置docker

1.安装docker

笔者直接执行以下命令,在线安装的

sudo apt-get install docker.io

笔者没有使用官方最新的安装包,这也可能是导致连网络都也没法使用的原因 

2.修改启动脚本

启动脚本,就是解压出的文件run_docker.sh,使用文本编辑器打开,找到如下部分(基本上是最后面的部分)

修改后如下

解释下,使用-v参数,可以把docker里的系统镜像,与外部系统关联下

-v后面的参数,分两部分。使用冒号:分开

(1)冒号前面的部分,是主机的挂载点

若此挂载点以根目录开始,如/opt/bstos,等效于把主机的此目录,直接挂载到docker里的系统中

若此挂载点是个字符串,如bstos,等效于把docker里的系统中目录,直接挂载到主机的目录上(具体的目录,需要使用命令查询下)

(2)冒号后面的部分,对应docker里的系统中的挂载点

以本次为例,是把docker里的系统目录/opt/bstos,直接挂载到主机的目录上(具体的目录,需要使用命令查询下,下文有操作的)

3.加载并运行docker镜像

进入到解压目录,直接执行如下命令

./run_docker.sh

 当然,若文件缺少可执行权限,需要自己添加下

接下来的加载时间会比较长,需要耐心等待下

运行成功后,直接进行docker镜像的shell中,使用的用户是root

关于docker的具体用法,请当你们自己查询

4.查询主机挂载目录

在主机的shell中,输入如下命令查询

sudo docker volume inspect bstos

以本次示例,笔者的输出如下

 

 即把docker里的系统目录/opt/bstos,直接挂载到主机的/var/lib/docker/volumes/bstos/_data目录上

三、复制所需的交叉编译器文件

在主机创建目录/opt/bstos,并添加权限为可读写执行

注:目录一定要和镜像中的一样,否则可能会出错

然后把主机的/var/lib/docker/volumes/bstos/_data目录中的内容,复制到主机目录/opt/bstos中

复制的文件比较多,需要等一会

四、测试交叉编译器

打开主机的shell终端,新建个文本1111.c,输入如下内容

#include <stdio.h>

int main() 
{
    printf("test 111111\n");
    return 0;
}

 找到/opt/bstos/3.2.1.0/environment-setup-aarch64-bst-linux,增加可执行权限,并执行

chmod +x /opt/bstos/3.2.1.0/environment-setup-aarch64-bst-linux

source /opt/bstos/3.2.1.0/environment-setup-aarch64-bst-linux

查看执行后是否生效

 然后编译下1111.c,执行以下命令

aarch64-bst-linux-gcc 1111.c --sysroot=/opt/bstos/3.2.1.0/sysroots/aarch64-bst-linux

 

因为未指定输出文件,所以生成a.out,并且在当前主机上无法正常执行

当前都符合预期,下一篇文档,记录下将生成的文件,放板子上运行 

后记

从教程上看,笔者没有实际测试交叉编译器,需要后面完善

笔者比较好奇,官方没有提供win下,可以直接使用的交叉编译器吗?感觉应该有,但笔者目前没有得到而已

  • 18
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

꧁白杨树下꧂

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值