Forwarded from Stephan Zhdanov
🟢 FreeRTOS на LicheeRV Nano
➡️ Внутри SG2002 (SoC LicheeRV Nano) целых 4 ядра. Одно из них RISC-V ядро, работающее на частоте 700 Mhz позиционируется, как RTOS ядро. Официально FreeRTOS не поддерживает данный процессор, но разработчики Sophgo (SG2002) предоставляют свой порт.
➡️ В официальном Buildroot образе LicheeRV Nano от Sipeed исходники порта FreeRTOS’а уже добавлены(директория freertos/cvitek). В текущей реализации после инициализации ядра вызывается функция main_cvirtos (в файле task/comm/src/riscv64/comm_main.c), в которой предлагается создавать задачи и запускать шедулер (vTaskStartScheduler).
➡️ Linux и RTOS ядро разделяют доступ к UART0 (printf пишет в него). Логи от RTOS ядра имеют префикс “RT:”.
➡️ Следующими командами можно пересобрать FreeRTOS и обновить fsbl (он управляет запуском платы, в том числе RTOS ядром) на плате:
#licheerv_nano #freertos
➡️ Внутри SG2002 (SoC LicheeRV Nano) целых 4 ядра. Одно из них RISC-V ядро, работающее на частоте 700 Mhz позиционируется, как RTOS ядро. Официально FreeRTOS не поддерживает данный процессор, но разработчики Sophgo (SG2002) предоставляют свой порт.
➡️ В официальном Buildroot образе LicheeRV Nano от Sipeed исходники порта FreeRTOS’а уже добавлены(директория freertos/cvitek). В текущей реализации после инициализации ядра вызывается функция main_cvirtos (в файле task/comm/src/riscv64/comm_main.c), в которой предлагается создавать задачи и запускать шедулер (vTaskStartScheduler).
➡️ Linux и RTOS ядро разделяют доступ к UART0 (printf пишет в него). Логи от RTOS ядра имеют префикс “RT:”.
➡️ Следующими командами можно пересобрать FreeRTOS и обновить fsbl (он управляет запуском платы, в том числе RTOS ядром) на плате:
cd freertos/cvitek/
./build_cv181x.sh
cd /workspace
build_fsbl
scp /workspace/install/soc_sg2002_licheervnano_sd/fip.bin root@IP:/boot/fip.bin#licheerv_nano #freertos
🔥2