diff --git a/.github/workflows/SyncGitee.yml b/.github/workflows/SyncGitee.yml index 9bc9efda..f388d5b8 100644 --- a/.github/workflows/SyncGitee.yml +++ b/.github/workflows/SyncGitee.yml @@ -1,6 +1,8 @@ name: Sync To Gitee -on: [ push, delete, create ] +on: + push: + branches: [ "main" ] jobs: build: diff --git a/CMakeLists.txt b/CMakeLists.txt index 93791f5a..46446cc0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -89,7 +89,7 @@ else () endif () # Define the project name and languages used -project(SyterKit VERSION 0.2.4 LANGUAGES C CXX ASM) +project(SyterKit VERSION 0.2.5 LANGUAGES C CXX ASM) # Include other CMake modules include(cmake/add_syterkit_app.cmake) diff --git a/board/100ask-d1-h/README.md b/board/100ask-d1-h/README.md index fc121158..278df614 100644 --- a/board/100ask-d1-h/README.md +++ b/board/100ask-d1-h/README.md @@ -1,29 +1,38 @@ -# SyterKit Common +# 100ASK D1-H Dual Display DevKit -## start.S +## Specifications -This code snippet is an ARM assembly language program that includes initialization settings and exception handlers. Here's a breakdown of its functionalities: +![D1h-DualDisplay-Devkit_top](https://github.com/YuzukiHD/SyterKit/assets/12003087/00975cce-f95d-4706-9042-fc80486c1c75) -1. Initialization Settings: It sets registers and writes specific values to configure the processor's working mode, interrupt enable, etc. -2. Set Vector Table: It writes the address of the vector table to the Vector Base Address Register, which is used for handling exceptions and interrupts. +- Main control: Allwinner D1-H C906 RISC-V 1GHz +- DRAM: DDR3 512MB +- Storage: Onboard 128MB spi-nand, support USB external U disk and SD card to expand storage +- Network: Support 2.4G WiFi and Bluetooth, onboard antenna +- Display: Support MIPI-DSI+TP screen interface, support HDMI output, support SPI screen +- Audio: Microphone daughter board interface * 1, 3.5mm headphone jack * 1 +- Board size: length 90mm *width 105mm* thickness 1.7mm +- PCB layer: 4+4 layers +- Support Tina Linux,based on Linux 5.4 kernel -3. Enable NEON/VFP Unit: It configures the processor to enable the NEON (Advanced SIMD) and VFP (Floating-Point) units. +## Application -4. Clear BSS Section: It zeroes out variables in the BSS section. +| Name | Function | Path | +| ----------- | ------------------------------------------------------------ | ----------------- | +| hello world | Minimal program example, prints Hello World | `app/hello_world` | +| init dram | Initializes the serial port and DRAM | `app/init_dram` | +| load hifi4 | Start and initialize the tf card through the C906 CPU, read the hifi4 dsp firmware from it, and load it for execution | `app/load_hifi4` | +| syter boot | Bootstrapping function that replaces U-Boot, enabling fast system startup for Linux | `app/syter_boot` | -5. Disable Interrupts: It disables FIQ and IRQ interrupts and switches the processor to SVC32 mode. +## Buy Now -6. Set Timer Frequency: It sets the timer frequency to 24M. +### DualDisplay DevKit -7. Call the main Function: It jumps to the main function to execute the main logic. +Tabao: [https://item.taobao.com/item.htm?id=761073687978](https://item.taobao.com/item.htm?id=761073687978) -## eabi_compat.c +### Accessories -This code snippet appears to be providing implementations for the functions `abort`, `raise`, and `__aeabi_unwind_cpp_pr0`. Here's a breakdown of their functionalities: +NezhaCore: [https://item.taobao.com/item.htm?id=761073687978&skuId=5247201813557](https://item.taobao.com/item.htm?id=761073687978&skuId=5247201813557) -1. `void abort(void)`: This function creates an infinite loop, causing the program to hang indefinitely. It is typically used to indicate a critical error or unrecoverable condition in a program. -2. `int raise(int signum)`: This function is a placeholder and always returns 0. In standard C, this function is used to raise a signal and initiate the corresponding signal handler. However, in this implementation, it does nothing and simply returns 0. -3. `void __aeabi_unwind_cpp_pr0(void)`: This is a dummy function that serves as a placeholder to avoid linker complaints. Its purpose is to satisfy the linker when using C++ exceptions and unwinding, but it does not contain any actual functionality. diff --git a/board/100ask-ros/README.md b/board/100ask-ros/README.md index fc121158..c28e5997 100644 --- a/board/100ask-ros/README.md +++ b/board/100ask-ros/README.md @@ -1,29 +1,42 @@ -# SyterKit Common +# DongshanPI-ROSx -## start.S +## Specifications -This code snippet is an ARM assembly language program that includes initialization settings and exception handlers. Here's a breakdown of its functionalities: +![DongshanPI-ROSx](https://github.com/YuzukiHD/SyterKit/assets/12003087/c3d08e65-71a7-4b18-aa5e-0dd7a055483d) -1. Initialization Settings: It sets registers and writes specific values to configure the processor's working mode, interrupt enable, etc. +- Main control: Allwinner R818 4x Arm Cortex A53 + GPU +- DRAM: LPDDR4 2GB/4GB +- Storage: Onboard 16GB/32GB Emmc, support USB external U disk and SD card to expand storage +- Network: Support 2.4G/5.8Ghz WiFi and Bluetooth, onboard antenna +- Display: Support MIPI-DSI+TP screen interface, support SPI screen +- Audio: Microphone daughter board interface * 1 +- Board size: length 75mm *width 100mm* thickness 1.7mm +- PCB layer: 4+4 layers +- Support Tina Linux,based on Linux 5.4 kernel, Android System. -2. Set Vector Table: It writes the address of the vector table to the Vector Base Address Register, which is used for handling exceptions and interrupts. +## Application -3. Enable NEON/VFP Unit: It configures the processor to enable the NEON (Advanced SIMD) and VFP (Floating-Point) units. +| Name | Function | Path | +| ----------- | ------------------------------------------------------------ | ------------- | +| hello world | Minimal program example, prints Hello World | `hello_world` | +| init dram | Initializes the serial port and DRAM | `init_dram` | +| syter boot | Bootstrapping function that replaces U-Boot, enabling fast system startup for Linux | `syter_boot` | +| payloads | | `payloads` | +| smhc test | Initialize the SD card and check if initialization | `smhc_test` | -4. Clear BSS Section: It zeroes out variables in the BSS section. -5. Disable Interrupts: It disables FIQ and IRQ interrupts and switches the processor to SVC32 mode. -6. Set Timer Frequency: It sets the timer frequency to 24M. +## Buy Now -7. Call the main Function: It jumps to the main function to execute the main logic. +### DongshanPI-ROSx -## eabi_compat.c +Tabao: [https://item.taobao.com/item.htm?&id=742752349507](https://item.taobao.com/item.htm?&id=742752349507) -This code snippet appears to be providing implementations for the functions `abort`, `raise`, and `__aeabi_unwind_cpp_pr0`. Here's a breakdown of their functionalities: -1. `void abort(void)`: This function creates an infinite loop, causing the program to hang indefinitely. It is typically used to indicate a critical error or unrecoverable condition in a program. -2. `int raise(int signum)`: This function is a placeholder and always returns 0. In standard C, this function is used to raise a signal and initiate the corresponding signal handler. However, in this implementation, it does nothing and simply returns 0. +### Accessories + +mCore 2+16 : https://item.taobao.com/item.htm?id=742752349507&skuId=5295912083676 + +mCore 4+32: https://item.taobao.com/item.htm?id=742752349507&skuId=5295912083677 -3. `void __aeabi_unwind_cpp_pr0(void)`: This is a dummy function that serves as a placeholder to avoid linker complaints. Its purpose is to satisfy the linker when using C++ exceptions and unwinding, but it does not contain any actual functionality. diff --git a/board/100ask-t113i/README.md b/board/100ask-t113i/README.md index fc121158..dbba47d2 100644 --- a/board/100ask-t113i/README.md +++ b/board/100ask-t113i/README.md @@ -1,29 +1,42 @@ -# SyterKit Common +# T113i-Industrial DevKit -## start.S +## Specifications -This code snippet is an ARM assembly language program that includes initialization settings and exception handlers. Here's a breakdown of its functionalities: +- Main control: Allwinner T113i Dual-core ARM Cortex -A7 + 64-bit Xuantie C906 RISC-V +- DRAM: DDR3 512MB +- Storage: Onboard 128MB spi-nand, support USB external U disk and SD card to expand storage +- Debug: Onboard TypeC usb to serial ttl debug +- Network: Support Gigabit Ethernet, Support USB 100M Ethernet,Support 2.4G/5.8G WiFi and Bluetooth, onboard antenna +- Display: Support RGB+TP screen interface, support SPI screen +- Audio: 3.5mm headphone jack * 1 +- Power: 12V/2A DC-5.5/2.1 +- Connectivity: CANx2 RS485 x 6 +- Pinout: 40Pin x2.54 IO +- Board size: length 125mm *width 125mm* thickness 1.7mm +- PCB layer: 4+4 layers +- Support Tina Linux,based on Linux 5.4 kernel -1. Initialization Settings: It sets registers and writes specific values to configure the processor's working mode, interrupt enable, etc. -2. Set Vector Table: It writes the address of the vector table to the Vector Base Address Register, which is used for handling exceptions and interrupts. -3. Enable NEON/VFP Unit: It configures the processor to enable the NEON (Advanced SIMD) and VFP (Floating-Point) units. +## Application -4. Clear BSS Section: It zeroes out variables in the BSS section. +| Name | Function | Path | +| ----------- | ------------------------------------------------------------ | ---------------- | +| sys_info | The system initializes necessary functions and prints hello word | `sys_info` | +| hello world | Minimal program example, prints Hello World | `hello_world` | +| load c906 | Start and initialize the tf card through the C906 CPU, read the hifi4 dsp firmware from it, and load it for execution | `load_c906` | +| syter boot | Bootstrapping function that replaces U-Boot, enabling fast system startup for Linux | `app/syter_boot` | +| os test | The system initializes the serial port information and prints hello word to verify whether the system starts normally. | `os_test` | -5. Disable Interrupts: It disables FIQ and IRQ interrupts and switches the processor to SVC32 mode. +## Buy Now -6. Set Timer Frequency: It sets the timer frequency to 24M. +### T113i-Industrial -7. Call the main Function: It jumps to the main function to execute the main logic. +Tabao: https://item.taobao.com/item.htm?id=756032410469 -## eabi_compat.c +### Accessories -This code snippet appears to be providing implementations for the functions `abort`, `raise`, and `__aeabi_unwind_cpp_pr0`. Here's a breakdown of their functionalities: +RGB-1024x600: https://item.taobao.com/item.htm?id=611156659477& -1. `void abort(void)`: This function creates an infinite loop, causing the program to hang indefinitely. It is typically used to indicate a critical error or unrecoverable condition in a program. -2. `int raise(int signum)`: This function is a placeholder and always returns 0. In standard C, this function is used to raise a signal and initiate the corresponding signal handler. However, in this implementation, it does nothing and simply returns 0. -3. `void __aeabi_unwind_cpp_pr0(void)`: This is a dummy function that serves as a placeholder to avoid linker complaints. Its purpose is to satisfy the linker when using C++ exceptions and unwinding, but it does not contain any actual functionality. diff --git a/board/dongshanpi-aict/README.md b/board/dongshanpi-aict/README.md index fc121158..bbad4c8b 100644 --- a/board/dongshanpi-aict/README.md +++ b/board/dongshanpi-aict/README.md @@ -1,29 +1,56 @@ -# SyterKit Common - -## start.S - -This code snippet is an ARM assembly language program that includes initialization settings and exception handlers. Here's a breakdown of its functionalities: - -1. Initialization Settings: It sets registers and writes specific values to configure the processor's working mode, interrupt enable, etc. - -2. Set Vector Table: It writes the address of the vector table to the Vector Base Address Register, which is used for handling exceptions and interrupts. - -3. Enable NEON/VFP Unit: It configures the processor to enable the NEON (Advanced SIMD) and VFP (Floating-Point) units. - -4. Clear BSS Section: It zeroes out variables in the BSS section. - -5. Disable Interrupts: It disables FIQ and IRQ interrupts and switches the processor to SVC32 mode. - -6. Set Timer Frequency: It sets the timer frequency to 24M. - -7. Call the main Function: It jumps to the main function to execute the main logic. - -## eabi_compat.c - -This code snippet appears to be providing implementations for the functions `abort`, `raise`, and `__aeabi_unwind_cpp_pr0`. Here's a breakdown of their functionalities: - -1. `void abort(void)`: This function creates an infinite loop, causing the program to hang indefinitely. It is typically used to indicate a critical error or unrecoverable condition in a program. - -2. `int raise(int signum)`: This function is a placeholder and always returns 0. In standard C, this function is used to raise a signal and initiate the corresponding signal handler. However, in this implementation, it does nothing and simply returns 0. - -3. `void __aeabi_unwind_cpp_pr0(void)`: This is a dummy function that serves as a placeholder to avoid linker complaints. Its purpose is to satisfy the linker when using C++ exceptions and unwinding, but it does not contain any actual functionality. +# DongshanPI-AICT + +## Specifications + +![100ask-v853-pro_top](https://github.com/YuzukiHD/SyterKit/assets/12003087/0240756e-d8cc-4240-9486-6ba3b2d55d56) + + +- Based on Allwinner V853 +- Cortex-A7 Core up to 1200MHz +- RISC-V E907GC@600MHz +- 1Tops@int8 NPU +- Built in 512MB/1GB DDR3 memory +- One TF Card Slot, Support UHS-SDR104 +- On board SPI NAND / 8/32G Emmc +- On board USB&UART Combo +- Supports one 2/4-lane MIPI CSI inputs +- Supports 1 individual ISP, with maximum resolution of 2560 x 1440 +- H.264/H.265 decoding at 4096x4096 +- H.264/H.265 encoder supports 3840x2160@20fps +- Online Video encode +- RISC-V E907 RTOS Support, Based on RT-Thread + RTOS-HAL + +## Application + +| Name | Function | Path | +| --------------- | ------------------------------------------------------------ | ----------------- | +| hello world | Minimal program example, prints Hello World | `hello_world` | +| init dram | Initializes the serial port and DRAM | `init_dram` | +| read chip efuse | Reads chip efuse information | `read_chip_efuse` | +| read chipsid | Reads the unique ID of the chip | `read_chipsid` | +| load e907 | Reads the e907 core firmware, starts the e907 core, and uses V851s as a large RISC-V microcontroller (E907 @ 600 MHz with 64MB memory) | `load_e907` | +| syter boot | Bootstrapping function that replaces U-Boot, enabling fast system startup for Linux | `syter_boot` | +| syter boot_spi | Bootstrapping function that replaces U-Boot, enabling fast system startup for Linux for SPI NAND, SPI NOR | `syter_boot_spi` | +| syter amp | Reads the e907 core firmware, starts the e907 core, loads the kernel, and runs Linux simultaneously on both e907 and a7 systems, which are heterogeneously integrated | `syter_amp` | +| fdt parser | Reads the DTB and Parser Print out | `fdt_parser` | +| fdt cli | Reads the DTB with a CLI support uboot fdt command | `fdt_cli` | +| syter bootargs | Bootstrapping function that replaces U-Boot, enabling fast system startup for Linux, Within a CLI to change bootargs | `syter_bootargs` | +| cli test | Test baisc CLI function | `cli_test` | +| i2c oled | | `i2c_oled` | +| i2c test | | `i2c_test` | +| spi lcd | | `spi_lcd` | +| syter boot spi | | `syter_boot_spi` | + +## Buy Now + +### DongshanPI-AICT + +- Taobao: https://item.taobao.com/item.htm?id=706864521673 + +### Accessories + +- MIPI GC2053 Camera: [https://item.taobao.com/item.htm?id=706864521673&skuId=5213471339193](https://item.taobao.com/item.htm?id=706864521673&skuId=5213471339193) + +- MIPI DSI 800x480 Display: https://item.taobao.com/item.htm?id=706091265930 + + diff --git a/board/longanpi-4b/README.md b/board/longanpi-4b/README.md index 53c8e531..e6c3754c 100644 --- a/board/longanpi-4b/README.md +++ b/board/longanpi-4b/README.md @@ -1,21 +1,5 @@ -# MYC-LT527核心板及开发板 +# Sipeed Longanpi LM4B -![image](https://github.com/YuzukiHD/SyterKit/assets/12003087/823c85ba-3f7a-4e8d-82ec-4c875b6e28a4) - -Myir debuts the whole T527, octa-core A55 enabled edge computing -Full digital T527 processor, octa-core A55, efficient edge computing; - -Powerful multimedia functions: G57 GPU, 4K codec VPU, HiFi4 DSP, support 4~6 cameras; - -Support a variety of display interfaces: HDMI, DP, LVDS, MIPI-DSI and RGB parallel port, support 4K+1080P dual display; - -Rich communication interface: 2*GE, 2*CAN, PCIE/USB3.0, 2*USB2.0, 10*UART, 30*PWM, 4*SPI, 9*I2C, etc. - -T527 is the real industrial grade -40℃~+85℃; - -Ultra-compact LGA 381pin package. - -Applications: high-performance industrial robots, display and control machines, vehicle terminals, edge smart boxes ## T527 Brief