update:readme.md updete

This commit is contained in:
eng33 2023-11-15 20:18:30 +08:00 committed by luckfox-eng33
parent c5d5865b38
commit 090ca18b15
7 changed files with 361 additions and 260 deletions

181
README.md Executable file
View File

@ -0,0 +1,181 @@
# Luckfox Pico SDK
[中文版](./README_CN.md)
* This SDK is modified based on the SDK provided by RK officially
* It provides a customized SDK specifically for Luckfox Pico series development boards
* Aimed at providing developers with a better programming experience
## SDK Usage Instructions
* recommended operating system : Ubuntu 22.04
### Installing Dependencies
```shell
sudo apt-get install -y git ssh make gcc gcc-multilib g++-multilib module-assistant expect g++ gawk texinfo libssl-dev bison flex fakeroot cmake unzip gperf autoconf device-tree-compiler libncurses5-dev pkg-config bc python-is-python3 passwd openssl openssh-server openssh-client vim file cpio rsync
```
### Get SDK
```
git clone https://github.com/LuckfoxTECH/luckfox-pico.git
```
### Environment Variables
* The cross-compilation toolchain needs to be set Environment Variables
```
cd {SDK_PATH}/tools/linux/toolchain/arm-rockchip830-linux-uclibcgnueabihf/
source env_install_toolchain.sh
```
### Instructions for build.sh
* The build.sh script is used to automate the compilation process.
* Most of the compilation operations can be completed automatically through build.sh.
#### Options for build.sh
```shell
Usage: build.sh [OPTIONS]
Available options:
lunch -Select Board Configure
env -build env
meta -build meta (optional)
uboot -build uboot
kernel -build kernel
rootfs -build rootfs
driver -build kernel's drivers
sysdrv -build uboot, kernel, rootfs
media -build rockchip media libraries
app -build app
recovery -build recovery
tool -build tool
updateimg -build update image
unpackimg -unpack update image
factory -build factory image
all -build uboot, kernel, rootfs, recovery image
allsave -build all & firmware & save
clean -clean all
clean uboot -clean uboot
clean kernel -clean kernel
clean driver -clean driver
clean rootfs -clean rootfs
clean sysdrv -clean uboot/kernel/rootfs
clean media -clean rockchip media libraries
clean app -clean app
clean recovery -clean recovery
firmware -pack all the image we need to boot up system
ota -pack update_ota.tar
save -save images, patches, commands used to debug
check -check the environment of building
info -see the current board building information
```
#### Select the referenced board configuration
```shell
./build.sh lunch
```
* It will display the corresponding board configuration options. Enter the number corresponding to the board configuration to switch to it.
```shell
You're building on Linux
Lunch menu...pick a combo:
BoardConfig-*.mk naming rules:
BoardConfig-"启动介质"-"电源方案"-"硬件版本"-"应用场景".mk
BoardConfig-"boot medium"-"power solution"-"hardware version"-"applicaton".mk
----------------------------------------------------------------
1. BoardConfig_IPC/BoardConfig-EMMC-NONE-RV1103_Luckfox_Pico-IPC.mk
boot medium(启动介质): EMMC
power solution(电源方案): NONE
hardware version(硬件版本): RV1103_Luckfox_Pico
applicaton(应用场景): IPC
----------------------------------------------------------------
----------------------------------------------------------------
2. BoardConfig_IPC/BoardConfig-EMMC-NONE-RV1103_Luckfox_Pico_Mini_A-IPC.mk
boot medium(启动介质): EMMC
power solution(电源方案): NONE
hardware version(硬件版本): RV1103_Luckfox_Pico_Mini_A
applicaton(应用场景): IPC
----------------------------------------------------------------
----------------------------------------------------------------
3. BoardConfig_IPC/BoardConfig-SPI_NAND-NONE-RV1103_Luckfox_Pico_Mini_B-IPC.mk
boot medium(启动介质): SPI_NAND
power solution(电源方案): NONE
hardware version(硬件版本): RV1103_Luckfox_Pico_Mini_B
applicaton(应用场景): IPC
----------------------------------------------------------------
----------------------------------------------------------------
4. BoardConfig_IPC/BoardConfig-SPI_NAND-NONE-RV1103_Luckfox_Pico_Plus-IPC.mk
boot medium(启动介质): SPI_NAND
power solution(电源方案): NONE
hardware version(硬件版本): RV1103_Luckfox_Pico_Plus
applicaton(应用场景): IPC
----------------------------------------------------------------
----------------------------------------------------------------
5. BoardConfig_IPC/BoardConfig-SPI_NAND-NONE-RV1106_Luckfox_Pico_Pro_Max-IPC.mk
boot medium(启动介质): SPI_NAND
power solution(电源方案): NONE
hardware version(硬件版本): RV1106_Luckfox_Pico_Pro_Max
applicaton(应用场景): IPC
----------------------------------------------------------------
Which would you like? [0]:
```
#### One-click Automatic Compilation
```shell
./build.sh lunch # Select the reference board configuration
./build.sh # One-click automatic compilation
```
#### Build U-Boot
```shell
./build.sh clean uboot
./build.sh uboot
```
The path of the generated files:
```
output/image/MiniLoaderAll.bin
output/image/uboot.img
```
#### Build kernel
```shell
./build.sh clean kernel
./build.sh kernel
```
The path of the generated files:
```
output/image/boot.img
```
#### Build rootfs
```shell
./build.sh clean rootfs
./build.sh rootfs
```
* Note : After compilation, use the command ./build.sh firmware to repackage.
#### Build media
```shell
./build.sh clean media
./build.sh media
```
The path of the generated files:
```
output/out/media_out
```
* Note : After compilation, use the command ./build.sh firmware to repackage.
#### Build Reference Applications
```shell
./build.sh clean app
./build.sh app
```
* Note 1: The app depends on media.
* Note 2: After compilation, use the command ./build.sh firmware to repackage.
#### Firmware Packaging
```shell
./build.sh firmware
```
The path of the generated files:
```
output/image
```
## Notices
When copying the source code package under Windows, the executable file under Linux may become a non-executable file, or the soft link fails and cannot be compiled and used.
Therefore, please be careful not to copy the source code package under Windows.

178
README_CN.md Executable file
View File

@ -0,0 +1,178 @@
# Luckfox Pico SDK
[English Version](./README.md)
* 本SDK基于RK官方提供的SDK修改而来
* 专为Luckfox Pico系列开发板提供客制化的SDK
* 旨在为开发者提供更好的编程体验
## SDK 使用说明
* 推荐使用系统为Ubuntu 22.04
### 安装依赖
```shell
sudo apt-get install repo git ssh make gcc gcc-multilib g++-multilib module-assistant expect g++ gawk texinfo libssl-dev bison flex fakeroot cmake unzip gperf autoconf device-tree-compiler libncurses5-dev pkg-config
```
### 获取SDK
```
git clone https://github.com/LuckfoxTECH/luckfox-pico.git
```
### 环境变量
* 需要将交叉编译工具链设置
```
cd {SDK_PATH}/tools/linux/toolchain/arm-rockchip830-linux-uclibcgnueabihf/
source env_install_toolchain.sh
```
### build.sh使用说明
* SDK使用build.sh脚本实现自动编译大部分编译操作均可以通过build.sh自动完成.
#### build.sh全部可用选项
```shell
Usage: build.sh [OPTIONS]
Available options:
lunch -Select Board Configure
env -build env
meta -build meta (optional)
uboot -build uboot
kernel -build kernel
rootfs -build rootfs
driver -build kernel's drivers
sysdrv -build uboot, kernel, rootfs
media -build rockchip media libraries
app -build app
recovery -build recovery
tool -build tool
updateimg -build update image
unpackimg -unpack update image
factory -build factory image
all -build uboot, kernel, rootfs, recovery image
allsave -build all & firmware & save
clean -clean all
clean uboot -clean uboot
clean kernel -clean kernel
clean driver -clean driver
clean rootfs -clean rootfs
clean sysdrv -clean uboot/kernel/rootfs
clean media -clean rockchip media libraries
clean app -clean app
clean recovery -clean recovery
firmware -pack all the image we need to boot up system
ota -pack update_ota.tar
save -save images, patches, commands used to debug
check -check the environment of building
info -see the current board building information
```
#### 选择参考的板级配置
```shell
./build.sh lunch
```
将会输出对应的板级配置选项,输入对应板级配置的编号即可切换对应的板级配置
```shell
You're building on Linux
Lunch menu...pick a combo:
BoardConfig-*.mk naming rules:
BoardConfig-"启动介质"-"电源方案"-"硬件版本"-"应用场景".mk
BoardConfig-"boot medium"-"power solution"-"hardware version"-"applicaton".mk
----------------------------------------------------------------
1. BoardConfig_IPC/BoardConfig-EMMC-NONE-RV1103_Luckfox_Pico-IPC.mk
boot medium(启动介质): EMMC
power solution(电源方案): NONE
hardware version(硬件版本): RV1103_Luckfox_Pico
applicaton(应用场景): IPC
----------------------------------------------------------------
----------------------------------------------------------------
2. BoardConfig_IPC/BoardConfig-EMMC-NONE-RV1103_Luckfox_Pico_Mini_A-IPC.mk
boot medium(启动介质): EMMC
power solution(电源方案): NONE
hardware version(硬件版本): RV1103_Luckfox_Pico_Mini_A
applicaton(应用场景): IPC
----------------------------------------------------------------
----------------------------------------------------------------
3. BoardConfig_IPC/BoardConfig-SPI_NAND-NONE-RV1103_Luckfox_Pico_Mini_B-IPC.mk
boot medium(启动介质): SPI_NAND
power solution(电源方案): NONE
hardware version(硬件版本): RV1103_Luckfox_Pico_Mini_B
applicaton(应用场景): IPC
----------------------------------------------------------------
----------------------------------------------------------------
4. BoardConfig_IPC/BoardConfig-SPI_NAND-NONE-RV1103_Luckfox_Pico_Plus-IPC.mk
boot medium(启动介质): SPI_NAND
power solution(电源方案): NONE
hardware version(硬件版本): RV1103_Luckfox_Pico_Plus
applicaton(应用场景): IPC
----------------------------------------------------------------
----------------------------------------------------------------
5. BoardConfig_IPC/BoardConfig-SPI_NAND-NONE-RV1106_Luckfox_Pico_Pro_Max-IPC.mk
boot medium(启动介质): SPI_NAND
power solution(电源方案): NONE
hardware version(硬件版本): RV1106_Luckfox_Pico_Pro_Max
applicaton(应用场景): IPC
----------------------------------------------------------------
Which would you like? [0]:
```
输入对应的序号选择对应的参考板级。
#### 一键自动编译
```shell
./build.sh lunch # 选择参考板级
./build.sh # 一键自动编译
```
#### 单独编译U-Boot
```shell
./build.sh clean uboot
./build.sh uboot
```
生成镜像文件:
output/image/MiniLoaderAll.bin
output/image/uboot.img
#### 单独编译kernel
```shell
./build.sh clean kernel
./build.sh kernel
```
生成镜像文件:
output/image/boot.img
#### 单独编译rootfs
```shell
./build.sh clean rootfs
./build.sh rootfs
```
* 注:编译后需使用`./build.sh firmware`命令重新打包
#### 单独编译media
```shell
./build.sh clean media
./build.sh media
```
生成文件的存放目录:
```
output/out/media_out
```
* 注:编译后需使用`./build.sh firmware`命令重新打包
#### 单独编译参考应用
```shell
./build.sh clean app
./build.sh app
```
* 注1app依赖media
* 注2编译后需使用`./build.sh firmware`命令重新打包
#### 固件打包
```shell
./build.sh firmware
```
生成文件的存放目录:
output/image
### 注意事项
在windows下复制源码包时linux下的可执行文件可能变为非可执行文件或者软连接失效导致无法编译使用。
因此使用时请注意不要在windows下复制源代码包。

View File

@ -1,125 +0,0 @@
## SDK build.sh使用说明
### 选择参考的板级配置
./build.sh lunch
You're building on Linux
Lunch menu...pick a combo:
BoardConfig-*.mk naming rules:
BoardConfig-"启动介质"-"电源方案"-"硬件版本"-"应用场景".mk
BoardConfig-"boot medium"-"power solution"-"hardware version"-"applicaton".mk
----------------------------------------------------------------
0. BoardConfig-EMMC-ALL-2xRK806-HW_V10-IPC_MULTI_SENSOR.mk
boot medium(启动介质): EMMC
power solution(电源方案): 2xRK806
hardware version(硬件版本): HW_V10
applicaton(应用场景): IPC_MULTI_SENSOR
----------------------------------------------------------------
----------------------------------------------------------------
1. BoardConfig-SPI_NAND-ALL-RK806-HW_V10-IPC_SINGLE_SENSOR.mk
boot medium(启动介质): SPI_NAND
power solution(电源方案): RK806
hardware version(硬件版本): HW_V10
applicaton(应用场景): IPC_SINGLE_SENSOR
----------------------------------------------------------------
Which would you like? [0]:
输入对应的序号选择对应的参考板级。
### 一键自动编译
./build.sh lunch # 选择参考板级
./build.sh # 一键自动编译
### 编译U-Boot
./build.sh clean uboot
./build.sh uboot
生成镜像文件:
output/image/MiniLoaderAll.bin
output/image/uboot.img
### 编译kernel
./build.sh clean kernel
./build.sh kernel
生成镜像文件:
output/image/boot.img
### 编译rootfs
./build.sh clean rootfs
./build.sh rootfs
编译后使用`./build.sh firmware`命令打包成rootfs.img
生成镜像文件output/image/rootfs.img
### 编译media
./build.sh clean media
./build.sh media
生成文件的存放目录:
output/out/media_out
### 编译参考应用
./build.sh clean app
./build.sh app
生成文件的存放目录:
output/out/app_out
app依赖media
### 固件打包
./build.sh firmware
生成文件的存放目录:
output/image
## SDK目录结构说明
```shell
├── build.sh -> project/build.sh ---- SDK编译脚本
├── media --------------------------- 多媒体编解码、ISP等算法相关可独立SDK编译
├── sysdrv -------------------------- U-Boot、kernel、rootfs目录可独立SDK编译
├── project ------------------------- 参考应用、编译配置以及脚本目录
├── output -------------------------- SDK编译后镜像文件存放目录
├── docs ---------------------------- SDK文档目录
└── tools --------------------------- 烧录镜像打包工具以及烧录工具
```
## 镜像存放目录说明
编译完的文件存放在output目录下
```shell
output/
├── image
│   ├── download.bin ---------------- 烧录工具升级通讯的设备端程序,只会下载到板子内存
│   ├── env.img --------------------- 包含分区表和启动参数
│   ├── uboot.img ------------------- uboot镜像
│   ├── idblock.img ----------------- loader镜像
│   ├── boot.img -------------------- kernel镜像
│   ├── rootfs.img ------------------ kernel镜像
│   └── userdata.img ---------------- userdata镜像
└── out
├── app_out --------------------- 参考应用编译后的文件
├── media_out ------------------- media相关编译后的文件
├── rootfs_xxx ------------------ 文件系统打包目录
├── S20linkmount ---------------- 分区挂载脚本
├── sysdrv_out ------------------ sysdrv编译后的文件
└── userdata -------------------- userdata
```
## 注意事项
在windows下复制源码包时linux下的可执行文件可能变为非可执行文件或者软连接失效导致无法编译使用。
因此使用时请注意不要在windows下复制源代码包。

View File

@ -1,133 +0,0 @@
## The instructions of SDK build.sh
### Select the referenced board configuration
./build.sh lunch
You're building on Linux
Lunch menu...pick a combo:
BoardConfig-*.mk naming rules:
BoardConfig-"启动介质"-"电源方案"-"硬件版本"-"应用场景".mk
BoardConfig-"boot medium"-"power solution"-"hardware version"-"applicaton".mk
----------------------------------------------------------------
0. BoardConfig-EMMC-ALL-2xRK806-HW_V10-IPC_MULTI_SENSOR.mk
boot medium(启动介质): EMMC
power solution(电源方案): 2xRK806
hardware version(硬件版本): HW_V10
applicaton(应用场景): IPC_MULTI_SENSOR
----------------------------------------------------------------
----------------------------------------------------------------
1. BoardConfig-SPI_NAND-ALL-RK806-HW_V10-IPC_SINGLE_SENSOR.mk
boot medium(启动介质): SPI_NAND
power solution(电源方案): RK806
hardware version(硬件版本): HW_V10
applicaton(应用场景): IPC_SINGLE_SENSOR
----------------------------------------------------------------
Which would you like? [0]:
Enter the corresponding number to select the corresponding reference board level.
### One-click Automatic Compilation
```shell
./build.sh lunch # Select reference board level
./build.sh # One-click automatic compilation
````
### Build U-Boot
```shell
./build.sh clean uboot
./build.sh uboot
````
Generate image files: output/image/MiniLoaderAll.bin and output/image/uboot.img
### Build kernel
```shell
./build.sh clean kernel
./build.sh kernel
````
Generate image file: output/image/boot.img
### Build rootfs
```shell
./build.sh clean rootfs
./build.sh rootfs
````
Make rootfs.img firmware by the command of `./build.sh firmware`
Generate image file: output/image/rootfs.img
### Build media
```shell
./build.sh clean media
./build.sh media
````
The storage directory of the generated files: output/out/media_out
### Build Reference Applications
```shell
./build.sh clean app
./build.sh app
````
The storage directory of the generated file: output/out/app_out
Note: app depends on media
### Firmware Packaging
```shell
./build.sh firmware
````
The path of the generated files: output/image
## SDK Directory Structure
```shell
├── build.sh -> project/build.sh --------- SDK compilation script
├── media -------------------------------- Multimedia codec, ISP, etc. Algorithm related (Can be compiled independently of the SDK)
├── sysdrv ------------------------------- U-Boot, kernel, rootfs directory (Can be compiled independently of the SDK)
├── project ------------------------------ Reference application, build configuration and script directory
├── output ------------------------------- The directory where the image files are stored after SDK compilation
├── docs --------------------------------- SDK Documents directory
└── tools -------------------------------- Image packaging tools and Burning tools
````
## Image Storage Directory
The compiled files are stored in the output directory
```shell
output/
├── image
│ ├── download.bin ------------------------ Will Only be downloaded to the DDR of the board
│ ├── env.img ----------------------------- Partition table and boot parameter
│ ├── idblock.img ------------------------- loader image
│ ├── uboot.img --------------------------- uboot image
│ ├── boot.img ---------------------------- kernel image
│ ├── rootfs.img -------------------------- kernel image
│ └── userdata.img ------------------------ userdata image
└── out
├── app_out ----------------------------- Referenced applications compiled files
├── media_out --------------------------- media related compiled files
├── rootfs_xxx -------------------------- File system packaging directory
├── S20linkmount ------------------------ Partition mount script
├── sysdrv_out -------------------------- sysdrv compiled file
└── userdata ---------------------------- userdata
````
## Notices
When copying the source code package under Windows, the executable file under Linux may become a non-executable file, or the soft link fails and cannot be compiled and used.
Therefore, please be careful not to copy the source code package under Windows.

View File

@ -1 +0,0 @@
project/readme_cn.txt

View File

@ -1 +0,0 @@
project/readme_en.txt

View File

@ -432,6 +432,8 @@ rootfs_prepare: prepare
##########################################################################################
# build buildroot
# author :luckfox team
# date:2023-11-11
##########################################################################################
buildroot_menuconfig:
$(MAKE) menuconfig -C $(BUILDROOT_DIR)/$(BUILDROOT_VER)