Vision-SDK is primarily developed and tested on the Ubuntu 20.04 LTS but also works on Ubuntu 22.04 LTS. To minimize potential compilation errors and other issues during the development process, it is recommended that users utilize the same operating system as us to ensure consistency and stability in the development environment.
SDK (Software Development Kit) is a collection of tools, libraries, sample code, documentation, and related support files to help developers build applications for specific platforms, operating systems, hardware, or other software. The operating system on the development board is typically customized and developed based on the SDK. The SDK provides the basic software required for the development board (kernel, drivers, Bootloader, etc.), which developers can customize to create the final system firmware that runs on the development board.
Link for SDK download https://cloud.hard-tech.org.ua/index.php/s/C236mEFPX7GSKkE
1. SDK Directory Structure.
├── Dockerfile ------------- Docker file for SDK compilation
├── app -------------------- Contains Rockchip demo applications
├── build-in-docker.sh ----- SDK compilation script for docker
├── build.sh --------------- SDK compilation script
├── buildroot -------------- Root filesystem developed based on Buildroot
├── device ----------------- Chip board-level configurations and scripts/files for SDK compilation and firmware packaging
├── docs ------------------- Gneral development guidance documents, chip platform-related documents, Linux system development-related documents, and other reference materials
├── external --------------- Third-party related repositories, including display, audio and video, cameras,networking, security, etc.
├── kernel ----------------- Code for Kernel development
├── prebuilts -------------- Cross-compilation toolchains
├── rkbin ------------------ Contains Rockchip-related binaries and tools
├── rockdev ---------------- Stores compiled output firmware, actually a symlink to output/firmware
├── tools ----------------- Commonly used tools for Linux and Windows operating systems
├── u-boot ----------------- U-Boot code developed based on version v2017.09
├── ubuntu ----------------- Stuff related to Ubuntu build
└── vision-app ------------- Vision demo applications
2. Image Storage Directory.
rockdev
├── MiniLoaderAll.bin ----------------------- SPL bootloader, responsible for initializing the basic hardware and loading subsequent firmware
├── boot.img -------------------------------- Kernel image
├── misc.img -------------------------------- Compatible with the Android boot process (not used)
├── oem.img --------------------------------- OEM partition image
├── pack
│ ├── VISION-RV1126_Linux_XXXXXX.img ------ Complete image file
├── parameter.txt --------------------------- Partition table information
├── recovery.img ---------------------------- System maintenance
├── rootfs.img ------------------------------ Root filesystem image file
├── uboot.img ------------------------------- U-Boot image
└── userdata.img ---------------------------- Userdata partition image file
device/rockchip/rv1126_rv1109/vision-rv1126.mk --------------- Main configuration file
kernel/arch/arm/configs/rv1126_vision_defconfig -------------- Kernel config
kernel/arch/arm/boot/dts/rv1126-vision-board2.dts ------------ Device tree
buildroot/configs/rockchip_rv1126_vision_defconfig ----------- Buildroot defconfig file
buildroot/configs/rockchip_rv1126_vision_recovery_defconfig -- Recovery defconfig
device/rockchip/rv1126_rv1109/parameter-buildroot-vision.txt - Partitions config
sudo apt update
sudo apt-get install -y bison texinfo flex cmake libssl-dev liblz4-tool patchelf chrpath gawk expect-dev python2 python git git-lfs expect-dev debianutils sed make binutils build-essential gcc g++ bash patch gzip bzip2 perl tar cpio unzip rsync file bc git device-tree-compiler
git clone git@gitlab.hard-tech.org.ua:vision/vision-rv1126-buildroot.git
cd vision-rv1126-buildroot
./build.sh device/rockchip/rv1126_rv1109/vision-rv1126.mk
source envsetup.sh rockchip_rv1126_vision
./build.sh
rockdev folder../build.sh uboot
./build.sh kernel
./build.sh rootfs
# Or if you want to prepare cross-toolchain^
./build.sh -sdk rootfs
SDK Will be located in rockdev_sdk/vision-sdk.tar.gz
./build.sh recovery
./mkfirmware.sh. Firmware stored in directory: rockdev.sudo apt update
sudo apt install -y build-essential cmake
wget https://cloud.hard-tech.org.ua/public.php/dav/files/C236mEFPX7GSKkE
# OR use toolchain compiled from buildroot
tar -xf vision-sdk.tar.gz -C /opt
relocate-sdk.sh/opt/vision-sdk/relocate-sdk.sh
cd my_project
source /opt/vision-sdk/environment-setup
mkdir build && cd build
cmake ..
make
cd my_project
cmake -DCMAKE_TOOLCHAIN_FILE=/opt/vision-sdk/share/buildroot/toolchainfile.cmake -B build -S .
Buildroot is a tool specifically designed for embedded systems, aimed at simplifying the build process of embedded Linux systems. By configuring Buildroot, you can customize the software packages and libraries included in the embedded system to meet specific needs.
cd vision-rv1126-buildroot
source envsetup.sh rockchip_rv1126_vision
make menuconfig

2. Select configurations you need.
3. Save the configuration.
make savedefconfig
cd vision-rv1126-buildroot
source envsetup.sh rockchip_rv1126_vision
cd kernel
make menuconfig
Make your changes

2.1 Key Operations:
↑ ↓ PgUp PgDn: Browse and select kernel features.
← →: Select actions like Select, Exit, etc.
Enter: Enter submenus.
Y: Select this feature.
N: Exclude this feature.
M: Select as a module.
Esc: Press Esc twice to return to the previous menu.
?: View help information for this feature.
/: Search.
2.2 Legend Explanation:
[*]: Selected item.
[ ]: Unselected item.
<M>: Selected item (as a module).
< >: Unselected item (as a module).
2.3 The bottom area includes some commonly used operation options, providing users with important interaction functionalities. Their roles are as follows:
<Select>: Enter the submenu of the currently highlighted configuration item.
<Exit>: Exit the current menu and return to the previous level.
<Help>: Provide help information for the currently highlighted configuration item.
<Save>: Save the current configuration changes without exiting the configuration tool.
<Load>: Load a specified configuration file.
Rebuild kernel
./build.sh kernel