Upgrade to pico SDK 2.0.0
This commit is contained in:
2
motor-control/firmware/.vscode/settings.json
vendored
2
motor-control/firmware/.vscode/settings.json
vendored
@@ -50,7 +50,7 @@
|
|||||||
"wready"
|
"wready"
|
||||||
],
|
],
|
||||||
"cmake.sourceDirectory": "/home/alexander/Projects/gobot/motor-control/firmware",
|
"cmake.sourceDirectory": "/home/alexander/Projects/gobot/motor-control/firmware",
|
||||||
"cmake.buildDirectory": "${workspaceFolder}/firmware/build",
|
"cmake.buildDirectory": "${workspaceFolder}/build",
|
||||||
"cmake.configureOnOpen": true,
|
"cmake.configureOnOpen": true,
|
||||||
"files.associations": {
|
"files.associations": {
|
||||||
"timer.h": "c",
|
"timer.h": "c",
|
||||||
|
|||||||
32
motor-control/firmware/.vscode/tasks.json
vendored
32
motor-control/firmware/.vscode/tasks.json
vendored
@@ -32,8 +32,9 @@
|
|||||||
"cwd": "${workspaceRoot}"
|
"cwd": "${workspaceRoot}"
|
||||||
},
|
},
|
||||||
"group": "test",
|
"group": "test",
|
||||||
|
"dependsOn": [
|
||||||
"dependsOn": ["CMake: build main"],
|
"CMake: build main"
|
||||||
|
],
|
||||||
"presentation": {
|
"presentation": {
|
||||||
"echo": true,
|
"echo": true,
|
||||||
"reveal": "always",
|
"reveal": "always",
|
||||||
@@ -43,7 +44,6 @@
|
|||||||
"clear": true
|
"clear": true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
"type": "cmake",
|
"type": "cmake",
|
||||||
"label": "CMake: build usb_test",
|
"label": "CMake: build usb_test",
|
||||||
@@ -75,8 +75,9 @@
|
|||||||
"cwd": "${workspaceRoot}"
|
"cwd": "${workspaceRoot}"
|
||||||
},
|
},
|
||||||
"group": "test",
|
"group": "test",
|
||||||
|
"dependsOn": [
|
||||||
"dependsOn": ["CMake: build usb_test"],
|
"CMake: build usb_test"
|
||||||
|
],
|
||||||
"presentation": {
|
"presentation": {
|
||||||
"echo": true,
|
"echo": true,
|
||||||
"reveal": "always",
|
"reveal": "always",
|
||||||
@@ -86,7 +87,6 @@
|
|||||||
"clear": true
|
"clear": true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
"type": "cmake",
|
"type": "cmake",
|
||||||
"label": "CMake: build freeRTOS_test",
|
"label": "CMake: build freeRTOS_test",
|
||||||
@@ -118,8 +118,9 @@
|
|||||||
"cwd": "${workspaceRoot}"
|
"cwd": "${workspaceRoot}"
|
||||||
},
|
},
|
||||||
"group": "test",
|
"group": "test",
|
||||||
|
"dependsOn": [
|
||||||
"dependsOn": ["CMake: build freeRTOS_test"],
|
"CMake: build freeRTOS_test"
|
||||||
|
],
|
||||||
"presentation": {
|
"presentation": {
|
||||||
"echo": true,
|
"echo": true,
|
||||||
"reveal": "always",
|
"reveal": "always",
|
||||||
@@ -129,8 +130,6 @@
|
|||||||
"clear": true
|
"clear": true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
||||||
{
|
{
|
||||||
"type": "shell",
|
"type": "shell",
|
||||||
"label": "Pico: launch openocd",
|
"label": "Pico: launch openocd",
|
||||||
@@ -161,11 +160,22 @@
|
|||||||
"type": "shell",
|
"type": "shell",
|
||||||
"label": "Doxygen: Generate Docs",
|
"label": "Doxygen: Generate Docs",
|
||||||
"command": [
|
"command": [
|
||||||
"doxygen ./docs/Doxyfile",
|
"doxygen ./docs/Doxyfile"
|
||||||
],
|
],
|
||||||
"options": {
|
"options": {
|
||||||
"cwd": "${workspaceRoot}"
|
"cwd": "${workspaceRoot}"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "shell",
|
||||||
|
"label": "Nuke Build Directory",
|
||||||
|
"command": [
|
||||||
|
"rm -rf build"
|
||||||
|
],
|
||||||
|
"options": {
|
||||||
|
"cwd": "${workspaceRoot}"
|
||||||
|
},
|
||||||
|
"problemMatcher": []
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@@ -8,8 +8,8 @@ else()
|
|||||||
SET(PICO_SDK_PATH "${CMAKE_SOURCE_DIR}/lib/pico-sdk")
|
SET(PICO_SDK_PATH "${CMAKE_SOURCE_DIR}/lib/pico-sdk")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
SET(PICO_TOOLCHAIN_PATH $PICO_SDK_PATH/cmake/preload/toolchains/)
|
#SET(PICO_TOOLCHAIN_PATH "${PICO_SDK_PATH}/cmake/preload/toolchains/")
|
||||||
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "$<1:${CMAKE_BINARY_DIR}/bin>")
|
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin")
|
||||||
|
|
||||||
include(${PICO_SDK_PATH}/pico_sdk_init.cmake)
|
include(${PICO_SDK_PATH}/pico_sdk_init.cmake)
|
||||||
|
|
||||||
@@ -47,12 +47,7 @@ target_include_directories(main PUBLIC
|
|||||||
include/
|
include/
|
||||||
)
|
)
|
||||||
|
|
||||||
# Add FreeRTOS
|
include(${PROJECT_SOURCE_DIR}/cmake/tmc2209.cmake)
|
||||||
include(freeRTOS.cmake)
|
|
||||||
|
|
||||||
target_include_directories(FreeRTOS PUBLIC
|
|
||||||
${CMAKE_CURRENT_LIST_DIR}
|
|
||||||
)
|
|
||||||
|
|
||||||
# Adding PIO
|
# Adding PIO
|
||||||
#pico_generate_pio_header(main ${CMAKE_CURRENT_LIST_DIR}/src/dac/dac.pio)
|
#pico_generate_pio_header(main ${CMAKE_CURRENT_LIST_DIR}/src/dac/dac.pio)
|
||||||
@@ -61,11 +56,8 @@ target_include_directories(FreeRTOS PUBLIC
|
|||||||
target_link_libraries(main
|
target_link_libraries(main
|
||||||
pico_stdlib
|
pico_stdlib
|
||||||
pico_multicore
|
pico_multicore
|
||||||
hardware_pio
|
|
||||||
hardware_dma
|
tmc2209_driver
|
||||||
hardware_timer
|
|
||||||
FreeRTOS
|
|
||||||
EEPROMDriver
|
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,100 +0,0 @@
|
|||||||
#ifndef FREERTOS_CONFIG_H
|
|
||||||
#define FREERTOS_CONFIG_H
|
|
||||||
|
|
||||||
|
|
||||||
#define configUSE_PREEMPTION 1
|
|
||||||
#define configUSE_PORT_OPTIMISED_TASK_SELECTION 0
|
|
||||||
#define configUSE_TICKLESS_IDLE 0
|
|
||||||
#define configCPU_CLOCK_HZ 133000000
|
|
||||||
#define configSYSTICK_CLOCK_HZ 1000000
|
|
||||||
#define configTICK_RATE_HZ 1000
|
|
||||||
#define configMAX_PRIORITIES 4
|
|
||||||
#define configMINIMAL_STACK_SIZE 256
|
|
||||||
#define configMAX_TASK_NAME_LEN 16
|
|
||||||
#define configUSE_16_BIT_TICKS 0
|
|
||||||
#define configIDLE_SHOULD_YIELD 1
|
|
||||||
#define configUSE_TASK_NOTIFICATIONS 1
|
|
||||||
#define configTASK_NOTIFICATION_ARRAY_ENTRIES 3
|
|
||||||
#define configUSE_MUTEXES 0
|
|
||||||
#define configUSE_RECURSIVE_MUTEXES 0
|
|
||||||
#define configUSE_COUNTING_SEMAPHORES 1
|
|
||||||
#define configUSE_ALTERNATIVE_API 0 /* Deprecated! */
|
|
||||||
#define configQUEUE_REGISTRY_SIZE 10
|
|
||||||
#define configUSE_QUEUE_SETS 0
|
|
||||||
#define configUSE_TIME_SLICING 1
|
|
||||||
#define configUSE_NEWLIB_REENTRANT 0
|
|
||||||
#define configENABLE_BACKWARD_COMPATIBILITY 0
|
|
||||||
#define configNUM_THREAD_LOCAL_STORAGE_POINTERS 5
|
|
||||||
#define configSTACK_DEPTH_TYPE uint16_t
|
|
||||||
#define configMESSAGE_BUFFER_LENGTH_TYPE size_t
|
|
||||||
|
|
||||||
/* Memory allocation related definitions. */
|
|
||||||
#define configSUPPORT_STATIC_ALLOCATION 0
|
|
||||||
#define configSUPPORT_DYNAMIC_ALLOCATION 1
|
|
||||||
#define configTOTAL_HEAP_SIZE 50000
|
|
||||||
#define configAPPLICATION_ALLOCATED_HEAP 0
|
|
||||||
|
|
||||||
/* Hook function related definitions. */
|
|
||||||
#define configUSE_IDLE_HOOK 0
|
|
||||||
#define configUSE_TICK_HOOK 0
|
|
||||||
#define configCHECK_FOR_STACK_OVERFLOW 0
|
|
||||||
#define configUSE_MALLOC_FAILED_HOOK 0
|
|
||||||
#define configUSE_DAEMON_TASK_STARTUP_HOOK 0
|
|
||||||
|
|
||||||
/* Run time and task stats gathering related definitions. */
|
|
||||||
#define configGENERATE_RUN_TIME_STATS 0
|
|
||||||
#define configUSE_TRACE_FACILITY 0
|
|
||||||
#define configUSE_STATS_FORMATTING_FUNCTIONS 0
|
|
||||||
|
|
||||||
/* Co-routine related definitions. */
|
|
||||||
#define configUSE_CO_ROUTINES 0
|
|
||||||
#define configMAX_CO_ROUTINE_PRIORITIES 1
|
|
||||||
|
|
||||||
/* Software timer related definitions. */
|
|
||||||
#define configUSE_TIMERS 1
|
|
||||||
#define configTIMER_TASK_PRIORITY 3
|
|
||||||
#define configTIMER_QUEUE_LENGTH 10
|
|
||||||
#define configTIMER_TASK_STACK_DEPTH configMINIMAL_STACK_SIZE
|
|
||||||
|
|
||||||
/* Interrupt nesting behaviour configuration. */
|
|
||||||
#define configKERNEL_INTERRUPT_PRIORITY [dependent of processor]
|
|
||||||
#define configMAX_SYSCALL_INTERRUPT_PRIORITY [dependent on processor and application]
|
|
||||||
#define configMAX_API_CALL_INTERRUPT_PRIORITY [dependent on processor and application]
|
|
||||||
|
|
||||||
/* Define to trap errors during development. */
|
|
||||||
//#define configASSERT( ( x ) ) assert()
|
|
||||||
|
|
||||||
/* FreeRTOS MPU specific definitions. */
|
|
||||||
#define configINCLUDE_APPLICATION_DEFINED_PRIVILEGED_FUNCTIONS 0
|
|
||||||
#define configTOTAL_MPU_REGIONS 8 /* Default value. */
|
|
||||||
#define configTEX_S_C_B_FLASH 0x07UL /* Default value. */
|
|
||||||
#define configTEX_S_C_B_SRAM 0x07UL /* Default value. */
|
|
||||||
#define configENFORCE_SYSTEM_CALLS_FROM_KERNEL_ONLY 1
|
|
||||||
|
|
||||||
/* Optional functions - most linkers will remove unused functions anyway. */
|
|
||||||
#define INCLUDE_vTaskPrioritySet 1
|
|
||||||
#define INCLUDE_uxTaskPriorityGet 1
|
|
||||||
#define INCLUDE_vTaskDelete 1
|
|
||||||
#define INCLUDE_vTaskSuspend 1
|
|
||||||
#define INCLUDE_xResumeFromISR 1
|
|
||||||
#define INCLUDE_vTaskDelayUntil 1
|
|
||||||
#define INCLUDE_vTaskDelay 1
|
|
||||||
#define INCLUDE_xTaskGetSchedulerState 1
|
|
||||||
#define INCLUDE_xTaskGetCurrentTaskHandle 1
|
|
||||||
#define INCLUDE_uxTaskGetStackHighWaterMark 0
|
|
||||||
#define INCLUDE_xTaskGetIdleTaskHandle 0
|
|
||||||
#define INCLUDE_eTaskGetState 0
|
|
||||||
#define INCLUDE_xEventGroupSetBitFromISR 1
|
|
||||||
#define INCLUDE_xTimerPendFunctionCall 0
|
|
||||||
#define INCLUDE_xTaskAbortDelay 0
|
|
||||||
#define INCLUDE_xTaskGetHandle 0
|
|
||||||
#define INCLUDE_xTaskResumeFromISR 1
|
|
||||||
|
|
||||||
#define vPortSVCHandler isr_svcall
|
|
||||||
#define xPortPendSVHandler isr_pendsv
|
|
||||||
#define xPortSysTickHandler isr_systick
|
|
||||||
|
|
||||||
|
|
||||||
/* A header file that defines trace macro can be included here. */
|
|
||||||
|
|
||||||
#endif /* FREERTOS_CONFIG_H */
|
|
||||||
13
motor-control/firmware/cmake/tmc2209.cmake
Normal file
13
motor-control/firmware/cmake/tmc2209.cmake
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
add_library(tmc2209_driver STATIC
|
||||||
|
src/tmc2209/uart_interface.cpp
|
||||||
|
)
|
||||||
|
|
||||||
|
target_include_directories(tmc2209_driver PRIVATE
|
||||||
|
include/tmc2209/
|
||||||
|
)
|
||||||
|
|
||||||
|
target_link_libraries(tmc2209_driver
|
||||||
|
pico_stdlib
|
||||||
|
hardware_uart
|
||||||
|
)
|
||||||
|
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
SET(FreeRTOS_DIR ${CMAKE_CURRENT_LIST_DIR}/lib/FreeRTOS-Kernel)
|
|
||||||
FILE(GLOB FreeRTOS_src ${FreeRTOS_DIR}/*.c)
|
|
||||||
|
|
||||||
add_library(FreeRTOS STATIC
|
|
||||||
${FreeRTOS_src}
|
|
||||||
${FreeRTOS_DIR}/portable/GCC/ARM_CM0/port.c
|
|
||||||
${FreeRTOS_DIR}/portable/MemMang/heap_4.c
|
|
||||||
)
|
|
||||||
|
|
||||||
target_include_directories(FreeRTOS PUBLIC
|
|
||||||
${FreeRTOS_DIR}/portable/GCC/ARM_CM0/
|
|
||||||
${FreeRTOS_DIR}/include/
|
|
||||||
)
|
|
||||||
Submodule motor-control/firmware/lib/pico-sdk updated: efe2103f9b...beb6f990a6
Reference in New Issue
Block a user