These examples work without any operating system environment. It's like programming simple microcontrollers or "old school" programming techniques. Examples can be used for educational purposes to teach low-level programming. All programs can be run on f1c_dbc computer, LicheePi Nano, MangoPi or CherryPi demoboards. Low-level framework is simple, but provides the following features:
- work with graphic display modules: TV, TFT, HDMI (work in progress);
- examples of working with communication interfaces: USB, UART, SPI, TWI(I2C);
- playback and recording with built-in hardware audio codec;
- USB Device/Host driver implementation;
- µSD memory card support;
- bootloader implementation from SPI-flash memory;
- examples of integrating third-party libraries: FatFs, LVGL, LWIP, TinyGL, MP3 Decoder/Encoder...
Project directories:
Name | Description |
---|---|
doc | Documentation |
drv | Low-level drivers |
lib | Third-party libraries |
src/demo | Classical demo effects |
src/gui | LVGL GUI-demo (LVGL7, LVGL9) |
src/tinygl | TinyGl 3D-demo examples |
src/slideshow | µSD & FatFs example (JPG-slideshow) |
src/usbd | USB-device examples |
src/usbh | USB-host examples |
src/twi | TWI(I2C) examples (RTC, TS) |
src/lwip | lwIP over USB-Ethernet adapter RTL8152B |
src/audio | Audio examples (MP3 Decoder/Encoder) |
src/coremark | CoreMark Benchmark |
tools/sunxi | Tools for loading and flashing the SOC |
tools/zadig | Windows tool for installing SOC-driver |
tools/iperf | TCP/IP speed test tool |
Building: The project was built using make and gcc. The processor and platform type is specified in the common.mk file. The RAMSIZE variable can be 32M or 64M and specifies the F1C100S or F1C200S processor respectively. If the variable BRD=DBC_BOARD, then the f1c_dbc or LicheePi board can be used. If BRD=MANGO_BOARD, then MangoPi or CherryPi.
Useful links:
Disclaimer: The Software is furnished "AS IS", without warranty as to performance or results, and the entire risk as to performance or results is assumed by YOU. I disclaims all warranties, express, implied or otherwise, with regard to the Software, its use, or operation, including without limitation any and all warranties of merchantability, fitness for a particular purpose, and non-infringement of intellectual property rights.