From 090ca18b15a10d999da12a04d5b1a4e4fbd9f6dc Mon Sep 17 00:00:00 2001 From: eng33 Date: Wed, 15 Nov 2023 20:18:30 +0800 Subject: [PATCH] update:readme.md updete --- README.md | 181 ++++++++++++++++++++++++++++++++++++++++++ README_CN.md | 178 +++++++++++++++++++++++++++++++++++++++++ project/readme_cn.txt | 125 ----------------------------- project/readme_en.txt | 133 ------------------------------- readme_cn.txt | 1 - readme_en.txt | 1 - sysdrv/Makefile | 2 + 7 files changed, 361 insertions(+), 260 deletions(-) create mode 100755 README.md create mode 100755 README_CN.md delete mode 100644 project/readme_cn.txt delete mode 100644 project/readme_en.txt delete mode 120000 readme_cn.txt delete mode 120000 readme_en.txt diff --git a/README.md b/README.md new file mode 100755 index 000000000..faeb77991 --- /dev/null +++ b/README.md @@ -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. \ No newline at end of file diff --git a/README_CN.md b/README_CN.md new file mode 100755 index 000000000..ac26b582d --- /dev/null +++ b/README_CN.md @@ -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 +``` +* 注1:app依赖media +* 注2:编译后需使用`./build.sh firmware`命令重新打包 +#### 固件打包 +```shell +./build.sh firmware +``` +生成文件的存放目录: +output/image + + + +### 注意事项 + 在windows下复制源码包时,linux下的可执行文件可能变为非可执行文件,或者软连接失效导致无法编译使用。 + 因此使用时请注意不要在windows下复制源代码包。 diff --git a/project/readme_cn.txt b/project/readme_cn.txt deleted file mode 100644 index d16785709..000000000 --- a/project/readme_cn.txt +++ /dev/null @@ -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下复制源代码包。 diff --git a/project/readme_en.txt b/project/readme_en.txt deleted file mode 100644 index e73daaa60..000000000 --- a/project/readme_en.txt +++ /dev/null @@ -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. diff --git a/readme_cn.txt b/readme_cn.txt deleted file mode 120000 index becd182e2..000000000 --- a/readme_cn.txt +++ /dev/null @@ -1 +0,0 @@ -project/readme_cn.txt \ No newline at end of file diff --git a/readme_en.txt b/readme_en.txt deleted file mode 120000 index 1cbd0f8f0..000000000 --- a/readme_en.txt +++ /dev/null @@ -1 +0,0 @@ -project/readme_en.txt \ No newline at end of file diff --git a/sysdrv/Makefile b/sysdrv/Makefile index 0ab62355a..a8b2c4adb 100644 --- a/sysdrv/Makefile +++ b/sysdrv/Makefile @@ -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)