Files
tinygo/targets
Pavel Burgr b420a8be17 Puya PY32F MCU support (#5106)
* pinout yamls removed

* machine: implement default UART pin configuration for Embedfire boards

* flash command moved to chip level so VS Code plugin can select bare chip

* machine: add support for alternate pin mode configuration

* add build targets for embedfire on py32

* add support for embedfire target in GNUmakefile for py32

* lib/py32-svd: remove duplicate DBGMCU.IDCODE CODE field

Update submodule to fix duplicate SetIDCODE/GetIDCODE method
declarations in the generated py32f002bxx.go device file.

* update subproject commit reference in py32-svd

* refactor: update CPU frequency handling in machine and runtime packages

* refactor: replace ConfigureUARTPin function with direct pin configuration in UART setup

* SetAltFunc documentation for GPIO pin alternate functions

* refactor: improve UART write and flush error handling with timeout

* machine/py32: generalize UART driver to any USART

Add a per-instance setup func to the UART type so the driver is no longer
hardwired to USART1. DefaultUART stays USART1; add UART2 (USART2) in a
separately build-tagged file since py32f002x parts lack USART2. RX IRQ
handlers reference runtime-assigned vars to break the init cycle, and setup
is assigned in the var initializer so it runs before InitSerial.

Add the py32f003_32k_4k target (32K flash / 4K RAM).

* Add canonical PY32F002, F003, and F030 density targets

Use CMSIS/pyocd device names for target files and build tags. Add all F003 and F030 densities plus F002A/B, correct F002B to 24K flash and its own startup file, fix the F030x8 pyocd target, and update Embedfire inheritance.

* Add targets for all PY32 CMSIS devices

* Support all PY32 register layout variants

* machine/py32: use generated register definitions

* machine/py32: fix alternate-function documentation

* machine/py32: report the configured CPU frequency

* machine/py32: use unsafe.Add for GPIO ports

* machine/py32: bound and yield UART polling

* machine/py32: configure UART pins from UARTConfig

* build: use the current PY32 SVD repository URL

* test: cover PY32 UART register layouts

* machine/py32: restore dynamic CPU frequency tracking

* machine/py32: share the USART TX-ready bit

* targets/py32: scale system stacks with RAM

* machine/py32: keep clock state internal

* targets/py32: normalize generated metadata

* machine/py32: normalize GPIO configuration

* machine/py32: fix T020 UART setup

* machine/py32: reduce clock variant files

* machine/py32: clean up UART variants

* machine/py32: decouple UART clock capability

* lib/py32-svd: use organization repository

* runtime/py32: name 24MHz HSI encodings

* machine/py32: derive startup clock from capability

* machine/py32: use generated USART clock mask

* machine/py32: name T020 8-bit UART mode

* ci: include PY32 in sharded smoke tests

* runtime: remove PY32 HSI frequency workaround
2026-08-29 08:41:43 +02:00
..
2026-01-06 23:12:02 +01:00
2025-06-13 16:19:10 +02:00
2023-05-20 21:18:02 +02:00
2022-11-06 09:05:05 +01:00
2022-11-18 18:40:38 +01:00
2023-05-20 21:18:02 +02:00
2023-05-20 21:18:02 +02:00
2023-10-01 18:32:15 +02:00
2023-06-01 21:04:36 +02:00
2022-04-23 08:45:46 +02:00
2022-04-23 08:45:46 +02:00
2025-01-20 06:15:33 +01:00
2025-01-20 06:15:33 +01:00
2025-01-20 06:15:33 +01:00
2025-01-20 06:15:33 +01:00
2023-04-26 23:07:52 +02:00
2026-08-20 16:07:13 +02:00
2026-08-20 16:07:13 +02:00
2020-09-09 19:17:11 +02:00
2021-09-05 19:59:26 +02:00
2025-09-20 08:35:34 +02:00
2024-05-12 16:09:27 +02:00
2021-03-04 15:46:05 +01:00
2022-07-16 08:31:22 +02:00
2022-12-16 21:26:49 +01:00
2018-10-06 13:04:14 +02:00
2019-11-16 21:57:18 +01:00
2020-10-20 19:13:43 +02:00
2022-12-16 21:26:49 +01:00
2020-10-20 19:13:43 +02:00
2022-12-16 21:26:49 +01:00
2022-12-16 21:26:49 +01:00
2018-10-18 15:07:06 +02:00
2020-07-13 12:35:53 +02:00
2020-02-18 23:34:56 +01:00
2020-02-18 23:34:56 +01:00
2020-02-18 23:34:56 +01:00
2021-03-28 21:38:05 +02:00
2023-05-09 19:44:00 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2026-08-29 08:41:43 +02:00
2025-09-17 05:28:06 -04:00
2023-09-18 21:58:02 +02:00
2026-04-17 10:33:07 +02:00
2018-09-22 01:51:44 +02:00
2020-12-15 06:51:35 +01:00
2026-01-06 23:12:02 +01:00
2026-01-06 23:12:02 +01:00
2026-01-06 23:12:02 +01:00
2026-05-28 18:05:24 +02:00
2021-03-23 08:33:59 +01:00
2022-01-13 07:56:08 +01:00
2024-04-19 20:50:00 +02:00
2020-07-08 21:58:15 +02:00
2020-11-11 18:34:47 +01:00
2024-02-23 14:00:57 +01:00
2025-09-17 05:28:06 -04:00
2025-09-17 05:28:06 -04:00