Skip to content

Commit c588cc6

Browse files
committed
first pass of DigitalIO
1 parent f31a0d9 commit c588cc6

26 files changed

Lines changed: 705 additions & 724 deletions

File tree

ports/stm32f4/Makefile

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@ INC += -I./stm32cube/CMSIS/Device/ST/STM32F4xx/Include
7070
INC += -I./stm32cube/CMSIS/Include
7171
INC += -I./boards
7272
INC += -I./boards/$(BOARD)
73+
INC += -I./peripherals
7374
INC += -I../../lib/mp-readline
7475
INC += -I../../lib/tinyusb/src
7576
INC += -I../../supervisor/shared/usb
@@ -88,10 +89,9 @@ endif
8889

8990
# C defines
9091
C_DEFS = \
92+
-DUSE_FULL_LL_DRIVER \
9193
-DUSE_HAL_DRIVER \
9294
-DSTM32F412Zx \
93-
-DUSE_HAL_DRIVER \
94-
-DSTM32F412Zx
9595

9696
# C defines
9797
#C_DEFS = \
@@ -144,8 +144,25 @@ CFLAGS += -DCFG_TUSB_MCU=OPT_MCU_STM32F4 -DCFG_TUD_CDC_RX_BUFSIZE=1024 -DCFG_TUD
144144
SRC_STM32 = \
145145
boards/$(BOARD)/stm32f4xx_it.c \
146146
boards/$(BOARD)/stm32f4xx_hal_msp.c \
147+
stm32cube/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_gpio.c \
148+
stm32cube/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c \
149+
stm32cube/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c \
150+
stm32cube/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c \
151+
stm32cube/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_fsmc.c \
152+
stm32cube/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sram.c \
153+
stm32cube/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_i2c.c \
154+
stm32cube/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_dma.c \
155+
stm32cube/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2s.c \
156+
stm32cube/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2s_ex.c \
157+
stm32cube/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_qspi.c \
158+
stm32cube/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c \
159+
stm32cube/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c \
147160
stm32cube/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.c \
148161
stm32cube/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim_ex.c \
162+
stm32cube/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c \
163+
stm32cube/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_rcc.c \
164+
stm32cube/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_utils.c \
165+
stm32cube/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_exti.c \
149166
stm32cube/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c \
150167
stm32cube/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c \
151168
stm32cube/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc_ex.c \
@@ -169,6 +186,7 @@ SRC_C += \
169186
mphalport.c \
170187
tick.c \
171188
boards/$(BOARD)/board.c \
189+
boards/$(BOARD)/pins.c \
172190
lib/libc/string0.c \
173191
lib/mp-readline/readline.c \
174192
lib/oofatfs/ff.c \
@@ -180,6 +198,7 @@ SRC_C += \
180198
lib/utils/pyexec.c \
181199
lib/utils/stdout_helpers.c \
182200
lib/utils/sys_stdio_mphal.c \
201+
peripherals/stm32f4/stm32f412zg/pins.c \
183202
supervisor/shared/memory.c \
184203
#lib/tinyusb/src/portable/st/stm32f4/dcd_stm32f4.c
185204

ports/stm32f4/boards/make-pins.py

Lines changed: 0 additions & 208 deletions
This file was deleted.
Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
#include "shared-bindings/board/__init__.h"
2+
3+
STATIC const mp_rom_map_elem_t board_module_globals_table[] = {
4+
{ MP_ROM_QSTR(MP_QSTR_PE02), MP_ROM_PTR(&pin_PE02) },
5+
{ MP_ROM_QSTR(MP_QSTR_PE03), MP_ROM_PTR(&pin_PE03) },
6+
{ MP_ROM_QSTR(MP_QSTR_PE04), MP_ROM_PTR(&pin_PE04) },
7+
{ MP_ROM_QSTR(MP_QSTR_PE05), MP_ROM_PTR(&pin_PE05) },
8+
{ MP_ROM_QSTR(MP_QSTR_PE06), MP_ROM_PTR(&pin_PE06) },
9+
{ MP_ROM_QSTR(MP_QSTR_PC13), MP_ROM_PTR(&pin_PC13) },
10+
{ MP_ROM_QSTR(MP_QSTR_PF02), MP_ROM_PTR(&pin_PF02) },
11+
{ MP_ROM_QSTR(MP_QSTR_PF03), MP_ROM_PTR(&pin_PF03) },
12+
{ MP_ROM_QSTR(MP_QSTR_PF10), MP_ROM_PTR(&pin_PF10) },
13+
{ MP_ROM_QSTR(MP_QSTR_PC00), MP_ROM_PTR(&pin_PC00) },
14+
{ MP_ROM_QSTR(MP_QSTR_PC01), MP_ROM_PTR(&pin_PC01) },
15+
{ MP_ROM_QSTR(MP_QSTR_PC02), MP_ROM_PTR(&pin_PC02) },
16+
{ MP_ROM_QSTR(MP_QSTR_PC03), MP_ROM_PTR(&pin_PC03) },
17+
{ MP_ROM_QSTR(MP_QSTR_PA01), MP_ROM_PTR(&pin_PA01) },
18+
{ MP_ROM_QSTR(MP_QSTR_PA02), MP_ROM_PTR(&pin_PA02) },
19+
{ MP_ROM_QSTR(MP_QSTR_PA03), MP_ROM_PTR(&pin_PA03) },
20+
{ MP_ROM_QSTR(MP_QSTR_PA04), MP_ROM_PTR(&pin_PA04) },
21+
{ MP_ROM_QSTR(MP_QSTR_PA05), MP_ROM_PTR(&pin_PA05) },
22+
{ MP_ROM_QSTR(MP_QSTR_PA06), MP_ROM_PTR(&pin_PA06) },
23+
{ MP_ROM_QSTR(MP_QSTR_PA07), MP_ROM_PTR(&pin_PA07) },
24+
{ MP_ROM_QSTR(MP_QSTR_PC04), MP_ROM_PTR(&pin_PC04) },
25+
{ MP_ROM_QSTR(MP_QSTR_PC05), MP_ROM_PTR(&pin_PC05) },
26+
{ MP_ROM_QSTR(MP_QSTR_PB00), MP_ROM_PTR(&pin_PB00) },
27+
{ MP_ROM_QSTR(MP_QSTR_PB01), MP_ROM_PTR(&pin_PB01) },
28+
{ MP_ROM_QSTR(MP_QSTR_PF11), MP_ROM_PTR(&pin_PF11) },
29+
{ MP_ROM_QSTR(MP_QSTR_PF13), MP_ROM_PTR(&pin_PF13) },
30+
{ MP_ROM_QSTR(MP_QSTR_PB10), MP_ROM_PTR(&pin_PB10) },
31+
{ MP_ROM_QSTR(MP_QSTR_PB11), MP_ROM_PTR(&pin_PB11) },
32+
{ MP_ROM_QSTR(MP_QSTR_PB12), MP_ROM_PTR(&pin_PB12) },
33+
{ MP_ROM_QSTR(MP_QSTR_PB13), MP_ROM_PTR(&pin_PB13) },
34+
{ MP_ROM_QSTR(MP_QSTR_PB14), MP_ROM_PTR(&pin_PB14) },
35+
{ MP_ROM_QSTR(MP_QSTR_PB15), MP_ROM_PTR(&pin_PB15) },
36+
{ MP_ROM_QSTR(MP_QSTR_PD12), MP_ROM_PTR(&pin_PD12) },
37+
{ MP_ROM_QSTR(MP_QSTR_PD13), MP_ROM_PTR(&pin_PD13) },
38+
{ MP_ROM_QSTR(MP_QSTR_PG02), MP_ROM_PTR(&pin_PG02) },
39+
{ MP_ROM_QSTR(MP_QSTR_PC06), MP_ROM_PTR(&pin_PC06) },
40+
{ MP_ROM_QSTR(MP_QSTR_PC07), MP_ROM_PTR(&pin_PC07) },
41+
{ MP_ROM_QSTR(MP_QSTR_PC09), MP_ROM_PTR(&pin_PC09) },
42+
{ MP_ROM_QSTR(MP_QSTR_PA08), MP_ROM_PTR(&pin_PA08) },
43+
{ MP_ROM_QSTR(MP_QSTR_PA10), MP_ROM_PTR(&pin_PA10) },
44+
{ MP_ROM_QSTR(MP_QSTR_PA13), MP_ROM_PTR(&pin_PA13) },
45+
{ MP_ROM_QSTR(MP_QSTR_PA14), MP_ROM_PTR(&pin_PA14) },
46+
{ MP_ROM_QSTR(MP_QSTR_PA15), MP_ROM_PTR(&pin_PA15) },
47+
{ MP_ROM_QSTR(MP_QSTR_PD06), MP_ROM_PTR(&pin_PD06) },
48+
{ MP_ROM_QSTR(MP_QSTR_PG09), MP_ROM_PTR(&pin_PG09) },
49+
{ MP_ROM_QSTR(MP_QSTR_PG10), MP_ROM_PTR(&pin_PG10) },
50+
{ MP_ROM_QSTR(MP_QSTR_PG11), MP_ROM_PTR(&pin_PG11) },
51+
{ MP_ROM_QSTR(MP_QSTR_PG12), MP_ROM_PTR(&pin_PG12) },
52+
{ MP_ROM_QSTR(MP_QSTR_PG13), MP_ROM_PTR(&pin_PG13) },
53+
{ MP_ROM_QSTR(MP_QSTR_PG14), MP_ROM_PTR(&pin_PG14) },
54+
{ MP_ROM_QSTR(MP_QSTR_PB03), MP_ROM_PTR(&pin_PB03) },
55+
{ MP_ROM_QSTR(MP_QSTR_PB04), MP_ROM_PTR(&pin_PB04) },
56+
{ MP_ROM_QSTR(MP_QSTR_PB05), MP_ROM_PTR(&pin_PB05) },
57+
{ MP_ROM_QSTR(MP_QSTR_PB06), MP_ROM_PTR(&pin_PB06) },
58+
{ MP_ROM_QSTR(MP_QSTR_PB07), MP_ROM_PTR(&pin_PB07) },
59+
{ MP_ROM_QSTR(MP_QSTR_PB08), MP_ROM_PTR(&pin_PB08) },
60+
{ MP_ROM_QSTR(MP_QSTR_PB09), MP_ROM_PTR(&pin_PB09) },
61+
{ MP_ROM_QSTR(MP_QSTR_PE00), MP_ROM_PTR(&pin_PE00) },
62+
{ MP_ROM_QSTR(MP_QSTR_PE01), MP_ROM_PTR(&pin_PE01) },
63+
{ MP_ROM_QSTR(MP_QSTR_D15), MP_ROM_PTR(&pin_PB10) },
64+
{ MP_ROM_QSTR(MP_QSTR_D14), MP_ROM_PTR(&pin_PB09) },
65+
{ MP_ROM_QSTR(MP_QSTR_D13), MP_ROM_PTR(&pin_PA05) },
66+
{ MP_ROM_QSTR(MP_QSTR_D12), MP_ROM_PTR(&pin_PA06) },
67+
{ MP_ROM_QSTR(MP_QSTR_D11), MP_ROM_PTR(&pin_PA07) },
68+
{ MP_ROM_QSTR(MP_QSTR_D10), MP_ROM_PTR(&pin_PA15) },
69+
{ MP_ROM_QSTR(MP_QSTR_D9), MP_ROM_PTR(&pin_PB08) },
70+
{ MP_ROM_QSTR(MP_QSTR_D8), MP_ROM_PTR(&pin_PG10) },
71+
{ MP_ROM_QSTR(MP_QSTR_D7), MP_ROM_PTR(&pin_PG11) },
72+
{ MP_ROM_QSTR(MP_QSTR_D6), MP_ROM_PTR(&pin_PF03) },
73+
{ MP_ROM_QSTR(MP_QSTR_D5), MP_ROM_PTR(&pin_PF10) },
74+
{ MP_ROM_QSTR(MP_QSTR_D4), MP_ROM_PTR(&pin_PG12) },
75+
{ MP_ROM_QSTR(MP_QSTR_D3), MP_ROM_PTR(&pin_PF04) },
76+
{ MP_ROM_QSTR(MP_QSTR_D2), MP_ROM_PTR(&pin_PG13) },
77+
{ MP_ROM_QSTR(MP_QSTR_D1), MP_ROM_PTR(&pin_PG14) },
78+
{ MP_ROM_QSTR(MP_QSTR_D0), MP_ROM_PTR(&pin_PG09) },
79+
{ MP_ROM_QSTR(MP_QSTR_A0), MP_ROM_PTR(&pin_PA01) },
80+
{ MP_ROM_QSTR(MP_QSTR_A1), MP_ROM_PTR(&pin_PC01) },
81+
{ MP_ROM_QSTR(MP_QSTR_A2), MP_ROM_PTR(&pin_PC03) },
82+
{ MP_ROM_QSTR(MP_QSTR_A3), MP_ROM_PTR(&pin_PC04) },
83+
{ MP_ROM_QSTR(MP_QSTR_A4), MP_ROM_PTR(&pin_PC05) }, //alt PB09, see F401ZG-DISCO manual
84+
{ MP_ROM_QSTR(MP_QSTR_A5), MP_ROM_PTR(&pin_PB00) }, //alt PB10, see F401ZG-DISCO manual
85+
{ MP_ROM_QSTR(MP_QSTR_LED1), MP_ROM_PTR(&pin_PE00) },
86+
{ MP_ROM_QSTR(MP_QSTR_LED2), MP_ROM_PTR(&pin_PE01) },
87+
{ MP_ROM_QSTR(MP_QSTR_LED3), MP_ROM_PTR(&pin_PE02) },
88+
{ MP_ROM_QSTR(MP_QSTR_LED4), MP_ROM_PTR(&pin_PE03) },
89+
};
90+
MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table);

ports/stm32f4/boards/stm32f412g_disco/stm32f4xx_it.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -205,7 +205,7 @@ void PendSV_Handler(void)
205205
// /* USER CODE BEGIN OTG_FS_IRQn 0 */
206206

207207
// /* USER CODE END OTG_FS_IRQn 0 */
208-
// HAL_PCD_IRQHandler(&hpcd_USB_OTG_FS);
208+
// // HAL_PCD_IRQHandler(&hpcd_USB_OTG_FS);
209209
// /* USER CODE BEGIN OTG_FS_IRQn 1 */
210210

211211
// /* USER CODE END OTG_FS_IRQn 1 */

0 commit comments

Comments
 (0)