mac下的vscode配置编译环境

基础开发环境

创建Dockerfile文件,内容如下:

复制代码
FROM ubuntu:20.04

RUN apt update & apt install make gcc cmake git ninja-build -y
CMD [ "sleep", "infinity" ]

创建docker-compose.yml文件,内容如下:

复制代码
version: '3.4'

services:
  aipiopenkits:
    volumes:
      - /Users/xxx/AiPi/AiPi-Open-Kits:/workspace
    devices:
      - /dev/ttyUSB0:/dev/ttyS0
    platform: linux/x86_64
    image: ubuntu:my
    build:
      context: .
      dockerfile: ./Dockerfile

进入容器后,下载需要的包

复制代码
apt update & apt install vim make -y

为了避免第二次启动时,把原来已经创建的容器内的文件删掉。所以之后可以去掉docker-compose.yml中的build部分,已避免第二次编译docker镜像。

vim ~/.bashrc

最后加上 export PATH=$PATH:/workspace/aithinker_Ai-M6X_SDK/toolchain/bin

这样的话,就不用每次都export了,直接就可以编译

代码的友好阅读

vscode自定义编译工具链的路径

在.vscode目录下创建

复制代码
/workspace/aithinker_Ai-M6X_SDK/toolchain/bin/riscv64-unknown-elf-gcc

vscode解决头文件无法跳转的问题

复制代码
${workspaceFolder}/**
/workspace/aithinker_Ai-M6X_SDK/toolchain/riscv64-unknown-elf/**/**
/workspace/aithinker_Ai-M6X_SDK/components/**/**
/workspace/aithinker_Ai-M6X_SDK/drivers/**/**

以上2步,可以直接操作文件来实现 .vscode/c_cpp_properties.json

复制代码
{
    "configurations": [
        {
            "name": "Linux",
            "includePath": [
                "${workspaceFolder}/**",
                "/workspace/aithinker_Ai-M6X_SDK/toolchain/riscv64-unknown-elf/**/**",
                "/workspace/aithinker_Ai-M6X_SDK/components/**/**",
                "/workspace/aithinker_Ai-M6X_SDK/drivers/**/**",
                "/workspace/aithinker_Ai-M6X_SDK/bsp/common/**/**"
            ],
            "defines": [],
            "cStandard": "c17",
            "cppStandard": "c++98",
            "intelliSenseMode": "linux-gcc-x64",
            "compilerPath": "/workspace/aithinker_Ai-M6X_SDK/toolchain/bin/riscv64-unknown-elf-gcc"
        }
    ],
    "version": 4
}

同时为解决vscode默认编译环境的问题,需改.vscode/settings.json中的

复制代码
{
    "C_Cpp.default.compilerPath": "/workspace/aithinker_Ai-M6X_SDK/toolchain/bin/riscv64-unknown-elf-gcc",
} 

MAC下无法编译,验证完毕

编译工具链步骤

参考文档 https://github.com/p4ddy1/pine_ox64/blob/main/build_toolchain_macos.md

依赖

资源

brew install --build-from-source gawk gnu-sed gmp mpfr libmpc isl zlib expat

zlib会下载失败,想办法科学上网,一道无形的阻力,压制了无数大佬的血统😀

brew install --build-from-source coreutils

brew install --build-from-source texinfo

brew tap riscv-software-src/riscv

brew install riscv-tools

复制代码
$ git clone --recurse-submodules https://github.com/T-head-Semi/xuantie-gnu-toolchain.git
$ git clone https://github.com/bouffalolab/bl_mcu_sdk.git
相关推荐
zeroporn9 分钟前
在Mac M1/M2上使用Hugging Face Transformers进行中文文本分类(完整指南)
macos·分类·数据挖掘·nlp·transformer·预训练模型·文本分类
FreeBuf_38 分钟前
CVE-2025-31258 macOS远程视图服务沙箱逃逸漏洞PoC已公开
macos
小宋加油啊38 分钟前
Mac QT水平布局和垂直布局
开发语言·qt·macos
猎板阿权38 分钟前
出于PCB设计层面考虑,连排半孔需要注意哪些事项?
单片机·物联网·平面
#金毛38 分钟前
如何使用C51的Timer0实现定时功能
单片机·嵌入式硬件
翻滚吧键盘1 小时前
idea中ctrl+/注释,总是出现在最前行
java·ide·intellij-idea
Flocx1 小时前
在 STM32 上使用 register 关键字
stm32·单片机·嵌入式硬件
GodKK老神灭1 小时前
STM32 __main
stm32·单片机
梁下轻语的秋缘1 小时前
STM32 ADC 模数转换器详解:原理、配置与应用
stm32·单片机·嵌入式硬件
fanstering1 小时前
mac一键安装gpt-sovit教程中,homebrew卡住不动的问题
gpt·macos