Skip to content

Commit

Permalink
Merge branch 'main' into dev
Browse files Browse the repository at this point in the history
  • Loading branch information
YuzukiTsuru authored Feb 23, 2024
2 parents 9eb2f01 + 3cbc546 commit d1cdc06
Show file tree
Hide file tree
Showing 7 changed files with 141 additions and 93 deletions.
4 changes: 3 additions & 1 deletion .github/workflows/SyncGitee.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
name: Sync To Gitee

on: [ push, delete, create ]
on:
push:
branches: [ "main" ]

jobs:
build:
Expand Down
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down
39 changes: 24 additions & 15 deletions board/100ask-d1-h/README.md
Original file line number Diff line number Diff line change
@@ -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.
43 changes: 28 additions & 15 deletions board/100ask-ros/README.md
Original file line number Diff line number Diff line change
@@ -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.
43 changes: 28 additions & 15 deletions board/100ask-t113i/README.md
Original file line number Diff line number Diff line change
@@ -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.
85 changes: 56 additions & 29 deletions board/dongshanpi-aict/README.md
Original file line number Diff line number Diff line change
@@ -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


18 changes: 1 addition & 17 deletions board/longanpi-4b/README.md
Original file line number Diff line number Diff line change
@@ -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

Expand Down

0 comments on commit d1cdc06

Please sign in to comment.