mirror of
https://github.com/tinygo-org/tinygo.git
synced 2026-08-10 05:53:39 +00:00
Viable NXP/Teensy support
- Fix UART & putChar - Timer-based sleep - Enable systick in abort - Buffered, interrupt-based UART TX - Use the new interrupt API and fix sleepTicks - Make pins behave more like other boards - Use the MCU's UART numbering - Allow interrupts to wake the scheduler (#1214)
This commit is contained in:
+9
-17
@@ -5,8 +5,8 @@ ENTRY(Reset_Handler)
|
||||
/* define memory layout */
|
||||
MEMORY
|
||||
{
|
||||
FLASH_TEXT (rx) : ORIGIN = 0x00000000, LENGTH = 1024K
|
||||
RAM (rwx) : ORIGIN = 0x1FFF0000, LENGTH = 256K
|
||||
FLASH_TEXT (rx) : ORIGIN = 0x00000000, LENGTH = 1024K
|
||||
RAM (rwx) : ORIGIN = 0x1FFF0000, LENGTH = 256K
|
||||
}
|
||||
|
||||
_stack_size = 2K;
|
||||
@@ -18,21 +18,18 @@ SECTIONS
|
||||
.text :
|
||||
{
|
||||
/* vector table MUST start at 0x0 */
|
||||
. = 0;
|
||||
_vector_table = .;
|
||||
. = 0;
|
||||
KEEP(*(.isr_vector))
|
||||
|
||||
/* flash configuration MUST be at 0x400 */
|
||||
. = 0x400;
|
||||
_flash_config = .;
|
||||
KEEP(*(.flash_config))
|
||||
KEEP(*(.flash_config))
|
||||
|
||||
/* everything else */
|
||||
*(.resetHandler)
|
||||
*(.text)
|
||||
*(.text*)
|
||||
*(.text.*)
|
||||
*(.rodata)
|
||||
*(.rodata*)
|
||||
*(.rodata.*)
|
||||
. = ALIGN(4);
|
||||
|
||||
} >FLASH_TEXT = 0xFF
|
||||
@@ -50,7 +47,7 @@ SECTIONS
|
||||
/* Start address (in flash) of .data, used by startup code. */
|
||||
_sidata = LOADADDR(.data);
|
||||
|
||||
/* todo add .usbdescriptortable .dmabuffers .usbbuffers */
|
||||
/* this is where Teensy's LD script places .usbdescriptortable .dmabuffers .usbbuffers */
|
||||
|
||||
/* Globals with initial value */
|
||||
.data :
|
||||
@@ -58,7 +55,7 @@ SECTIONS
|
||||
. = ALIGN(4);
|
||||
_sdata = .; /* used by startup code */
|
||||
*(.data)
|
||||
*(.data*)
|
||||
*(.data.*)
|
||||
. = ALIGN(4);
|
||||
_edata = .; /* used by startup code */
|
||||
} >RAM AT>FLASH_TEXT
|
||||
@@ -69,7 +66,7 @@ SECTIONS
|
||||
. = ALIGN(4);
|
||||
_sbss = .; /* used by startup code */
|
||||
*(.bss)
|
||||
*(.bss*)
|
||||
*(.bss.*)
|
||||
*(COMMON)
|
||||
. = ALIGN(4);
|
||||
_ebss = .; /* used by startup code */
|
||||
@@ -79,11 +76,6 @@ SECTIONS
|
||||
{
|
||||
*(.ARM.exidx) /* causes 'no memory region specified' error in lld */
|
||||
*(.ARM.exidx.*) /* causes spurious 'undefined reference' errors */
|
||||
|
||||
/* all this makes it much harder to debug via disassembly */
|
||||
*(.debug*)
|
||||
*(.ARM.*)
|
||||
*(.comment*)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+4
-4
@@ -1,7 +1,8 @@
|
||||
|
||||
.section .flash_config
|
||||
.global __flash_config
|
||||
.byte 0xFF
|
||||
__flash_config:
|
||||
.byte 0xFF
|
||||
.byte 0xFF
|
||||
.byte 0xFF
|
||||
.byte 0xFF
|
||||
.byte 0xFF
|
||||
@@ -9,11 +10,10 @@
|
||||
.byte 0xFF
|
||||
.byte 0xFF
|
||||
.byte 0xFF
|
||||
.byte 0xFF
|
||||
.byte 0xFF
|
||||
.byte 0xFF
|
||||
.byte 0xFF
|
||||
.byte 0xDE
|
||||
.byte 0xF9
|
||||
.byte 0xFF
|
||||
.byte 0xFF
|
||||
.byte 0xFF
|
||||
|
||||
Reference in New Issue
Block a user