feat: implement target configuration system for issue #1176
Add comprehensive target configuration parsing and inheritance system: - Create internal/targets package with config structures - Support JSON configuration loading with inheritance resolution - Implement multi-level inheritance (e.g., rp2040 → cortex-m0plus → cortex-m) - Add 206 target configurations from TinyGo for embedded platforms - Support core fields: name, llvm-target, cpu, features, build-tags, goos, goarch, cflags, ldflags - Provide high-level resolver interface for target lookup - Include comprehensive unit tests with 100% target parsing coverage This foundation enables future -target parameter support for cross-compilation to diverse embedded platforms beyond current GOOS/GOARCH limitations. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
23
targets/rp2040.json
Normal file
23
targets/rp2040.json
Normal file
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"inherits": ["cortex-m0plus"],
|
||||
"build-tags": ["rp2040", "rp"],
|
||||
"scheduler": "cores",
|
||||
"flash-1200-bps-reset": "true",
|
||||
"flash-method": "msd",
|
||||
"serial": "usb",
|
||||
"msd-volume-name": ["RPI-RP2"],
|
||||
"msd-firmware-name": "firmware.uf2",
|
||||
"binary-format": "uf2",
|
||||
"uf2-family-id": "0xe48bff56",
|
||||
"rp2040-boot-patch": true,
|
||||
"extra-files": [
|
||||
"src/device/rp/rp2040.s"
|
||||
],
|
||||
"ldflags": [
|
||||
"--defsym=__num_stacks=2"
|
||||
],
|
||||
"linkerscript": "targets/rp2040.ld",
|
||||
"openocd-interface": "picoprobe",
|
||||
"openocd-transport": "swd",
|
||||
"openocd-target": "rp2040"
|
||||
}
|
||||
Reference in New Issue
Block a user