Conversation
… enable serial The super watchdog write-protect key was copied from ESP32-C3 (0x8F1D312A) but ESP32-C6 uses 0x50D83AA1, so the SWD was never actually disabled and would reset the chip after a few seconds. The clock configuration was also setting HS_DIV_NUM=0, running the CPU at 480MHz (SPLL/1) instead of the intended 160MHz (SPLL/3). This caused USB Serial/JTAG PHY timing failures, preventing any serial output. Fixed by setting HS_DIV_NUM=2 and explicitly configuring AHB/APB bus dividers. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…atch The sarEnable() method references regI2C and analog config constants defined in machine_esp32xx_adc.go, which excludes m5stamp_c3. Moving it to a new file with the matching build constraint prevents undefined symbol errors for that target. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
ESP32-C6 uses rv32imac ISA (with atomics), unlike ESP32-C3 which uses rv32imc. The features string was copied from ESP32-C3 and incorrectly disabled the atomic-related LLVM features. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
| @@ -0,0 +1,79 @@ | |||
| //go:build esp32c6 | |||
|
|
|||
| // This file contains the default pin mappings for the ESP32-C6 generic target. | |||
There was a problem hiding this comment.
There is not really such a thing as "generic" target. From the comments below, shouldn't this be board_esp32c6_devkitc?
| }) | ||
| } | ||
|
|
||
| func (uart *UART) serveInterrupt(num int) { |
There was a problem hiding this comment.
This function is named handleInterrupt most places elsewhere in TinyGo.
| @@ -0,0 +1,19 @@ | |||
| //go:build esp32c3 || esp32s3 | |||
There was a problem hiding this comment.
Perhaps naming like machine_esp32x3_periph.go?
|
Just as an overall comment, it would be a lot easier to review/test this as a series of PRs which each added another set of capabilities. See the recent work on You can perhaps take the commits from this PR (once all tested/working on real hardware) and then have your coding tools take that set of commits and turn them into a series of atomic commits for review. For example:
|
Summary
0x00for 80MHz on C6 vs0x0Fon C3)What's included
esp32jtagflash method, correct chip ID (0x000D), ESP32-C6 frequency encoding in image headerTest plan
printlnin a loop)time.Sleepworks correctlytinygo.org/x/drivers/ws2812Closes: #4029