Code Monkey home page Code Monkey logo

luckfox-pico's Introduction

luckfox

Luckfox Pico SDK

中文版

  • This SDK is modified based on the SDK provided by Rockchip
  • It provides a customized SDK specifically for Luckfox Pico series development boards 
  • Aimed at providing developers with a better programming experience

SDK Introduction

  • The current main branch uses buildroot to build the rootfs, which makes it easier to add or remove applications.
  • The original rootfs built directly with busybox has been moved to the busybox branch.

Default Applications

The default SDK includes or installs the following applications (but not limited to):

  1. python3
    • The following libraries are enabled by default:
    1. PERIPHERY
    2. PILLOW (font loading is temporarily unavailable)
    3. SERIAL
    4. SMBUS
    5. SPIDEV
  2. ssh
    1. Automatically starts at boot
    2. Username: root
    3. Password: luckfox
  3. samba
    1. Automatically starts at boot
    2. Username: root
    3. Password: luckfox
  4. adb
    1. Automatically starts at boot

SDK Usage Instructions

  • recommended operating system : Ubuntu 22.04

Installing Dependencies

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

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

./build.sh lunch
  • It will display the corresponding board configuration options. Enter the number corresponding to the board configuration to switch to it.
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

./build.sh lunch   # Select the reference board configuration
./build.sh         # One-click automatic compilation

Build U-Boot

./build.sh clean uboot
./build.sh uboot

The path of the generated files:

output/image/MiniLoaderAll.bin
output/image/uboot.img

Build kernel

./build.sh clean kernel
./build.sh kernel

The path of the generated files:

output/image/boot.img

Build rootfs

./build.sh clean rootfs
./build.sh rootfs
  • Note : After compilation, use the command ./build.sh firmware to repackage.

Build media

./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

./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

./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.

luckfox-pico's People

Contributors

luckfox-eng33 avatar nongfah avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.