rp2040: fix -gc=leaking/none

This commit is contained in:
Pat Whittingslow
2026-05-26 10:27:32 -03:00
committed by GitHub
parent 443de9fe1c
commit d348d8b4cf
5 changed files with 13 additions and 2 deletions
+2
View File
@@ -784,6 +784,8 @@ endif
@$(MD5SUM) test.hex
$(TINYGO) build -size short -o test.hex -target=pico examples/blinky1
@$(MD5SUM) test.hex
$(TINYGO) build -size short -o test.hex -target=pico -gc=leaking examples/blinky1
@$(MD5SUM) test.hex
$(TINYGO) build -size short -o test.hex -target=nano-33-ble examples/blinky1
@$(MD5SUM) test.hex
$(TINYGO) build -size short -o test.hex -target=nano-rp2040 examples/blinky1
+1 -1
View File
@@ -128,7 +128,7 @@ func handleUSBSetAddress(setup usb.Setup) bool {
const ackTimeout = 570
rp.USBCTRL_REGS.SIE_STATUS.Set(rp.USBCTRL_REGS_SIE_STATUS_ACK_REC)
sendUSBPacket(0, []byte{})
sendUSBPacket(0, nil)
// Wait for transfer to complete with a timeout.
t := timer.timeElapsed()
+1 -1
View File
@@ -141,7 +141,7 @@ func setEPDataPID(ep uint32, dataOne bool) {
}
func SendZlp() {
sendUSBPacket(0, []byte{})
sendUSBPacket(0, nil)
}
func sendViaEPIn(ep uint32, data []byte, count int) {
+5
View File
@@ -8,11 +8,16 @@ package runtime
import (
"internal/task"
"sync/atomic"
"unsafe"
)
const needsStaticHeap = true
var gcScanState atomic.Uint32
func scanCurrentStack() {}
// Ever-incrementing pointer: no memory is freed.
var heapptr uintptr
+4
View File
@@ -7,6 +7,7 @@ package runtime
// targets that have far too little RAM even for the leaking memory allocator.
import (
"sync/atomic"
"unsafe"
)
@@ -15,6 +16,9 @@ const needsStaticHeap = false
var gcTotalAlloc uint64 // for runtime.MemStats
var gcMallocs uint64
var gcFrees uint64
var gcScanState atomic.Uint32
func scanCurrentStack() {}
func alloc(size uintptr, layout unsafe.Pointer) unsafe.Pointer