mirror of
https://github.com/hathach/tinyusb.git
synced 2026-08-18 02:53:35 +00:00
Enable APM32F0 dependency fetching and CI
This commit is contained in:
1
.github/workflows/ci_set_matrix.py
vendored
1
.github/workflows/ci_set_matrix.py
vendored
@ -16,6 +16,7 @@ toolchain_list = [
|
||||
|
||||
# family: [supported toolchain]
|
||||
family_list = {
|
||||
"apm32f0xx": ["arm-gcc"],
|
||||
"at32f402_405": ["arm-gcc"],
|
||||
"at32f403a_407": ["arm-gcc"],
|
||||
"at32f413": ["arm-gcc"],
|
||||
|
||||
1
.gitignore
vendored
1
.gitignore
vendored
@ -78,6 +78,7 @@ hw/mcu/artery/
|
||||
hw/mcu/broadcom/
|
||||
hw/mcu/bridgetek/ft9xx/ft90x-sdk/
|
||||
hw/mcu/gd/
|
||||
hw/mcu/geehy/
|
||||
hw/mcu/hpmicro/
|
||||
hw/mcu/infineon/
|
||||
hw/mcu/microchip/
|
||||
|
||||
@ -1,3 +1,4 @@
|
||||
mcu:APM32F0XX
|
||||
mcu:CH32V103
|
||||
mcu:CH32V20X
|
||||
mcu:LPC11UXX
|
||||
|
||||
108
hw/bsp/apm32f0xx/FreeRTOSConfig/FreeRTOSConfig.h
Normal file
108
hw/bsp/apm32f0xx/FreeRTOSConfig/FreeRTOSConfig.h
Normal file
@ -0,0 +1,108 @@
|
||||
/*
|
||||
* The MIT License (MIT)
|
||||
*
|
||||
* Copyright (c) 2026, Ha Thach (tinyusb.org)
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*
|
||||
* This file is part of the TinyUSB stack.
|
||||
*/
|
||||
|
||||
#ifndef FREERTOS_CONFIG_H_
|
||||
#define FREERTOS_CONFIG_H_
|
||||
|
||||
#ifndef __IASMARM__
|
||||
#include "apm32f0xx.h"
|
||||
#endif
|
||||
|
||||
#define configENABLE_MPU 0
|
||||
#define configENABLE_FPU 0
|
||||
#define configENABLE_TRUSTZONE 0
|
||||
#define configMINIMAL_SECURE_STACK_SIZE 1024
|
||||
|
||||
#define configUSE_PREEMPTION 1
|
||||
#define configUSE_PORT_OPTIMISED_TASK_SELECTION 0
|
||||
#define configCPU_CLOCK_HZ SystemCoreClock
|
||||
#define configTICK_RATE_HZ 1000
|
||||
#define configMAX_PRIORITIES 5
|
||||
#define configMINIMAL_STACK_SIZE 128
|
||||
#define configTOTAL_HEAP_SIZE ( configSUPPORT_DYNAMIC_ALLOCATION * 4 * 1024 )
|
||||
#define configMAX_TASK_NAME_LEN 16
|
||||
#define configUSE_16_BIT_TICKS 0
|
||||
#define configIDLE_SHOULD_YIELD 1
|
||||
#define configUSE_MUTEXES 1
|
||||
#define configUSE_RECURSIVE_MUTEXES 1
|
||||
#define configUSE_COUNTING_SEMAPHORES 1
|
||||
#define configQUEUE_REGISTRY_SIZE 4
|
||||
#define configUSE_QUEUE_SETS 0
|
||||
#define configUSE_TIME_SLICING 0
|
||||
#define configUSE_NEWLIB_REENTRANT 0
|
||||
#define configENABLE_BACKWARD_COMPATIBILITY 1
|
||||
#define configSTACK_ALLOCATION_FROM_SEPARATE_HEAP 0
|
||||
|
||||
#define configSUPPORT_STATIC_ALLOCATION 1
|
||||
#define configSUPPORT_DYNAMIC_ALLOCATION 0
|
||||
|
||||
#define configUSE_IDLE_HOOK 0
|
||||
#define configUSE_TICK_HOOK 0
|
||||
#define configUSE_MALLOC_FAILED_HOOK 0
|
||||
#define configCHECK_FOR_STACK_OVERFLOW 2
|
||||
#define configCHECK_HANDLER_INSTALLATION 0
|
||||
|
||||
#define configGENERATE_RUN_TIME_STATS 0
|
||||
#define configRECORD_STACK_HIGH_ADDRESS 1
|
||||
#define configUSE_TRACE_FACILITY 1
|
||||
#define configUSE_STATS_FORMATTING_FUNCTIONS 0
|
||||
|
||||
#define configUSE_CO_ROUTINES 0
|
||||
#define configMAX_CO_ROUTINE_PRIORITIES 2
|
||||
|
||||
#define configUSE_TIMERS 1
|
||||
#define configTIMER_TASK_PRIORITY ( configMAX_PRIORITIES - 2 )
|
||||
#define configTIMER_QUEUE_LENGTH 32
|
||||
#define configTIMER_TASK_STACK_DEPTH configMINIMAL_STACK_SIZE
|
||||
|
||||
#define INCLUDE_vTaskPrioritySet 0
|
||||
#define INCLUDE_uxTaskPriorityGet 0
|
||||
#define INCLUDE_vTaskDelete 0
|
||||
#define INCLUDE_vTaskSuspend 1
|
||||
#define INCLUDE_xResumeFromISR 0
|
||||
#define INCLUDE_vTaskDelayUntil 1
|
||||
#define INCLUDE_vTaskDelay 1
|
||||
#define INCLUDE_xTaskGetSchedulerState 0
|
||||
#define INCLUDE_xTaskGetCurrentTaskHandle 1
|
||||
#define INCLUDE_uxTaskGetStackHighWaterMark 0
|
||||
#define INCLUDE_xTaskGetIdleTaskHandle 0
|
||||
#define INCLUDE_xTimerGetTimerDaemonTaskHandle 0
|
||||
#define INCLUDE_pcTaskGetTaskName 0
|
||||
#define INCLUDE_eTaskGetState 0
|
||||
#define INCLUDE_xEventGroupSetBitFromISR 0
|
||||
#define INCLUDE_xTimerPendFunctionCall 0
|
||||
|
||||
#define xPortPendSVHandler PendSV_Handler
|
||||
#define xPortSysTickHandler SysTick_Handler
|
||||
#define vPortSVCHandler SVC_Handler
|
||||
|
||||
#define configPRIO_BITS __NVIC_PRIO_BITS
|
||||
#define configLIBRARY_LOWEST_INTERRUPT_PRIORITY ( ( 1 << configPRIO_BITS ) - 1 )
|
||||
#define configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY 2
|
||||
#define configKERNEL_INTERRUPT_PRIORITY ( configLIBRARY_LOWEST_INTERRUPT_PRIORITY << ( 8 - configPRIO_BITS ) )
|
||||
#define configMAX_SYSCALL_INTERRUPT_PRIORITY ( configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY << ( 8 - configPRIO_BITS ) )
|
||||
|
||||
#endif
|
||||
@ -4,5 +4,10 @@ set(MCU_LINKER_NAME APM32F07xxB)
|
||||
set(JLINK_DEVICE APM32F072RB)
|
||||
|
||||
function(update_board TARGET)
|
||||
target_compile_definitions(${TARGET} PUBLIC ${MCU_VARIANT})
|
||||
target_compile_definitions(${TARGET} PUBLIC
|
||||
${MCU_VARIANT}
|
||||
CFG_EXAMPLE_MSC_READONLY
|
||||
CFG_EXAMPLE_MSC_DUAL_READONLY
|
||||
CFG_EXAMPLE_VIDEO_READONLY
|
||||
)
|
||||
endfunction()
|
||||
|
||||
@ -4,4 +4,7 @@ MCU_LINKER_NAME = APM32F07xxB
|
||||
JLINK_DEVICE = APM32F072RB
|
||||
|
||||
CFLAGS += \
|
||||
-D${MCU_VARIANT}
|
||||
-D${MCU_VARIANT} \
|
||||
-DCFG_EXAMPLE_MSC_READONLY \
|
||||
-DCFG_EXAMPLE_MSC_DUAL_READONLY \
|
||||
-DCFG_EXAMPLE_VIDEO_READONLY
|
||||
|
||||
@ -36,6 +36,15 @@
|
||||
#include "bsp/board_api.h"
|
||||
#include "board.h"
|
||||
|
||||
void USBD_IRQHandler(void);
|
||||
#if CFG_TUSB_OS == OPT_OS_NONE
|
||||
void SysTick_Handler(void);
|
||||
void SVC_Handler(void);
|
||||
void PendSV_Handler(void);
|
||||
#endif
|
||||
void HardFault_Handler(void);
|
||||
void _init(void);
|
||||
|
||||
//--------------------------------------------------------------------+
|
||||
// Forward USB interrupt events to TinyUSB IRQ Handler
|
||||
//--------------------------------------------------------------------+
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
include_guard()
|
||||
|
||||
set(APM32_FAMILY apm32f0xx)
|
||||
set(APM32_SDK ${TOP}/hw/mcu/geehy/APM32F0xx_SDK_V1.8.6/Libraries)
|
||||
set(APM32_SDK ${TOP}/hw/mcu/geehy/APM32F0xx_SDK/Libraries)
|
||||
|
||||
# include board specific
|
||||
include(${CMAKE_CURRENT_LIST_DIR}/boards/${BOARD}/board.cmake)
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
APM32_FAMILY = apm32f0xx
|
||||
APM32_SDK = hw/mcu/geehy/APM32F0xx_SDK_V1.8.6/Libraries
|
||||
APM32_SDK = hw/mcu/geehy/APM32F0xx_SDK/Libraries
|
||||
|
||||
include $(TOP)/$(BOARD_PATH)/board.mk
|
||||
|
||||
|
||||
@ -46,6 +46,9 @@ deps_optional = {
|
||||
'hw/mcu/gd/nuclei-sdk': ['https://github.com/Nuclei-Software/nuclei-sdk.git',
|
||||
'7eb7bfa9ea4fbeacfafe1d5f77d5a0e6ed3922e7',
|
||||
'gd32vf103'],
|
||||
'hw/mcu/geehy/APM32F0xx_SDK': ['https://github.com/GeehySemi/APM32F0xx_SDK.git',
|
||||
'cfc1fe826e1869133de86d4c6b298fc153e6bc32',
|
||||
'apm32f0xx'],
|
||||
'hw/mcu/infineon/mtb-xmclib-cat3': ['https://github.com/Infineon/mtb-xmclib-cat3.git',
|
||||
'daf5500d03cba23e68c2f241c30af79cd9d63880',
|
||||
'xmc4000'],
|
||||
|
||||
Reference in New Issue
Block a user