代码结构
目录总览
tree -L 2
                ├── 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
│       └── demo100-nor
├── toolchain // 解压后的工具链存放目录
└── tools // 一些工具
    ├── onestep.sh  // ArtInChip 开发的 OneStep 命令行增强工具
    └── toolchain // 工具链的压缩包
            application
存放应用和各种示例:
├── baremetal           //baremetal 裸机
│   ├── bootloader      //bootloader 主入口
│   └── helloworld      //App 主入口
└── rt-thread
    └── helloworld      //RT-Thread App 主入口
        bsp
bsp 目录是 SoC 的核心,封装了该 SoC 的所有接口和驱动:
├── artinchip │ ├── drv //驱动 │ ├── drv_nare //裸机驱动 │ ├── hal //硬件抽象 │ ├── include │ ├── SConscript │ └── sys //最小系统 ├── common │ ├── crc32 │ ├── include │ ├── partition │ ├── private_param │ ├── SConscript │ └── utils ├── Kconfig ├── examples //模块示例 │ ├── SConscript │ ├── test-adc │ ├── test-alarm │ ├── test-audio ├── peripheral //三方外设驱动封装 │ ├── Kconfig │ ├── SConscript │ ├── camera │ ├── codec │ ├── touch //触控 │ └── wireless //无线 └── SConscript
doc
HTML 版的 SDK 使用说明文档,即本文档。
kernel
- baremetal
                        
裸机系统内核的实现
 - freertos
                        
FreeRTOS 内核的实现
 - rt-thread
                        
RT-Thread 内核的实现
 - common
                        
AIC 公共接口的封装
 
package
组件包,包括 ArtInChip 开发的组件和 三方组件,支持从 RT-Thread 在线下载:
├── artinchip           //ArtInChip 开发
│   ├── Kconfig
│   ├── aic-dm-apps
|   ├── lvgl-ui
|   ├── ota
│   ├── mpp
│   └── SConscript
├── Kconfig
├── SConscript
└── third-party         //三方组件
    ├── bonnie
    ├── cherryusb
    ├── cpu_usage
    ├── Kconfig
    ├── littlefs
    ├── lvgl
    ├── lwip
    ├── mklittlefs
    ├── ramdisk
    ├── SConscript
    └── uffs
        target
存储方案 (开发板)的配置信息:
- 
                    configs
存放某一个方案 (开发板)的功能配置信息:
d12x_demo128-nand_baremetal_bootloader_defconfig //bootlaoder 的配置 d12x_demo128-nand_rt-thread_helloworld_defconfig //rt-thread 的配置
config 文件的内容示例:
cat d12x_demo88-nor_rt-thread_helloworld_defconfig
CONFIG_SOC_THEAD_SMART=y # CONFIG_QEMU_RUN is not set CONFIG_PRJ_CUSTOM_LDS="" CONFIG_AIC_CHIP_D21X=y CONFIG_CACHE_LINE_SIZE=64 CONFIG_AIC_CMU_DRV=y CONFIG_AIC_CMU_DRV_V10=y CONFIG_AIC_CMU_DRV_VER="10"
 - 
                    DXXX
存放某一系列芯片的方案 (开发板)的参数配置信息,以代码的方式存在。
├── demo128-nand │ ├── board.c │ ├── include │ ├── Kconfig.board │ ├── pack │ ├── pinmux.c │ ├── SConscript │ └── sys_clk.c
- 
                                
Kconfig.board:提供方案的外设选择项
 - 
                                
pinmux.c:该方案的 pinmux 配置
 - 
                                
SConscript:该方案目录的编译配置
 - 
                                
sys_clk.c:该方案的 clk 配置
 - 
                                
include:该方案特殊的 include 文件,主要是 board.c 的接口
 - 
                                
pack:该方案在打包固件时的配置,如 存储,分区等配置信息
 - 
                                
board.c:该方案的初始化运行接口
 
 - 
                                
 
toolchain
原始为空目录,用于存放解压后的工具链。
tools
该目录用于存放一些常用工具。
- 
                    
onestep.sh: Linux 上使用的 OneStep 脚本
 - 
                    
env: 环境搭建和运行需要的三方工具
 - 
                    
script: 编译和打包固件需要的脚本
 - 
                    
toolchain: 工具链包
- 
                            
Xuantie-900-gcc-elf-newlib-x86_64-V2.6.1-20220906.tar.gz: Linux 工具链
 - 
                            
Xuantie-900-gcc-elf-newlib-mingw-V2.6.1-20220906.tar.gz: Windows 工具链
 
 - 
                            
 
ReleaseNote.md
该文件记录当前 SDK 版本号及主要更新内容,示例如下:
# V1.0.5 # ## 新增 ## - 调屏:支持和 AiPQ V1.1.1 工具配合使用 - 新增 LVGL Demo: - 支持 VSCode 模拟器的工程导入 - 增加压力测试、独立控件、Gif、slide、lv_ffmpeg、DVP 回显等参考实现 ...
