From 7e7e3e661e7b2fee672f3980d3dd04fe969ec63f Mon Sep 17 00:00:00 2001 From: Lyon Date: Sun, 23 Apr 2023 18:25:59 +0800 Subject: [PATCH] add files for pico --- bsp/pico/bsp/Config/CMakeLists.txt | 7 + bsp/pico/bsp/Fonts/CMakeLists.txt | 6 + bsp/pico/bsp/GUI/CMakeLists.txt | 9 + bsp/pico/bsp/LCD/CMakeLists.txt | 9 + bsp/pico/pico-sdk/CMakeLists.txt | 57 + bsp/pico/pikapython/requestment.txt | 2 +- bsp/pico/project/mdk/RP2040.sct | 73 + bsp/pico/project/mdk/RP2040_debug_in_sram.sct | 85 ++ bsp/pico/project/mdk/RP2040_run_in_sram.sct | 72 + bsp/pico/project/mdk/debug_with_cmsis-dap.ini | 10 + .../mdk/debug_with_cmsis-dap_in_ram.ini | 36 + bsp/pico/project/mdk/template.uvoptx | 1323 +++++++++++++++++ 12 files changed, 1688 insertions(+), 1 deletion(-) create mode 100644 bsp/pico/bsp/Config/CMakeLists.txt create mode 100644 bsp/pico/bsp/Fonts/CMakeLists.txt create mode 100644 bsp/pico/bsp/GUI/CMakeLists.txt create mode 100644 bsp/pico/bsp/LCD/CMakeLists.txt create mode 100644 bsp/pico/pico-sdk/CMakeLists.txt create mode 100644 bsp/pico/project/mdk/RP2040.sct create mode 100644 bsp/pico/project/mdk/RP2040_debug_in_sram.sct create mode 100644 bsp/pico/project/mdk/RP2040_run_in_sram.sct create mode 100644 bsp/pico/project/mdk/debug_with_cmsis-dap.ini create mode 100644 bsp/pico/project/mdk/debug_with_cmsis-dap_in_ram.ini create mode 100644 bsp/pico/project/mdk/template.uvoptx diff --git a/bsp/pico/bsp/Config/CMakeLists.txt b/bsp/pico/bsp/Config/CMakeLists.txt new file mode 100644 index 000000000..b9226388d --- /dev/null +++ b/bsp/pico/bsp/Config/CMakeLists.txt @@ -0,0 +1,7 @@ +# 查找当前目录下的所有源文件 +# 并将名称保存到 DIR_Config_SRCS 变量 +aux_source_directory(. DIR_Config_SRCS) + +# 生成链接库 +add_library(Config ${DIR_Config_SRCS}) +target_link_libraries(Config PUBLIC pico_stdlib hardware_spi hardware_i2c hardware_pwm hardware_adc) \ No newline at end of file diff --git a/bsp/pico/bsp/Fonts/CMakeLists.txt b/bsp/pico/bsp/Fonts/CMakeLists.txt new file mode 100644 index 000000000..bf5763774 --- /dev/null +++ b/bsp/pico/bsp/Fonts/CMakeLists.txt @@ -0,0 +1,6 @@ +# 查找当前目录下的所有源文件 +# 并将名称保存到 DIR_Fonts_SRCS 变量 +aux_source_directory(. DIR_Fonts_SRCS) + +# 生成链接库 +add_library(Fonts ${DIR_Fonts_SRCS}) \ No newline at end of file diff --git a/bsp/pico/bsp/GUI/CMakeLists.txt b/bsp/pico/bsp/GUI/CMakeLists.txt new file mode 100644 index 000000000..135e9833b --- /dev/null +++ b/bsp/pico/bsp/GUI/CMakeLists.txt @@ -0,0 +1,9 @@ +# 查找当前目录下的所有源文件 +# 并将名称保存到 DIR_GUI_SRCS 变量 +aux_source_directory(. DIR_GUI_SRCS) + +include_directories(../Config) + +# 生成链接库 +add_library(GUI ${DIR_GUI_SRCS}) +target_link_libraries(GUI PUBLIC Config) \ No newline at end of file diff --git a/bsp/pico/bsp/LCD/CMakeLists.txt b/bsp/pico/bsp/LCD/CMakeLists.txt new file mode 100644 index 000000000..46843443f --- /dev/null +++ b/bsp/pico/bsp/LCD/CMakeLists.txt @@ -0,0 +1,9 @@ +# 查找当前目录下的所有源文件 +# 并将名称保存到 DIR_ePaper_SRCS 变量 +aux_source_directory(. DIR_LCD_SRCS) + +include_directories(../Config) + +# 生成链接库 +add_library(LCD ${DIR_LCD_SRCS}) +target_link_libraries(LCD PUBLIC Config) \ No newline at end of file diff --git a/bsp/pico/pico-sdk/CMakeLists.txt b/bsp/pico/pico-sdk/CMakeLists.txt new file mode 100644 index 000000000..e79d04ac1 --- /dev/null +++ b/bsp/pico/pico-sdk/CMakeLists.txt @@ -0,0 +1,57 @@ +cmake_minimum_required(VERSION 3.13) + +# Note: this CMakeLists.txt can be used as a top-level CMakeLists.txt for the SDK itself. For all other uses +# it is included as a subdirectory via the pico_sdk_init() method provided by pico_sdk_init.cmake +if (NOT TARGET _pico_sdk_inclusion_marker) + add_library(_pico_sdk_inclusion_marker INTERFACE) + # This is a no-op unless we are the top-level CMakeLists.txt + include(pico_sdk_init.cmake) + + project(pico_sdk C CXX ASM) + + message("Build type is ${CMAKE_BUILD_TYPE}") + if ("${CMAKE_BUILD_TYPE}" STREQUAL "Debug") + if (PICO_DEOPTIMIZED_DEBUG) + message("Using fully de-optimized debug build (set PICO_DEOPTIMIZED_DEBUG=0 to optimize)") + else() + message("Using regular optimized debug build (set PICO_DEOPTIMIZED_DEBUG=1 to de-optimize)") + endif() + endif() + + pico_is_top_level_project(PICO_SDK_TOP_LEVEL_PROJECT) + + set(CMAKE_C_STANDARD 11) + set(CMAKE_CXX_STANDARD 11) + + if (NOT PICO_SDK_TOP_LEVEL_PROJECT) + set(PICO_SDK 1 PARENT_SCOPE) + endif() + + # allow customization + add_sub_list_dirs(PICO_SDK_PRE_LIST_DIRS) + add_sub_list_files(PICO_SDK_PRE_LIST_FILES) + + add_subdirectory(tools) + add_subdirectory(src) + + # allow customization + add_sub_list_dirs(PICO_SDK_POST_LIST_DIRS) + add_sub_list_files(PICO_SDK_POST_LIST_FILES) + + if (PICO_SDK_TOP_LEVEL_PROJECT AND NOT DEFINED PICO_SDK_TESTS_ENABLED) + set(PICO_SDK_TESTS_ENABLED 1) + endif() + if (PICO_SDK_TESTS_ENABLED) + add_subdirectory(test) + endif () + + set(PICO_SDK_TESTS_ENABLED "${PICO_SDK_TESTS_ENABLED}" CACHE INTERNAL "Enable build of SDK tests") + + # add docs at the end, as we gather documentation dirs as we go + add_subdirectory(docs) + + if (NOT PICO_SDK_TOP_LEVEL_PROJECT) + pico_promote_common_scope_vars() + endif() +endif() + diff --git a/bsp/pico/pikapython/requestment.txt b/bsp/pico/pikapython/requestment.txt index 9d5b5d038..91ca9bad3 100644 --- a/bsp/pico/pikapython/requestment.txt +++ b/bsp/pico/pikapython/requestment.txt @@ -1,2 +1,2 @@ pikascript-core==v1.12.1 -PikaStdLib==v1.12.1 \ No newline at end of file +PikaStdLib==v1.12.1 diff --git a/bsp/pico/project/mdk/RP2040.sct b/bsp/pico/project/mdk/RP2040.sct new file mode 100644 index 000000000..34990c91e --- /dev/null +++ b/bsp/pico/project/mdk/RP2040.sct @@ -0,0 +1,73 @@ +#! armclang -E --target=arm-arm-none-eabi -mcpu=cortex-m0 -xc +; command above MUST be in first line (no comment above!) +; ************************************************************* +; *** Scatter-Loading Description File generated by uVision *** +; ************************************************************* + +#define FLASH_SIZE 0x00200000 +#define SRAM_SIZE (1024*248) + +#define STACK_0_SIZE (1024*4) +#define STACK_1_SIZE (1024*1) + +#define HEAP_0_SIZE (1024*32) +#define HEAP_1_SIZE (1024*1) + +#define RAMSIZE_VALID (SRAM_SIZE - \ + STACK_1_SIZE - HEAP_1_SIZE - \ + STACK_0_SIZE - HEAP_0_SIZE - 0x100) + +LR_STAGE2_BOOT 0x10000000 0x100 { + ER_STAGE2_BOOT +0 0x100 { + compile_time_choice.o (+RO) + } + ER_FILL ImageLimit(ER_STAGE2_BOOT) FILL 0xDEADBEEF 0x100 - ImageLength(ER_STAGE2_BOOT) { + } +} + +LR_IROM1 0x10000100 FLASH_SIZE - ImageLength(LR_STAGE2_BOOT) { ; load region size_region + + ER_FLASH +0 0x00200000 { ; load address = execution address + *.o (RESET, +First) + *(InRoot$$Sections) + * (+RO-DATA) + + startup_RP2040.o (+RO) + * (+RO-CODE) + * (+XO) + } + + ER_RAM_VECTOR_TABLE 0x20000000 { + * (.ram_vector_table) + } + + ARM_LIB_STACK +0 ALIGN 8 EMPTY STACK_0_SIZE { + } + + ARM_LIB_STACK_ONE +0 ALIGN 8 EMPTY STACK_1_SIZE { + } + ARM_LIB_HEAP +0 ALIGN 8 EMPTY HEAP_0_SIZE { + } + ARM_LIB_HEAP_ONE +0 ALIGN 8 EMPTY HEAP_1_SIZE { + } + + ER_MUTEX_ARRAY +0 { + * (.mutex_array.*) + * (.mutex_array) + } + + ;ER_PREINIT_ARRAY +0 { + ; * (.preinit_array.*) + ; * (.preinit_array) + ;} + + RW_IRAM +0 RAMSIZE_VALID { ; RW data + .ANY (+RW +ZI) + } + + RW_IRAM_NOINIT +0 UNINIT { ; RW data + .ANY (.bss.noinit) + } + +} + diff --git a/bsp/pico/project/mdk/RP2040_debug_in_sram.sct b/bsp/pico/project/mdk/RP2040_debug_in_sram.sct new file mode 100644 index 000000000..31ea16ccc --- /dev/null +++ b/bsp/pico/project/mdk/RP2040_debug_in_sram.sct @@ -0,0 +1,85 @@ +#! armclang -E --target=arm-arm-none-eabi -mcpu=cortex-m0 -xc +; command above MUST be in first line (no comment above!) +; ************************************************************* +; *** Scatter-Loading Description File generated by uVision *** +; ************************************************************* + +#define FLASH_SIZE 0x00200000 +#define SRAM_SIZE (1024*248) + +#define STACK_0_SIZE (1024*4) +#define STACK_1_SIZE (1024*1) + +#define HEAP_0_SIZE (1024*32) +#define HEAP_1_SIZE (1024*1) + +#define RAMSIZE_VALID (SRAM_SIZE - \ + STACK_1_SIZE - HEAP_1_SIZE - \ + STACK_0_SIZE - HEAP_0_SIZE - 0x100) + +;LR_STAGE2_BOOT 0x10000000 0x100 { +; ER_STAGE2_BOOT +0 0x100 { +; compile_time_choice.o (+RO) +; } +; ER_FILL ImageLimit(ER_STAGE2_BOOT) FILL 0xDEADBEEF 0x100 - ImageLength(ER_STAGE2_BOOT) { +; } +;} + +LR_IROM1 0x20000000 SRAM_SIZE { ; load region size_region + + ER_BINRAY_INFO +0 { + * (:gdef:Reset_Handler) //!< please always make sure that Reset_Handler is placed here. + * (.binary_info_header) + } + + ;ER_RAM_VECTOR_TABLE +0 ALIGN 256 { + ; * (.ram_vector_table) + ;} + + + ER_FLASH +0 { ; load address = execution address + *.o (RESET, +First) + *(InRoot$$Sections) + * (+RO-DATA) + startup_RP2040.o (+RO) + } + + ER_MUTEX_ARRAY +0 { + * (.mutex_array.*) + * (.mutex_array) + } + + RW_IRAM_CODE +0 { + * (+RO-CODE) + * (+XO) + } + + ARM_LIB_STACK +0 ALIGN 8 EMPTY STACK_0_SIZE { + } + + ARM_LIB_STACK_ONE +0 ALIGN 8 EMPTY STACK_1_SIZE { + } + ARM_LIB_HEAP +0 ALIGN 8 EMPTY HEAP_0_SIZE { + } + ARM_LIB_HEAP_ONE +0 ALIGN 8 EMPTY HEAP_1_SIZE { + } + + + + ;ER_PREINIT_ARRAY +0 { + ; * (.preinit_array.*) + ; * (.preinit_array) + ;} + + RW_IRAM +0 { ; RW data + .ANY (+RW +ZI) + } + + RW_IRAM_UNINIT +0 UNINIT { + .ANY (.bss.noinit) + } + + + +} + diff --git a/bsp/pico/project/mdk/RP2040_run_in_sram.sct b/bsp/pico/project/mdk/RP2040_run_in_sram.sct new file mode 100644 index 000000000..263cd69ff --- /dev/null +++ b/bsp/pico/project/mdk/RP2040_run_in_sram.sct @@ -0,0 +1,72 @@ +#! armclang -E --target=arm-arm-none-eabi -mcpu=cortex-m0 -xc +; command above MUST be in first line (no comment above!) +; ************************************************************* +; *** Scatter-Loading Description File generated by uVision *** +; ************************************************************* + +#define FLASH_SIZE 0x00200000 +#define SRAM_SIZE (1024*248) + +#define STACK_0_SIZE (1024*4) +#define STACK_1_SIZE (1024*1) + +#define HEAP_0_SIZE (1024*32) +#define HEAP_1_SIZE (1024*1) + +#define RAMSIZE_VALID (SRAM_SIZE - \ + STACK_1_SIZE - HEAP_1_SIZE - \ + STACK_0_SIZE - HEAP_0_SIZE - 0x100) + +LR_STAGE2_BOOT 0x10000000 0x100 { + ER_STAGE2_BOOT +0 0x100 { + compile_time_choice.o (+RO) + } + ER_FILL ImageLimit(ER_STAGE2_BOOT) FILL 0xDEADBEEF 0x100 - ImageLength(ER_STAGE2_BOOT) { + } +} + +LR_IROM1 0x10000100 FLASH_SIZE - ImageLength(LR_STAGE2_BOOT) { ; load region size_region + + ER_FLASH +0 0x00200000 { ; load address = execution address + *.o (RESET, +First) + *(InRoot$$Sections) + * (+RO-DATA) + startup_RP2040.o (+RO) + } + + ER_RAM_VECTOR_TABLE 0x20000000 { + * (.ram_vector_table) + } + + ARM_LIB_STACK +0 ALIGN 8 EMPTY STACK_0_SIZE { + } + + ARM_LIB_STACK_ONE +0 ALIGN 8 EMPTY STACK_1_SIZE { + } + ARM_LIB_HEAP +0 ALIGN 8 EMPTY HEAP_0_SIZE { + } + ARM_LIB_HEAP_ONE +0 ALIGN 8 EMPTY HEAP_1_SIZE { + } + + ER_MUTEX_ARRAY +0 { + * (.mutex_array.*) + * (.mutex_array) + } + + ;ER_PREINIT_ARRAY +0 { + ; * (.preinit_array.*) + ; * (.preinit_array) + ;} + + RW_IRAM +0 RAMSIZE_VALID { ; RW data + .ANY (+RW +ZI) + * (+RO-CODE) + * (+XO) + } + + RW_IRAM_NO_INIT +0 UNINIT { + .ANY (.bss.noinit) + } + +} + diff --git a/bsp/pico/project/mdk/debug_with_cmsis-dap.ini b/bsp/pico/project/mdk/debug_with_cmsis-dap.ini new file mode 100644 index 000000000..f064f6687 --- /dev/null +++ b/bsp/pico/project/mdk/debug_with_cmsis-dap.ini @@ -0,0 +1,10 @@ + +FUNC void reset_pico(void) +{ + exec("RESET"); + exec("G, Reset_Handler"); +} + +DEFINE BUTTON "Reset Pico", "reset_pico()" + +reset_pico(); \ No newline at end of file diff --git a/bsp/pico/project/mdk/debug_with_cmsis-dap_in_ram.ini b/bsp/pico/project/mdk/debug_with_cmsis-dap_in_ram.ini new file mode 100644 index 000000000..d36b3108b --- /dev/null +++ b/bsp/pico/project/mdk/debug_with_cmsis-dap_in_ram.ini @@ -0,0 +1,36 @@ + + + +FUNC void debug_from_ram(void) +{ + //extern unsigned int Image$$ARM_LIB_STACK$$ZI$$Limit; + + printf("Entry Point: %08x\r\n", Reset_Handler); + printf("Main Stack Pointer: %08x\r\n", Image$$ARM_LIB_STACK$$ZI$$Limit); + +/* + typedef struct { + unsigned int ctrl; + unsigned int load; + unsigned int reason; + unsigned int scratch[8]; + unsigned int tick; + } watchdog_hw_t; + + #define watchdog_hw ((watchdog_hw_t *const)0x40058000) +*/ + + _WWORD(0x4005801C ,0xb007c0d3); //! scratch 4 + _WWORD(0x40058020 ,-0xb007c0d3 ^ (Reset_Handler | 0x01)); //! scratch 5 + _WWORD(0x40058024 ,Image$$ARM_LIB_STACK$$ZI$$Limit); //! scratch 6 + _WWORD(0x40058028 ,Reset_Handler | 0x01); //! scratch 7 + + exec("RESET"); + //exec("BS main"); + //exec("G, Reset_Handler"); + exec("G, main"); +} + +DEFINE BUTTON "Reset Pico", "debug_from_ram()" + +debug_from_ram(); diff --git a/bsp/pico/project/mdk/template.uvoptx b/bsp/pico/project/mdk/template.uvoptx new file mode 100644 index 000000000..09b63b09c --- /dev/null +++ b/bsp/pico/project/mdk/template.uvoptx @@ -0,0 +1,1323 @@ + + + + 1.0 + +
### uVision Project, (C) Keil Software
+ + + *.c + *.s*; *.src; *.a* + *.obj; *.o + *.lib + *.txt; *.h; *.inc; *.md + *.plm + *.cpp; *.cc; *.cxx + 0 + + + + 0 + 0 + + + + AC6-flash + 0x4 + ARM-ADS + + 12000000 + + 1 + 1 + 0 + 1 + 0 + + + 1 + 65535 + 0 + 0 + 0 + + + 79 + 66 + 8 + .\Listings\ + + + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 0 + 0 + 0 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + + + 1 + 0 + 1 + + 7 + + 0 + 1 + 1 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 1 + 1 + 0 + 0 + 1 + 0 + 0 + 3 + + + + + .\debug.ini + + + + + .\debug_with_cmsis-dap.ini + BIN\CMSIS_AGDI.dll + + + + 0 + CMSIS_AGDI + -X"Any" -UAny -O206 -S8 -C0 -P00000000 -N00("ARM CoreSight SW-DP") -D00(0BC12477) -L00(0) -TO65554 -TC10000000 -TT10000000 -TP20 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO3 -FD20000000 -FC8000 -FN1 -FF0Raspberry_Pi_Pico -FS010000000 -FL0200000 + + + 0 + JL2CM3 + -U17935099 -O78 -S2 -ZTIFSpeedSel5000 -A0 -C0 -JU1 -JI127.0.0.1 -JP0 -RST0 -N00("ARM CoreSight SW-DP") -D00(0BC12477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -TB1 -TFE0 -FO7 -FD20000000 -FC1000 -FN0 + + + 0 + UL2CM3 + UL2CM3(-S0 -C0 -P0 -FC1000 -FD20000000 + + + 0 + DLGTARM + (1010=724,527,1135,1029,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)(1009=120,153,364,299,0) + + + 0 + DLGUARM + + + + 0 + ARMRTXEVENTFLAGS + -L70 -Z18 -C0 -M0 -T1 + + + 0 + DLGDARM + (1010=75,104,525,661,1)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=643,307,887,855,1)(1012=-1,-1,-1,-1,0) + + + 0 + ARMDBGFLAGS + -T0 + + + + + + 1 + 1 + 0x4005801C + 0 + + + + D:\Users\liang\AppData\Local\Arm\Packs\Keil\ARM_Compiler\1.7.2\EventRecorder.scvd + Keil.ARM_Compiler.1.7.2 + 1 + + + + 0 + Reset Pico + reset_pico() + + + + 0 + + + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + + + + 0 + 0 + 0 + + + + + + + + + + + + + Pico-SDK + 0 + 0 + 0 + 0 + + 1 + 1 + 1 + 0 + 0 + 0 + .\startup_RP2040.c + startup_RP2040.c + 0 + 0 + + + 1 + 2 + 1 + 0 + 0 + 0 + ..\..\pico-sdk\src\rp2_common\cmsis\stub\CMSIS\Device\RaspberryPi\RP2040\Source\system_RP2040.c + system_RP2040.c + 0 + 0 + + + 1 + 3 + 1 + 0 + 0 + 0 + ..\..\pico-sdk\src\rp2_common\hardware_clocks\clocks.c + clocks.c + 0 + 0 + + + 1 + 4 + 1 + 0 + 0 + 0 + ..\..\pico-sdk\src\rp2_common\hardware_watchdog\watchdog.c + watchdog.c + 0 + 0 + + + 1 + 5 + 1 + 0 + 0 + 0 + ..\..\pico-sdk\src\rp2_common\hardware_pll\pll.c + pll.c + 0 + 0 + + + 1 + 6 + 1 + 0 + 0 + 0 + ..\..\pico-sdk\src\rp2_common\pico_platform\platform.c + platform.c + 0 + 0 + + + 1 + 7 + 1 + 0 + 0 + 0 + ..\..\pico-sdk\src\rp2_common\hardware_xosc\xosc.c + xosc.c + 0 + 0 + + + 1 + 8 + 1 + 0 + 0 + 0 + ..\..\pico-sdk\src\rp2_common\hardware_irq\irq.c + irq.c + 0 + 0 + + + 1 + 9 + 2 + 0 + 0 + 0 + ..\..\pico-sdk\src\rp2_common\hardware_irq\irq_handler_chain.S + irq_handler_chain.S + 0 + 0 + + + 1 + 10 + 1 + 0 + 0 + 0 + ..\..\pico-sdk\src\rp2_common\hardware_gpio\gpio.c + gpio.c + 0 + 0 + + + 1 + 11 + 1 + 0 + 0 + 0 + ..\..\pico-sdk\src\rp2_common\pico_multicore\multicore.c + multicore.c + 0 + 0 + + + 1 + 12 + 1 + 0 + 0 + 0 + ..\..\pico-sdk\src\rp2_common\hardware_sync\sync.c + sync.c + 0 + 0 + + + 1 + 13 + 1 + 0 + 0 + 0 + ..\..\pico-sdk\src\common\pico_sync\critical_section.c + critical_section.c + 0 + 0 + + + 1 + 14 + 1 + 0 + 0 + 0 + ..\..\pico-sdk\src\common\pico_sync\lock_core.c + lock_core.c + 0 + 0 + + + 1 + 15 + 1 + 0 + 0 + 0 + ..\..\pico-sdk\src\common\pico_sync\mutex.c + mutex.c + 0 + 0 + + + 1 + 16 + 1 + 0 + 0 + 0 + ..\..\pico-sdk\src\common\pico_sync\sem.c + sem.c + 0 + 0 + + + 1 + 17 + 1 + 0 + 0 + 0 + ..\..\pico-sdk\src\common\pico_time\time.c + time.c + 0 + 0 + + + 1 + 18 + 1 + 0 + 0 + 0 + ..\..\pico-sdk\src\common\pico_time\timeout_helper.c + timeout_helper.c + 0 + 0 + + + 1 + 19 + 1 + 0 + 0 + 0 + ..\..\pico-sdk\src\rp2_common\hardware_timer\timer.c + timer.c + 0 + 0 + + + 1 + 20 + 1 + 0 + 0 + 0 + ..\..\pico-sdk\src\rp2_common\hardware_claim\claim.c + claim.c + 0 + 0 + + + 1 + 21 + 1 + 0 + 0 + 0 + ..\..\pico-sdk\src\common\pico_util\queue.c + queue.c + 0 + 0 + + + 1 + 22 + 1 + 0 + 0 + 0 + ..\..\pico-sdk\src\common\pico_util\pheap.c + pheap.c + 0 + 0 + + + 1 + 23 + 1 + 0 + 0 + 0 + ..\..\pico-sdk\src\common\pico_util\datetime.c + datetime.c + 0 + 0 + + + 1 + 24 + 1 + 0 + 0 + 0 + ..\..\pico-sdk\src\host\pico_stdlib\stdlib.c + stdlib.c + 0 + 0 + + + 1 + 25 + 1 + 0 + 0 + 0 + ..\..\pico-sdk\src\rp2_common\hardware_uart\uart.c + uart.c + 0 + 0 + + + 1 + 26 + 2 + 0 + 0 + 0 + ..\..\pico-sdk\src\rp2_common\boot_stage2\compile_time_choice.S + compile_time_choice.S + 0 + 0 + + + 1 + 27 + 2 + 0 + 0 + 0 + ..\..\pico-sdk\src\rp2_common\boot_stage2\boot2_w25q080.S + boot2_w25q080.S + 0 + 0 + + + 1 + 28 + 1 + 0 + 0 + 0 + .\wrapper\runtime.c + runtime.c + 0 + 0 + + + 1 + 29 + 2 + 0 + 0 + 0 + ..\..\pico-sdk\src\rp2_common\pico_printf\printf_none.S + printf_none.S + 0 + 0 + + + 1 + 30 + 1 + 0 + 0 + 0 + ..\..\pico-sdk\src\rp2_common\hardware_i2c\i2c.c + i2c.c + 0 + 0 + + + 1 + 31 + 1 + 0 + 0 + 0 + ..\..\pico-sdk\src\rp2_common\hardware_spi\spi.c + spi.c + 0 + 0 + + + 1 + 32 + 1 + 0 + 0 + 0 + ..\..\pico-sdk\src\rp2_common\hardware_adc\adc.c + adc.c + 0 + 0 + + + 1 + 33 + 1 + 0 + 0 + 0 + ..\..\pico-sdk\src\rp2_common\pico_bootrom\bootrom.c + bootrom.c + 0 + 0 + + + 1 + 34 + 1 + 0 + 0 + 0 + ..\..\pico-sdk\src\rp2_common\pico_stdio_uart\stdio_uart.c + stdio_uart.c + 0 + 0 + + + 1 + 35 + 1 + 0 + 0 + 0 + ..\..\pico-sdk\src\rp2_common\pico_standard_link\binary_info.c + binary_info.c + 0 + 0 + + + 1 + 36 + 1 + 0 + 0 + 0 + ..\..\pico-sdk\src\rp2_common\hardware_flash\flash.c + flash.c + 0 + 0 + + + 1 + 37 + 1 + 0 + 0 + 0 + ..\..\pico-sdk\src\rp2_common\hardware_dma\dma.c + dma.c + 0 + 0 + + + + + platform + 0 + 0 + 0 + 0 + + 2 + 38 + 5 + 0 + 0 + 0 + .\wrapper\env_wrapper.h + env_wrapper.h + 0 + 0 + + + 2 + 39 + 5 + 0 + 0 + 0 + .\wrapper\pico\platform.h + platform.h + 0 + 0 + + + 2 + 40 + 1 + 0 + 0 + 0 + .\wrapper\env_wrapper.c + env_wrapper.c + 0 + 0 + + + 2 + 41 + 5 + 0 + 0 + 0 + .\wrapper\hardware\sync.h + sync.h + 0 + 0 + + + 2 + 42 + 1 + 0 + 0 + 0 + .\wrapper\stdio.c + stdio.c + 0 + 0 + + + + + Application + 0 + 0 + 0 + 0 + + 3 + 43 + 1 + 0 + 0 + 0 + ..\..\main.c + main.c + 0 + 0 + + + + + BSP + 0 + 0 + 0 + 0 + + 4 + 44 + 1 + 0 + 0 + 0 + ..\..\bsp\LCD\LCD_1in3.c + LCD_1in3.c + 0 + 0 + + + 4 + 45 + 5 + 0 + 0 + 0 + ..\..\bsp\LCD\LCD_1in3.h + LCD_1in3.h + 0 + 0 + + + 4 + 46 + 1 + 0 + 0 + 0 + ..\..\bsp\Config\DEV_Config.c + DEV_Config.c + 0 + 0 + + + + + pikascript-core + 0 + 0 + 0 + 0 + + 5 + 47 + 1 + 0 + 0 + 0 + ..\..\pikapython\pikascript-core\BaseObj.c + BaseObj.c + 0 + 0 + + + 5 + 48 + 1 + 0 + 0 + 0 + ..\..\pikapython\pikascript-core\dataArg.c + dataArg.c + 0 + 0 + + + 5 + 49 + 1 + 0 + 0 + 0 + ..\..\pikapython\pikascript-core\dataArgs.c + dataArgs.c + 0 + 0 + + + 5 + 50 + 1 + 0 + 0 + 0 + ..\..\pikapython\pikascript-core\dataLink.c + dataLink.c + 0 + 0 + + + 5 + 51 + 1 + 0 + 0 + 0 + ..\..\pikapython\pikascript-core\dataLinkNode.c + dataLinkNode.c + 0 + 0 + + + 5 + 52 + 1 + 0 + 0 + 0 + ..\..\pikapython\pikascript-core\dataMemory.c + dataMemory.c + 0 + 0 + + + 5 + 53 + 1 + 0 + 0 + 0 + ..\..\pikapython\pikascript-core\dataQueue.c + dataQueue.c + 0 + 0 + + + 5 + 54 + 1 + 0 + 0 + 0 + ..\..\pikapython\pikascript-core\dataQueueObj.c + dataQueueObj.c + 0 + 0 + + + 5 + 55 + 1 + 0 + 0 + 0 + ..\..\pikapython\pikascript-core\dataStack.c + dataStack.c + 0 + 0 + + + 5 + 56 + 1 + 0 + 0 + 0 + ..\..\pikapython\pikascript-core\dataString.c + dataString.c + 0 + 0 + + + 5 + 57 + 1 + 0 + 0 + 0 + ..\..\pikapython\pikascript-core\dataStrs.c + dataStrs.c + 0 + 0 + + + 5 + 58 + 1 + 0 + 0 + 0 + ..\..\pikapython\pikascript-core\PikaCompiler.c + PikaCompiler.c + 0 + 0 + + + 5 + 59 + 1 + 0 + 0 + 0 + ..\..\pikapython\pikascript-core\PikaObj.c + PikaObj.c + 0 + 0 + + + 5 + 60 + 1 + 0 + 0 + 0 + ..\..\pikapython\pikascript-core\PikaParser.c + PikaParser.c + 0 + 0 + + + 5 + 61 + 1 + 0 + 0 + 0 + ..\..\pikapython\pikascript-core\PikaPlatform.c + PikaPlatform.c + 0 + 0 + + + 5 + 62 + 1 + 0 + 0 + 0 + ..\..\pikapython\pikascript-core\PikaVM.c + PikaVM.c + 0 + 0 + + + 5 + 63 + 1 + 0 + 0 + 0 + ..\..\pikapython\pikascript-core\TinyObj.c + TinyObj.c + 0 + 0 + + + + + pikascript-api + 0 + 0 + 0 + 0 + + 6 + 64 + 1 + 0 + 0 + 0 + ..\..\pikapython\pikascript-api\__asset_pikaModules_py_a.c + __asset_pikaModules_py_a.c + 0 + 0 + + + 6 + 65 + 1 + 0 + 0 + 0 + ..\..\pikapython\pikascript-api\__pikaBinding.c + __pikaBinding.c + 0 + 0 + + + 6 + 66 + 1 + 0 + 0 + 0 + ..\..\pikapython\pikascript-api\pikaScript.c + pikaScript.c + 0 + 0 + + + + + pikascript-lib + 0 + 0 + 0 + 0 + + 7 + 67 + 1 + 0 + 0 + 0 + ..\..\pikapython\pikascript-lib\PikaStdLib\PikaDebuger_Debuger.c + PikaDebuger_Debuger.c + 0 + 0 + + + 7 + 68 + 1 + 0 + 0 + 0 + ..\..\pikapython\pikascript-lib\PikaStdLib\PikaStdData_ByteArray.c + PikaStdData_ByteArray.c + 0 + 0 + + + 7 + 69 + 1 + 0 + 0 + 0 + ..\..\pikapython\pikascript-lib\PikaStdLib\PikaStdData_Dict.c + PikaStdData_Dict.c + 0 + 0 + + + 7 + 70 + 1 + 0 + 0 + 0 + ..\..\pikapython\pikascript-lib\PikaStdLib\PikaStdData_FILEIO.c + PikaStdData_FILEIO.c + 0 + 0 + + + 7 + 71 + 1 + 0 + 0 + 0 + ..\..\pikapython\pikascript-lib\PikaStdLib\PikaStdData_List.c + PikaStdData_List.c + 0 + 0 + + + 7 + 72 + 1 + 0 + 0 + 0 + ..\..\pikapython\pikascript-lib\PikaStdLib\PikaStdData_String.c + PikaStdData_String.c + 0 + 0 + + + 7 + 73 + 1 + 0 + 0 + 0 + ..\..\pikapython\pikascript-lib\PikaStdLib\PikaStdData_Tuple.c + PikaStdData_Tuple.c + 0 + 0 + + + 7 + 74 + 1 + 0 + 0 + 0 + ..\..\pikapython\pikascript-lib\PikaStdLib\PikaStdData_Utils.c + PikaStdData_Utils.c + 0 + 0 + + + 7 + 75 + 1 + 0 + 0 + 0 + ..\..\pikapython\pikascript-lib\PikaStdLib\PikaStdLib_MemChecker.c + PikaStdLib_MemChecker.c + 0 + 0 + + + 7 + 76 + 1 + 0 + 0 + 0 + ..\..\pikapython\pikascript-lib\PikaStdLib\PikaStdLib_RangeObj.c + PikaStdLib_RangeObj.c + 0 + 0 + + + 7 + 77 + 1 + 0 + 0 + 0 + ..\..\pikapython\pikascript-lib\PikaStdLib\PikaStdLib_StringObj.c + PikaStdLib_StringObj.c + 0 + 0 + + + 7 + 78 + 1 + 0 + 0 + 0 + ..\..\pikapython\pikascript-lib\PikaStdLib\PikaStdLib_SysObj.c + PikaStdLib_SysObj.c + 0 + 0 + + + 7 + 79 + 1 + 0 + 0 + 0 + ..\..\pikapython\pikascript-lib\PikaStdLib\PikaStdTask_Task.c + PikaStdTask_Task.c + 0 + 0 + + + + + python + 0 + 0 + 0 + 0 + + 8 + 80 + 5 + 0 + 0 + 0 + ..\..\pikapython\main.py + main.py + 0 + 0 + + + 8 + 81 + 5 + 0 + 0 + 0 + ..\..\pikapython\PikaStdTask.pyi + PikaStdTask.pyi + 0 + 0 + + + 8 + 82 + 5 + 0 + 0 + 0 + ..\..\pikapython\PikaStdLib.pyi + PikaStdLib.pyi + 0 + 0 + + + 8 + 83 + 5 + 0 + 0 + 0 + ..\..\pikapython\PikaStdData.pyi + PikaStdData.pyi + 0 + 0 + + + 8 + 84 + 5 + 0 + 0 + 0 + ..\..\pikapython\PikaDebug.pyi + PikaDebug.pyi + 0 + 0 + + + + + ::CMSIS + 0 + 0 + 0 + 1 + + + + ::Compiler + 0 + 0 + 0 + 1 + + + + ::Utilities + 0 + 0 + 0 + 1 + + +