mirror of
https://github.com/tinygo-org/tinygo.git
synced 2026-07-26 06:38:42 +00:00
a24dc8c543
Rewrite kernel and double exception handlers to save EXCCAUSE/EPC1 to RTC STORE registers before triggering a software reset, replacing the LED-blink diagnostic with post-mortem debug info that survives reset. Add user exception dispatch in the level-1 handler with a weak espradio_user_exception symbol so programs without espradio still link. Implement procPin/procUnpin for Xtensa using RSIL/WSR PS to properly disable interrupts during atomic operations. Fix abort() to use a waiti loop instead of bare spin. Add --wrap ldflags for malloc/calloc/free/realloc/ppCheckTxConnTrafficIdle to support espradio WiFi blob integration. Signed-off-by: deadprogram <ron@hybridgroup.com>
31 lines
992 B
JSON
31 lines
992 B
JSON
{
|
|
"inherits": ["xtensa"],
|
|
"inheritable-only": true,
|
|
"cpu": "esp32s3",
|
|
"features": "+atomctl,+bool,+clamps,+coprocessor,+debug,+density,+div32,+esp32s3,+exception,+fp,+highpriinterrupts,+interrupt,+loop,+mac16,+memctl,+minmax,+miscsr,+mul32,+mul32high,+nsa,+prid,+regprotect,+rvector,+s32c1i,+sext,+threadptr,+timerint,+windowed",
|
|
"build-tags": ["esp32s3", "esp"],
|
|
"scheduler": "tasks",
|
|
"serial": "usb",
|
|
"linker": "ld.lld",
|
|
"ldflags": [
|
|
"--wrap=malloc",
|
|
"--wrap=calloc",
|
|
"--wrap=free",
|
|
"--wrap=realloc",
|
|
"--wrap=ppCheckTxConnTrafficIdle"
|
|
],
|
|
"default-stack-size": 8192,
|
|
"rtlib": "compiler-rt",
|
|
"libc": "picolibc",
|
|
"linkerscript": "targets/esp32s3.ld",
|
|
"extra-files": [
|
|
"src/device/esp/esp32s3.S",
|
|
"targets/esp32s3-interrupts.S",
|
|
"src/internal/task/task_stack_esp32.S"
|
|
],
|
|
"binary-format": "esp32s3",
|
|
"flash-method": "esp32jtag",
|
|
"emulator": "qemu-system-xtensa -machine esp32 -nographic -drive file={img},if=mtd,format=raw",
|
|
"gdb": ["xtensa-esp32-elf-gdb"]
|
|
}
|