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>
37 lines
1.1 KiB
Plaintext
37 lines
1.1 KiB
Plaintext
MEMORY
|
|
{
|
|
/* Reserve exactly 256 bytes at start of flash for second stage bootloader */
|
|
BOOT2_TEXT (rx) : ORIGIN = 0x10000000, LENGTH = 256
|
|
FLASH_TEXT (rx) : ORIGIN = 0x10000000 + 256, LENGTH = __flash_size - 256
|
|
RAM (rwx) : ORIGIN = 0x20000000, LENGTH = 256k
|
|
}
|
|
|
|
_stack_size = 2K;
|
|
|
|
SECTIONS
|
|
{
|
|
/* Second stage bootloader is prepended to the image. It must be 256 bytes
|
|
and checksummed. The gap to the checksum is zero-padded.
|
|
*/
|
|
.boot2 : {
|
|
__boot2_start__ = .;
|
|
KEEP (*(.boot2));
|
|
|
|
/* Explicitly allocate space for CRC32 checksum at end of second stage
|
|
bootloader
|
|
*/
|
|
. = __boot2_start__ + 256 - 4;
|
|
LONG(0)
|
|
} > BOOT2_TEXT = 0x0
|
|
|
|
/* The second stage will always enter the image at the start of .text.
|
|
The debugger will use the ELF entry point, which is the _entry_point
|
|
symbol if present, otherwise defaults to start of .text.
|
|
This can be used to transfer control back to the bootrom on debugger
|
|
launches only, to perform proper flash setup.
|
|
*/
|
|
}
|
|
|
|
|
|
INCLUDE "targets/arm.ld"
|