Skip to content

Conversation

@xgopilot
Copy link
Contributor

@xgopilot xgopilot bot commented Oct 28, 2025

Requested by @luoliwoshang

Overview

This PR migrates the TinyGo v0.39.0 device package from goplus/lib/emb to the goplus/emb repository root, providing embedded development support for the LLGO compiler ecosystem.

Changes

Device Package Migration

  • Source: embed: device package  lib#16
  • Migrated Content: Complete device/ directory from goplus/lib/emb/
  • Architecture Support: 17 directories covering ARM, ARM64, AVR, ESP, NRF, NXP, RP, SAM, STM32, Renesas, SiFive, Kendryte, RISC-V, GBA, TKey
  • File Count: ~1000+ device definition files

Import Path Updates

All import paths have been updated from:

import "github.com/goplus/lib/emb/runtime/volatile"
import "github.com/goplus/lib/emb/device/stm32"

To:

import "github.com/goplus/emb/runtime/volatile"
import "github.com/goplus/emb/device/stm32"
  • Updated Files: 573 device files with import path changes

LLGO Compatibility Features

  • Inline assembly functions using //llgo:link directives
  • Placeholder implementations for runtime/interrupt.callHandlers
  • ARM system call (SVCall) placeholders
  • RISC-V CSR operation placeholders
  • Support for embedded architectures

Related Issues

Supported Architectures

ARM Cortex-M, ARM64, AVR, ESP32/ESP8266, Nordic nRF, NXP (i.MX RT, Kinetis, LPC), Raspberry Pi RP2040/RP2350, Microchip SAM, STM32, Renesas RA, SiFive, Kendryte K210, RISC-V, Game Boy Advance, TKey

Migrate TinyGo v0.39.0 device package from goplus/lib/emb to goplus/emb repository root.

This migration includes:
- 17 architecture directories (ARM, ARM64, AVR, ESP, NRF, NXP, RP, SAM, STM32, etc.)
- ~1000+ device definition files
- Updated import paths from github.com/goplus/lib/emb to github.com/goplus/emb
- LLGO-compatible adaptations (//llgo:link directives for Asm functions)
- Placeholder implementations for runtime/interrupt.callHandlers
- Support for embedded architectures: ARM Cortex-M, RISC-V, AVR, ESP32, Nordic, etc.

Based on goplus/lib#16

Generated with [codeagent](https://github.com/qbox/codeagent)
Co-authored-by: luoliwoshang <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

move tinygo compatibility code

2 participants