发布时间:2026/9/3 8:02:34
匠芯创Luban/Luban lite开发环境搭建 一、开发环境1、获取源码1.1、下载源码另外记得设置权限sudochown-R$USER:$USERxxx1.1.1、Luban官方地址gitclone https://gitee.com/artinchip/d211.gitgitclone gitgitee:artinchip/d211.git工程结构├── dl -- 第三方源码的压缩包保存目录 ├── output -- 默认的编译输出目录 ├── package -- 各编译源码包/组件的配置 │ ├── Config.in -- menuconfig 配置的顶层入口 │ ├── artinchip -- ArtInChip 开发的组件配置 │ ├── linux -- 内核的配置 │ ├── opensbi -- OpenSBI 的配置 │ ├── uboot -- UBoot 的配置 │ ├── third-party -- 其它开源软件包的配置 │ ├── ... │ ├── prebuilt -- 预编译二进制包的保存目录 ├── source -- 源码保存目录 │ ├── artinchip -- ArtInChip 开发的组件源码目录 不会删除 │ ├── linux-5.10 -- 内核的源码目录 不会删除 │ ├── opensbi -- OpenSBI 的源码目录 不会删除 │ ├── uboot-2021.10 -- U-Boot 的源码目录 不会删除 │ └── third-party -- 其它开源软件包解压后的源码目录 make distclean 会删除 │ ├── target -- 芯片和具体板子的配置 │ └── configs -- 存放项目的配置文件 │ ├── d211_initramfs_defconfig │ ├── d211_per1_mmc_defconfig │ ├── d211_per2_spinand_defconfig │ ├── d211_per2_spinor_defconfig │ ├── d211_fpga_mmc_defconfig │ ├── configs_busybox - ../../package/third-party/busybox/configs/ │ ├── configs_linux_arm - ../../source/linux-5.10/arch/arm/configs/ │ └── configs_uboot - ../../source/uboot-2021.10/configs/ │ ├── tools -- 辅助脚本和工具 │── toolchain -- 编译所使用的 gcc 工具链保存目录 └── Makefile -- SDK 的顶层 Makefile1.1.2、Luban lite官方地址gitclone https://gitee.com/artinchip/luban-lite.gitgitclone gitgitee:artinchip/luban-lite.git工程结构├── application // 存放 APP 入口helloword 应用的 main 函数 │ ├── baremetal │ ├── freertos │ ├── Kconfig │ └── rt-thread ├── bsp // 存放 BSP 代码和 RT-Thread 原生的 bsp 目录功能相同 │ ├── artinchip // ArtInChip SoC 内部的 driver、hal 以及最小系统 sys 代码 │ ├── common // 公共头文件 │ ├── peripheral // 一些外设模块的驱动 │ ├── examples_bare // 各模块使用 HAL 层 API 的示例代码 │ └── examples // 各模块使用 RT-Thread 应用层 API 的示例代码 │ ├── test-alarm │ ├── test-audio │ ├── test-can │ ├── test-dma │ ├── test-qspi │ ├── test-touch │ └── test-uart ├── doc // Luban-Lite SDK 的介绍文档 ├── win_env.bat // 启动 RT-Thread 的 env 工具用于 Windows 环境的开发 ├── win_cmd.bat // 启动 CMD.exe用于 Windows 环境的开发 ├── kernel // 存放各种 RTOS 内核 │ ├── baremetal │ ├── common │ ├── freertos │ └── rt-thread ├── output // SDK 的编译输出 ├── packages // 组件包 │ ├── artinchip // ArtInChip 开发的组件包 │ └── third-party // 第三方的组件包 ├── target // 方案 板级的代码和配置 │ ├── configs // 整个方案的 SDK 配置文件 │ ├── d12x //D12x 开发板配置 │ │ ├── common │ │ ├── demo68-nand │ │ ├── demo68-nor │ │ └── hmi-nor │ ├── d13x //D13x 开发板配置 │ │ ├── common │ │ ├── demo88-nand │ │ ├── demo88-nor │ │ └── kunlunpi88-nor │ ├── d21x //D21x 开发板配置 │ │ ├── common │ │ └── demo128-nand │ └── g73x //G73x 开发板配置 │ ├── common │ ├── scan //扫码头开发板 │ └── demo100-nor ├── toolchain // 解压后的工具链存放目录 └── tools // 一些工具 ├── onestep.sh // ArtInChip 开发的 OneStep 命令行增强工具 └── toolchain // 工具链的压缩包2、自建仓库管理放到GitHubGitHub免费版对个人开发和小团队已经比较友好尤其比Gitee免费版对Git LFS支持更好。1、Luban最合理的长期维护方案GitHub Repo - 源码 GitHub Release - dl/prebuilt/toolchain1、管理架构d211/ ├── source/ ├── package/ ├── target/ ├── tools/ ├── README.md └── prepare_sdk.shGit仓库只保留这些。而大文件放到ReleaseRelease v1.0 ├── dl.tar.zst ├── prebuilt.tar.zst └── toolchain.tar.zst2、操作步骤环境工具sudoaptinstall-ygit-lfs zstd完整上传步骤打包大文件dltar--zstd-cfdl.tar.zst dlprebuilttar--zstd-cfprebuilt.tar.zst prebuilttoolchaintar--zstd-cfprebuilt.tar.zst prebuilt创建GitHub仓库并上传源码别忘记修改.gitignore# 注意修改此文件后请运行命令 git ls-files -i --exclude-standard 以检查是否有任何原本处于跟踪状态的文件在修改后被忽略了。 output/ target/d211/Config.in.old source/third-party/ source/uboot-2021.10/arch/riscv/dts/d211-ddr.dtsi source/uboot-2021.10/arch/riscv/dts/d211-ddr2-512Mb.dtsi source/uboot-2021.10/arch/riscv/dts/d211-ddr3-2Gb.dtsi source/uboot-2021.10/arch/riscv/dts/d211-pinctrl.dtsi source/uboot-2021.10/arch/riscv/dts/d211-qemu.dtsi source/uboot-2021.10/arch/riscv/dts/d211.dtsi tools/scripts/pinmux_check.pyc source/uboot-2021.10/include/dt-bindings/clock/artinchip,aic-cmu.h source/uboot-2021.10/include/dt-bindings/display/artinchip,aic-disp.h source/uboot-2021.10/include/dt-bindings/reset/artinchip,aic-reset.h dl/ dl.tar.zst prebuilt/ prebuilt.tar.zst toolchain/ toolchain.tar.zst上传gitadd.gitcommit-mfirst commitgitpush-uorigin master创建Release进入仓库点击Create a new releaseTag(Create a new Tag)v1.0.0TitleD211 SDK v1.0.0自动下载脚本prepare_sdk.sh#!/bin/bashset-eVERSIONv1.0.0BASE_URLhttps://github.com/username/artinchip-sdk-Luban/releases/download/${VERSION}download_if_missing(){FILE$1if[!-f$FILE];thenechoDownloading$FILE...wget${BASE_URL}/${FILE}fi}download_if_missing dl.tar.zst download_if_missing prebuilt.tar.zst download_if_missing toolchain.tar.zsttar--zstd-xfdl.tar.zsttar--zstd-xfprebuilt.tar.zsttar--zstd-xftoolchain.tar.zstechoSDK ready.拉取gitclone gitgithub.com:username/artinchip-sdk-Luban.gitcdartinchip-sdk-Luban ./prepare_sdk.sh2、Luban lite1、LFS安装并初始化LFSsudoaptinstallgit-lfsgitlfsinstall设置追踪规则在仓库根目录下执行以下命令让 LFS 接管该文件夹下的所有文件gitlfs tracktoolchain/**gitlfs tracktools/toolchain/**提交配置gitadd.gitattributesgitcommit-mchore: 配置指定文件夹和文件使用 Git LFS迁移历史如果大文件之前已经被提交过必须把历史记录也转换过来才可以gitlfs migrateimport--includetoolchain/**--everything2、忽略指定文件编辑.gitignore文件在项目根目录找到或新建.gitignore文件在最后添加规则*.pyc .config .config.old .defconfig .dirlist cconfig.h rtconfig.h partition_table.h .sconsign.dblite .Kconfig.prj *.bak .log/ .cscope/ output/ /toolchain/ build/ !bsp/peripheral/wireless/aic8800/build/ tools/toolchain/Xuantie-900-gcc-elf-newlib-x86_64 tools/toolchain/Xuantie-900-gcc-elf-newlib-mingw tools/env/tools/qemu/qemu-win tools/env/tools/qemu/qemu-linux packages/packages.dbsqlite packages/pkgs_error.json packages/pkgs.json .clang-format .commit .editorconfig .gitattributes /docs-user/test-app/__pycache__/ /docs-user/**/*.log /docs-user/**/*.mp4 /docs-user/**/*.png /docs-user/**/*.jpg /application/rt-thread/**/*.o清理已经被Git跟踪的文件如果这些文件之前已经被误提交了光写.gitignore是没用的需要先从Git缓存中删除gitrm-r--cacheddocs-user/test-app/__pycache__/gitrm-r--cacheddocs-user/**/*.loggitrm-r--cacheddocs-user/**/*.mp4gitrm-r--cacheddocs-user/**/*.pnggitrm-r--cacheddocs-user/**/*.jpggitrm-r--cachedapplication/rt-thread/**/*.ogitcommit-mchore: 移除被误提交的文件3、使用上传gitpush# 有过没有失败但是下载时没有拉到lfs的内容有做以下操作gitlfs push--allorigin master确认LFS状态正常gitlfsenvgitlfs ls-files重新下载时gitclone gitgithub.com:username/artinchip-sdk-LubanLite.gitcdartinchip-sdk-LubanLitegitlfs pull2、环境工具安装官方脚本的工具sudo./tools/scripts/oneclick.sh安装必要工具sudoaptinstall-ygitvimnanoscons git-lfs samba zstd3、共享文件夹目标是Linux上编译/运行Windows上编辑代码两边实时同步像本地磁盘一样访问步骤安装工具sudoaptupdatesudoaptinstallsamba-y创建共享目录mkdir-p/home/mo/my-project/project-sdkchmod777/home/mo/my-project/project-sdk配置编译sudo nano /etc/samba/smb.conf[project] path /home/mo/my-project/project-sdk/gitee/project browseable yes read only no valid users username create mask 0775 directory mask 0775创建用户sudosmbpasswd-amo开启# 开启sudosystemctl restart smbdsudosystemctlenablesmbd# 检查systemctl status smbd连接此电脑-映射网络驱动器-\\ip\project

相关新闻

2026/9/3 8:02:34

风光柴储并网系统MATLAB仿真:从架构设计到调试避坑全解析

简介:本资源是一套完整的风光柴储四源联合发电并网系统MATLAB仿真方案,面向新能源电力系统方向的本科生、研究生及科研工程师,用于理解多能源协同控制、并网稳定性分析与能量管理策略设计。仿真涵盖背靠背永磁直驱风电系统(含MPPT…

2026/9/3 8:17:36

C语言代码规范:从格式到工具,构建可维护的编程基础

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/3 8:17:36

骨传导耳机技术解析:游泳专用骨聆ProfitX W80深度评测

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/3 8:17:36

MATLAB与Coppeliasim联合仿真:UR5机械臂运动控制全流程实践

简介:本资源是一套面向计算机、电子信息工程及数学等专业本科生的UR5机械臂运动控制实践方案,聚焦MATLAB与Coppeliasim协同仿真的核心技能训练,适用于课程设计、期末大作业及毕业设计等中阶工程实践场景。压缩包共15个文件(10个MA…

2026/9/3 8:17:36

Simulink汽油机模型解包与可信度评估指南

简介:本资源是一个面向汽车电子与动力系统仿真初学者及工程实践者的Simulink汽油机建模学习包,聚焦于内燃机动态特性分析与ECU控制策略验证。资源包含8个核心文件(83KB),涵盖.slx主模型文件(兼容R2013a及后…

2026/9/3 8:17:36

工业级水下导航系统:IMU+GPS+DVL融合设计与实操指南

简介:本资源是一个工业级多传感器融合导航系统实现,面向海洋测绘、水下机器人及高精度定位领域的嵌入式开发者与导航算法工程师,解决GPS拒止环境下(如水下、城市峡谷)的连续、高鲁棒性位姿估计问题。项目包含35个文件&…

2026/9/1 16:02:17

vSound小提琴数字处理器实操指南:从接线到演出的完整配置

电小提琴或者原声小提琴插电演出,第一个绕不开的坎就是声音难听。原声琴的共鸣和空气感一旦进了拾音器,出来的往往是一坨干瘪、发尖、带着奇怪塑料味的信号。我当初第一次把琴接上乐队调音台,直接被主唱吐槽"你这声音像在锯钢丝"。…

2026/9/2 9:00:32

传感器接口IC如何攻克生物化学传感的微弱信号难题?

1. 从电极到比特流:为什么生物化学传感必须依赖专用接口IC 做生物化学传感的人都有过类似的经历:明明传感器本身性能很好,信号输出却一塌糊涂——噪声大、漂移明显、重复性差,怎么调都达不到预期。很多时候问题并不在传感器&#…

2026/9/2 8:41:06

STM32F411CEU6多通道ADC采集:扫描模式+DMA实现详解

1. 多通道 ADC 的用武之地把“Multichannel ADC”和“STM32F411CEU6”这两个关键字放在一起,其实就是嵌入式开发里最常遇到的一类需求:用一块不算贵的 MCU,同时采集多路模拟信号。STM32F411CEU6 是 48 引脚的 Cortex-M4F 主控,主频…

2026/9/3 0:02:06

零基础装 OpenClaw 小龙虾 AI:Windows 一键部署教程与避坑要点

Windows 部署 OpenClaw 完整教程|本地 AI 智能体 5 分钟落地,环境配置一次搞定 版本说明:Windows 3.1.0 / Mac 2.7.9 写在前面 近两年开源 AI 领域有一款被称作「数字员工」的工具持续走热,它就是 OpenClaw,圈内人更习…

2026/9/3 0:02:06

Hermes Agent 本地部署新方案:Windows 整合包减少依赖报错

Windows 本地部署 Hermes 太麻烦?这版一键包 5 分钟快速跑通 很多人想体验 Hermes Agent,但真正开始部署时,往往会卡在环境配置这一步。 需要安装各类依赖、调试运行环境、处理路径问题,还容易遇到命令行报错、系统拦截、文件缺…

2026/9/3 0:02:06

实测 OpenClaw 一键包,5 分钟完成本地自动化环境搭建

OpenClaw 本地 AI 自动化工具部署指南|使用一键包规避环境配置难题 痛点:部署 AI 自动化工具常常要处理 Python、Node.js 各类依赖,版本冲突、环境配置耗费大量时间,OpenClaw 提供一键安装包,降低部署门槛。 适配系统&…

2026/9/2 1:15:22

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/2 1:15:22

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/2 1:15:20

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…