Finally got FreeRTOS working thank FUCK!

This commit is contained in:
NaifBanana
2026-10-21 08:02:20 -05:00
parent 92d1ba591b
commit eaf0b686ab
8 changed files with 44 additions and 39 deletions
+3
View File
@@ -1,2 +1,5 @@
build build
.cache .cache
.nvim
.git
!.git/hooks
-8
View File
@@ -6,20 +6,12 @@ add_executable(${APP_NAME}
./main.c ./main.c
) )
target_include_directories(Blinky
PUBLIC ${FREERTOS_ROOT}/include/
)
target_link_libraries(Blinky LINK_PUBLIC target_link_libraries(Blinky LINK_PUBLIC
pico_stdlib pico_stdlib
FreeRTOS-Kernel FreeRTOS-Kernel
FreeRTOS-Kernel-Heap4 FreeRTOS-Kernel-Heap4
) )
get_test_property(FUCKASS Blinky INCLUDE_DIRECTORIES)
message(STATUS "Includes are ${FUCKASS}")
pico_enable_stdio_usb(${APP_NAME} 1) pico_enable_stdio_usb(${APP_NAME} 1)
pico_enable_stdio_uart(${APP_NAME} 0) pico_enable_stdio_uart(${APP_NAME} 0)
+3 -3
View File
@@ -1,11 +1,11 @@
#include <pico/stdlib.h> #include <pico/stdlib.h>
#include <FreeRTOS.h> #include "FreeRTOS.h"
#include <task.h> #include <task.h>
void vBlinkTask() { void vBlinkTask(void* x) {
for (;;) { for (;;) {
gpio_put(PICO_DEFAULT_LED_PIN, 1); gpio_put(PICO_DEFAULT_LED_PIN, 1);
vTaskDelay(250); vTaskDelay(500);
gpio_put(PICO_DEFAULT_LED_PIN, 0); gpio_put(PICO_DEFAULT_LED_PIN, 0);
vTaskDelay(250); vTaskDelay(250);
} }
+30 -21
View File
@@ -5,43 +5,52 @@ set(PROJECT_NAME "GateOpener")
set(PICO_SDK_PATH "C:/Users/naifa/Documents/Projects/Hardware/Microcontroller/SDK/PicoC++/pico-sdk") set(PICO_SDK_PATH "C:/Users/naifa/Documents/Projects/Hardware/Microcontroller/SDK/PicoC++/pico-sdk")
set(PICO_TOOLCHAIN_PATH "C:/Users/naifa/Documents/Projects/Hardware/Microcontroller/SDK/arm-gnu-toolchain-15.3.rel2-mingw-w64-x86_64-arm-none-eabi" ) set(PICO_TOOLCHAIN_PATH "C:/Users/naifa/Documents/Projects/Hardware/Microcontroller/SDK/arm-gnu-toolchain-15.3.rel2-mingw-w64-x86_64-arm-none-eabi" )
set(FREERTOS_ROOT "C:/Users/naifa/Documents/Projects/Hardware/FreeRTOS-Kernel") set(FREERTOS_KERNEL_PATH "C:/Users/naifa/Documents/Projects/Hardware/FreeRTOS-Kernel")
set(FREERTOS_CFG_DIRECTORY "${CMAKE_CURRENT_LIST_DIR}/Config") set(FREERTOS_CFG_DIRECTORY "${CMAKE_CURRENT_LIST_DIR}/Config")
set(RADIOLIB_PATH "C:/Program Files (x86)/radiolib") set(RADIOLIB_PATH "C:/Program Files (x86)/radiolib")
include(${PICO_SDK_PATH}/external/pico_sdk_import.cmake)
include(${FREERTOS_ROOT}/portable/ThirdParty/GCC/RP2040/FreeRTOS_Kernel_import.cmake)
set(CMAKE_PREFIX_PATH set(CMAKE_PREFIX_PATH
${CMAKE_PREFIX_PATH} ${CMAKE_PREFIX_PATH}
${FREERTOS_ROOT} ${FREERTOS_KERNEL_PATH}
${RADIOLIB_PATH} ${RADIOLIB_PATH}
) )
set(FREERTOS_PICO ${FREERTOS_KERNEL_PATH}/portable/ThirdParty/GCC/RP2040)
include(./pico_sdk_import.cmake)
# include(${FREERTOS_ROOT}/portable/ThirdParty/GCC/RP2040/FreeRTOS_Kernel_import.cmake)
project(${PROJECT_NAME} VERSION ${VERSION} LANGUAGES CXX C ASM) project(${PROJECT_NAME} VERSION ${VERSION} LANGUAGES CXX C ASM)
include(./FreeRTOS_Kernel_import.cmake)
pico_sdk_init() pico_sdk_init()
message(STATUS "Pico SDK dir is ${PICO_SDK_PATH}") message(STATUS "Pico SDK dir is ${PICO_SDK_PATH}")
message(STATUS "FreeRTOS root is ${FREERTOS_ROOT}") message(STATUS "FreeRTOS root is ${FREERTOS_KERNEL_PATH}")
# add_library(FreeRTOS STATIC include_directories(${FREERTOS_CFG_DIRECTORY}/)
# ${FREERTOS_ROOT}/event_groups.c include_directories(SYSTEM AFTER
# ${FREERTOS_ROOT}/list.c # ${FREERTOS_PICO}
# ${FREERTOS_ROOT}/queue.c ${FREERTOS_PICO}/include
# ${FREERTOS_ROOT}/stream_buffer.c ${FREERTOS_KERNEL_PATH}/include
# ${FREERTOS_ROOT}/tasks.c ${FREERTOS_KERNEL_PATH}/portable/GCC/ARM_CM0
# ${FREERTOS_ROOT}/timers.c ${RADIOLIB_PATH}/include
# ${FREERTOS_ROOT}/portable/MemMang/heap_3.c
# ${FREERTOS_ROOT}/portable/GCC/ARM_CM0/port.c
# )
#
include_directories(PUBLIC
${FREERTOS_CFG_DIRECTORY}
${FREERTOS_ROOT}/include/
${FREERTOS_ROOT}/portable/GCC/ARM_CM0/
) )
add_compile_definitions(configTICK_CORE=0)
# include(${FREERTOS_PICO}/FreeRTOS_Kernel_import.cmake)
# add_library(FreeRTOS STATIC
# ${FREERTOS_KERNEL_PATH}/event_groups.c
# ${FREERTOS_KERNEL_PATH}/list.c
# ${FREERTOS_KERNEL_PATH}/queue.c
# ${FREERTOS_KERNEL_PATH}/stream_buffer.c
# ${FREERTOS_KERNEL_PATH}/tasks.c
# ${FREERTOS_KERNEL_PATH}/timers.c
# ${FREERTOS_KERNEL_PATH}/portable/MemMang/heap_3.c
# # ${FREERTOS_SRC_DIRECTORY}/portable/GCC/ARM_CM0/port.c
# ${FREERTOS_PICO}/port.c
# )
add_subdirectory(./Blinky) add_subdirectory(./Blinky)
add_subdirectory(./Listener) add_subdirectory(./Listener)
add_subdirectory(./Yeller) add_subdirectory(./Yeller)
+2 -1
View File
@@ -8,7 +8,8 @@ add_executable(${APP_NAME}
target_link_libraries(${APP_NAME} LINK_PUBLIC target_link_libraries(${APP_NAME} LINK_PUBLIC
pico_stdlib pico_stdlib
FreeRTOS FreeRTOS-Kernel
FreeRTOS-Kernel-Heap4
) )
pico_enable_stdio_usb(${APP_NAME} 1) pico_enable_stdio_usb(${APP_NAME} 1)
+2 -3
View File
@@ -1,10 +1,9 @@
#include "Config/FreeRTOSConfig.h" #include "FreeRTOSConfig.h"
#include "FreeRTOS.h" #include "FreeRTOS.h"
#include <pico/error.h> #include <pico/error.h>
#include <pico/stdio.h> #include <pico/stdio.h>
#include <pico/time.h> #include <pico/time.h>
#include <RadioLib/RadioLib.h> #include <RadioLib/RadioLib.h>
#include <RadioLib/>
const char NULLCHAR = '\0'; const char NULLCHAR = '\0';
@@ -53,7 +52,7 @@ int main() {
stdio_init_all(); stdio_init_all();
int num; int num;
int len; int len;
read_buffer = malloc(256 * sizeof(char)); read_buffer = (char*)malloc(256 * sizeof(char));
while(true) { while(true) {
printf("Give a number: \n"); printf("Give a number: \n");
sleep_ms(50); sleep_ms(50);
+2 -1
View File
@@ -8,7 +8,8 @@ add_executable(${APP_NAME}
target_link_libraries(${APP_NAME} LINK_PUBLIC target_link_libraries(${APP_NAME} LINK_PUBLIC
pico_stdlib pico_stdlib
FreeRTOS FreeRTOS-Kernel
FreeRTOS-Kernel-Heap4
) )
pico_enable_stdio_usb(${APP_NAME} 1) pico_enable_stdio_usb(${APP_NAME} 1)
+2 -2
View File
@@ -1,8 +1,8 @@
#include "Config/FreeRTOSConfig.h" #include "FreeRTOSConfig.h"
#include "FreeRTOS.h" #include "FreeRTOS.h"
#include <pico/stdlib.h> #include <pico/stdlib.h>
#include <RadioLib/RadioLib.h> #include <RadioLib/RadioLib.h>
#include <RadioLib/Module.h>> #include <RadioLib/Module.h>
int main() { int main() {
// Currently written as numbered 1-40th pin on Pico // Currently written as numbered 1-40th pin on Pico