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
相关推荐
小羊先生car8 分钟前
F429-SysTick(2026/7/22)
stm32·单片机·嵌入式硬件
游戏开发爱好者81 小时前
iOS开发IDE有哪些 Xcode 和 快蝎 轻量替代方案
ide·vscode·ios·个人开发·xcode·swift·敏捷流程
hongmai6668881 小时前
ESP32-C61-WROOM-1-N8R2:Wi-Fi 6与RISC-V融合的中坚力量
人工智能·单片机·嵌入式硬件·物联网·智能家居·risc-v
张太行_2 小时前
vscode在open folder如何设置默认路径
ide·vscode·编辑器
炸膛坦客10 小时前
单片机/C/C++八股:(二十六)IIC 专题(I²C)---- 上集
c语言·c++·单片机
AI的探索之旅17 小时前
AI辅助原理图评审:电源去耦、BOOT引脚、VCAP——19项逐一核查,遗漏?不存在的
人工智能·vscode·嵌入式硬件
GeekArch18 小时前
第24讲:Vibe模式代码风格控制——适配Keil/STM32工程规范
人工智能·stm32·单片机·嵌入式硬件·mcu·决策树·ai编程
Freedom_my19 小时前
STM32项目3
stm32·单片机·嵌入式硬件
国科安芯19 小时前
星间光链路:AS32S601型抗辐射MCU在空间激光通信终端控制中的技术实现
服务器·网络·单片机·嵌入式硬件·物联网·安全·信息与通信
qq_4523962319 小时前
第二篇:《Go 开发环境搭建:SDK、IDE、Module 与 Hello World》
开发语言·ide·golang