Imported linker scripts, so we can force dmesg to a static address. #45

This commit is contained in:
Travis Goodspeed 2017-11-18 14:29:50 -05:00
parent 919cd34cd0
commit 4f4c548118
4 changed files with 915 additions and 1 deletions

View File

@ -16,7 +16,7 @@ all: goodwatch.hex
gittag.h:
echo "#define GITTAG" 0x`git describe --always` >gittag.h
goodwatch: $(modules) $(apps) *.h
$(CC) -o goodwatch $(modules) $(apps)
$(CC) -T msp430.x -o goodwatch $(modules) $(apps)
../bin/printsizes.py goodwatch || echo "Please install python-pyelftools."
goodwatch.hex: goodwatch

27
firmware/memory.x Normal file
View File

@ -0,0 +1,27 @@
MEMORY {
sfr : ORIGIN = 0x0000, LENGTH = 0x0010 /* END=0x0010, size 16 */
peripheral_8bit : ORIGIN = 0x0010, LENGTH = 0x00f0 /* END=0x0100, size 240 */
peripheral_16bit : ORIGIN = 0x0100, LENGTH = 0x0100 /* END=0x0200, size 256 */
bsl : ORIGIN = 0x1000, LENGTH = 0x0800 /* END=0x1800, size 2K as 4 512-byte segments */
infomem : ORIGIN = 0x1800, LENGTH = 0x0200 /* END=0x1a00, size 512 as 4 128-byte segments */
infod : ORIGIN = 0x1800, LENGTH = 0x0080 /* END=0x1880, size 128 */
infoc : ORIGIN = 0x1880, LENGTH = 0x0080 /* END=0x1900, size 128 */
infob : ORIGIN = 0x1900, LENGTH = 0x0080 /* END=0x1980, size 128 */
infoa : ORIGIN = 0x1980, LENGTH = 0x0080 /* END=0x1a00, size 128 */
ram (wx) : ORIGIN = 0x1c00, LENGTH = 0x0ffe /* END=0x2bfe, size 4094 */
rom (rx) : ORIGIN = 0x8000, LENGTH = 0x7f80 /* END=0xff80, size 32640 */
vectors : ORIGIN = 0xff80, LENGTH = 0x0080 /* END=0x10000, size 128 as 64 2-byte segments */
/* Remaining banks are absent */
ram2 (wx) : ORIGIN = 0x0000, LENGTH = 0x0000
ram_mirror (wx) : ORIGIN = 0x0000, LENGTH = 0x0000
usbram (wx) : ORIGIN = 0x0000, LENGTH = 0x0000
far_rom : ORIGIN = 0x00000000, LENGTH = 0x00000000
}
REGION_ALIAS("REGION_TEXT", rom);
REGION_ALIAS("REGION_DATA", ram);
REGION_ALIAS("REGION_FAR_ROM", far_rom);
PROVIDE (__info_segment_size = 0x80);
PROVIDE (__infod = 0x1800);
PROVIDE (__infoc = 0x1880);
PROVIDE (__infob = 0x1900);
PROVIDE (__infoa = 0x1980);

184
firmware/msp430.x Normal file
View File

@ -0,0 +1,184 @@
/* Default linker script, for normal executables */
OUTPUT_FORMAT("elf32-msp430")
OUTPUT_ARCH("msp430")
INCLUDE memory.x
INCLUDE periph.x
SECTIONS
{
/* Read-only sections, merged into text segment. */
.hash : { *(.hash) }
.dynsym : { *(.dynsym) }
.dynstr : { *(.dynstr) }
.gnu.version : { *(.gnu.version) }
.gnu.version_d : { *(.gnu.version_d) }
.gnu.version_r : { *(.gnu.version_r) }
.rel.init : { *(.rel.init) }
.rela.init : { *(.rela.init) }
.rel.fini : { *(.rel.fini) }
.rela.fini : { *(.rela.fini) }
.rel.text : { *(.rel.text .rel.text.* .rel.gnu.linkonce.t.*) }
.rela.text : { *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*) }
.rel.rodata : { *(.rel.rodata .rel.rodata.* .rel.gnu.linkonce.r.*) }
.rela.rodata : { *(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*) }
.rel.data : { *(.rel.data .rel.data.* .rel.gnu.linkonce.d.*) }
.rela.data : { *(.rela.data .rela.data.* .rela.gnu.linkonce.d.*) }
.rel.bss : { *(.rel.bss .rel.bss.* .rel.gnu.linkonce.b.*) }
.rela.bss : { *(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*) }
.rel.ctors : { *(.rel.ctors) }
.rela.ctors : { *(.rela.ctors) }
.rel.dtors : { *(.rel.dtors) }
.rela.dtors : { *(.rela.dtors) }
.rel.got : { *(.rel.got) }
.rela.got : { *(.rela.got) }
.rel.plt : { *(.rel.plt) }
.rela.plt : { *(.rela.plt) }
.text :
{
. = ALIGN(2);
KEEP(*(.init .init.*))
KEEP(*(.init0)) /* Start here after reset. */
KEEP(*(.init1)) /* User definable. */
KEEP(*(.init2)) /* Initialize stack. */
KEEP(*(.init3)) /* Initialize hardware, user definable. */
KEEP(*(.init4)) /* Copy data to .data, clear bss. */
KEEP(*(.init5)) /* User definable. */
KEEP(*(.init6)) /* C++ constructors. */
KEEP(*(.init7)) /* User definable. */
KEEP(*(.init8)) /* User definable. */
KEEP(*(.init9)) /* Call main(). */
KEEP(*(.fini9)) /* Falls into here after main(). User definable. */
KEEP(*(.fini8)) /* User definable. */
KEEP(*(.fini7)) /* User definable. */
KEEP(*(.fini6)) /* C++ destructors. */
KEEP(*(.fini5)) /* User definable. */
KEEP(*(.fini4)) /* User definable. */
KEEP(*(.fini3)) /* User definable. */
KEEP(*(.fini2)) /* User definable. */
KEEP(*(.fini1)) /* User definable. */
KEEP(*(.fini0)) /* Infinite loop after program termination. */
KEEP(*(.fini .fini.*))
. = ALIGN(2);
__ctors_start = . ;
KEEP(*(.ctors))
__ctors_end = . ;
__dtors_start = . ;
KEEP(*(.dtors))
__dtors_end = . ;
. = ALIGN(2);
*(.text .text.* .gnu.linkonce.t.*)
. = ALIGN(2);
} > REGION_TEXT
.rodata :
{
. = ALIGN(2);
*(.rodata .rodata.* .gnu.linkonce.r.*)
. = ALIGN(2);
} > REGION_TEXT
_etext = .; /* Past last read-only (loadable) segment */
.data :
{
. = ALIGN(2);
PROVIDE (__data_start = .) ;
*(.data .data.* .gnu.linkonce.d.*)
. = ALIGN(2);
_edata = . ; /* Past last read-write (loadable) segment */
} > REGION_DATA AT > REGION_TEXT
PROVIDE (__data_load_start = LOADADDR(.data) );
PROVIDE (__data_size = SIZEOF(.data) );
.bss :
{
PROVIDE (__bss_start = .) ;
*(.bss .bss.*)
*(COMMON)
. = ALIGN(2);
PROVIDE (__bss_end = .) ;
} > REGION_DATA
PROVIDE (__bss_size = SIZEOF(.bss) );
.noinit :
{
PROVIDE (__noinit_start = .) ;
*(.noinit .noinit.*)
. = ALIGN(2);
PROVIDE (__noinit_end = .) ;
} > REGION_DATA
. = ALIGN(2);
_end = . ; /* Past last write (loadable) segment */
.infomem :
{
*(.infomem)
. = ALIGN(2);
*(.infomem.*)
} > infomem
.infomemnobits :
{
*(.infomemnobits)
. = ALIGN(2);
*(.infomemnobits.*)
} > infomem
.infoa :
{
*(.infoa .infoa.*)
} > infoa
.infob :
{
*(.infob .infob.*)
} > infob
.infoc :
{
*(.infoc .infoc.*)
} > infoc
.infod :
{
*(.infod .infod.*)
} > infod
.vectors :
{
PROVIDE (__vectors_start = .) ;
KEEP(*(.vectors*))
_vectors_end = . ;
} > vectors
.fartext :
{
. = ALIGN(2);
*(.fartext)
. = ALIGN(2);
*(.fartext.*)
_efartext = .;
} > REGION_FAR_ROM
/* Stabs for profiling information*/
.profiler 0 : { *(.profiler) }
/* Stabs debugging sections. */
.stab 0 : { *(.stab) }
.stabstr 0 : { *(.stabstr) }
.stab.excl 0 : { *(.stab.excl) }
.stab.exclstr 0 : { *(.stab.exclstr) }
.stab.index 0 : { *(.stab.index) }
.stab.indexstr 0 : { *(.stab.indexstr) }
.comment 0 : { *(.comment) }
/* DWARF debug sections.
Symbols in the DWARF debugging sections are relative to the beginning
of the section so we begin them at 0. */
/* DWARF 1 */
.debug 0 : { *(.debug) }
.line 0 : { *(.line) }
/* GNU DWARF 1 extensions */
.debug_srcinfo 0 : { *(.debug_srcinfo) }
.debug_sfnames 0 : { *(.debug_sfnames) }
/* DWARF 1.1 and DWARF 2 */
.debug_aranges 0 : { *(.debug_aranges) }
.debug_pubnames 0 : { *(.debug_pubnames) }
/* DWARF 2 */
.debug_info 0 : { *(.debug_info) *(.gnu.linkonce.wi.*) }
.debug_abbrev 0 : { *(.debug_abbrev) }
.debug_line 0 : { *(.debug_line) }
.debug_frame 0 : { *(.debug_frame) }
.debug_str 0 : { *(.debug_str) }
.debug_loc 0 : { *(.debug_loc) }
.debug_macinfo 0 : { *(.debug_macinfo) }
/* DWARF 3 */
.debug_pubtypes 0 : { *(.debug_pubtypes) }
.debug_ranges 0 : { *(.debug_ranges) }
PROVIDE (__stack = ORIGIN(ram) + LENGTH(ram));
PROVIDE (__data_start_rom = _etext);
PROVIDE (__data_end_rom = _etext + SIZEOF (.data));
}

703
firmware/periph.x Normal file
View File

@ -0,0 +1,703 @@
__ADC12CTL0_L = 0x0700;
__ADC12CTL0_H = 0x0701;
__ADC12CTL0 = 0x0700;
__ADC12CTL1_L = 0x0702;
__ADC12CTL1_H = 0x0703;
__ADC12CTL1 = 0x0702;
__ADC12CTL2_L = 0x0704;
__ADC12CTL2_H = 0x0705;
__ADC12CTL2 = 0x0704;
__ADC12IFG_L = 0x070A;
__ADC12IFG_H = 0x070B;
__ADC12IFG = 0x070A;
__ADC12IE_L = 0x070C;
__ADC12IE_H = 0x070D;
__ADC12IE = 0x070C;
__ADC12IV_L = 0x070E;
__ADC12IV_H = 0x070F;
__ADC12IV = 0x070E;
__ADC12MEM0_L = 0x0720;
__ADC12MEM0_H = 0x0721;
__ADC12MEM0 = 0x0720;
__ADC12MEM1_L = 0x0722;
__ADC12MEM1_H = 0x0723;
__ADC12MEM1 = 0x0722;
__ADC12MEM2_L = 0x0724;
__ADC12MEM2_H = 0x0725;
__ADC12MEM2 = 0x0724;
__ADC12MEM3_L = 0x0726;
__ADC12MEM3_H = 0x0727;
__ADC12MEM3 = 0x0726;
__ADC12MEM4_L = 0x0728;
__ADC12MEM4_H = 0x0729;
__ADC12MEM4 = 0x0728;
__ADC12MEM5_L = 0x072A;
__ADC12MEM5_H = 0x072B;
__ADC12MEM5 = 0x072A;
__ADC12MEM6_L = 0x072C;
__ADC12MEM6_H = 0x072D;
__ADC12MEM6 = 0x072C;
__ADC12MEM7_L = 0x072E;
__ADC12MEM7_H = 0x072F;
__ADC12MEM7 = 0x072E;
__ADC12MEM8_L = 0x0730;
__ADC12MEM8_H = 0x0731;
__ADC12MEM8 = 0x0730;
__ADC12MEM9_L = 0x0732;
__ADC12MEM9_H = 0x0733;
__ADC12MEM9 = 0x0732;
__ADC12MEM10_L = 0x0734;
__ADC12MEM10_H = 0x0735;
__ADC12MEM10 = 0x0734;
__ADC12MEM11_L = 0x0736;
__ADC12MEM11_H = 0x0737;
__ADC12MEM11 = 0x0736;
__ADC12MEM12_L = 0x0738;
__ADC12MEM12_H = 0x0739;
__ADC12MEM12 = 0x0738;
__ADC12MEM13_L = 0x073A;
__ADC12MEM13_H = 0x073B;
__ADC12MEM13 = 0x073A;
__ADC12MEM14_L = 0x073C;
__ADC12MEM14_H = 0x073D;
__ADC12MEM14 = 0x073C;
__ADC12MEM15_L = 0x073E;
__ADC12MEM15_H = 0x073F;
__ADC12MEM15 = 0x073E;
__ADC12MCTL0 = 0x0710;
__ADC12MCTL1 = 0x0711;
__ADC12MCTL2 = 0x0712;
__ADC12MCTL3 = 0x0713;
__ADC12MCTL4 = 0x0714;
__ADC12MCTL5 = 0x0715;
__ADC12MCTL6 = 0x0716;
__ADC12MCTL7 = 0x0717;
__ADC12MCTL8 = 0x0718;
__ADC12MCTL9 = 0x0719;
__ADC12MCTL10 = 0x071A;
__ADC12MCTL11 = 0x071B;
__ADC12MCTL12 = 0x071C;
__ADC12MCTL13 = 0x071D;
__ADC12MCTL14 = 0x071E;
__ADC12MCTL15 = 0x071F;
__AESACTL0_L = 0x09C0;
__AESACTL0_H = 0x09C1;
__AESACTL0 = 0x09C0;
__AESASTAT_L = 0x09C4;
__AESASTAT_H = 0x09C5;
__AESASTAT = 0x09C4;
__AESAKEY_L = 0x09C6;
__AESAKEY_H = 0x09C7;
__AESAKEY = 0x09C6;
__AESADIN_L = 0x09C8;
__AESADIN_H = 0x09C9;
__AESADIN = 0x09C8;
__AESADOUT_L = 0x09CA;
__AESADOUT_H = 0x09CB;
__AESADOUT = 0x09CA;
__CBCTL0_L = 0x08C0;
__CBCTL0_H = 0x08C1;
__CBCTL0 = 0x08C0;
__CBCTL1_L = 0x08C2;
__CBCTL1_H = 0x08C3;
__CBCTL1 = 0x08C2;
__CBCTL2_L = 0x08C4;
__CBCTL2_H = 0x08C5;
__CBCTL2 = 0x08C4;
__CBCTL3_L = 0x08C6;
__CBCTL3_H = 0x08C7;
__CBCTL3 = 0x08C6;
__CBINT_L = 0x08CC;
__CBINT_H = 0x08CD;
__CBINT = 0x08CC;
__CBIV = 0x08CE;
__RF1AIFCTL0_L = 0x0F00;
__RF1AIFCTL0_H = 0x0F01;
__RF1AIFCTL0 = 0x0F00;
__RF1AIFCTL1_L = 0x0F02;
__RF1AIFCTL1_H = 0x0F03;
__RF1AIFCTL1 = 0x0F02;
__RF1AIFCTL2_L = 0x0F04;
__RF1AIFCTL2_H = 0x0F05;
__RF1AIFCTL2 = 0x0F04;
__RF1AIFERR_L = 0x0F06;
__RF1AIFERR_H = 0x0F07;
__RF1AIFERR = 0x0F06;
__RF1AIFERRV_L = 0x0F0C;
__RF1AIFERRV_H = 0x0F0D;
__RF1AIFERRV = 0x0F0C;
__RF1AIFIV_L = 0x0F0E;
__RF1AIFIV_H = 0x0F0F;
__RF1AIFIV = 0x0F0E;
__RF1AINSTRW_L = 0x0F10;
__RF1AINSTRW_H = 0x0F11;
__RF1AINSTRW = 0x0F10;
__RF1AINSTR1W_L = 0x0F12;
__RF1AINSTR1W_H = 0x0F13;
__RF1AINSTR1W = 0x0F12;
__RF1AINSTR2W_L = 0x0F14;
__RF1AINSTR2W_H = 0x0F15;
__RF1AINSTR2W = 0x0F14;
__RF1ADINW_L = 0x0F16;
__RF1ADINW_H = 0x0F17;
__RF1ADINW = 0x0F16;
__RF1ASTAT0W_L = 0x0F20;
__RF1ASTAT0W_H = 0x0F21;
__RF1ASTAT0W = 0x0F20;
__RF1ASTAT1W_L = 0x0F22;
__RF1ASTAT1W_H = 0x0F23;
__RF1ASTAT1W = 0x0F22;
__RF1ASTAT2W_L = 0x0F24;
__RF1ASTAT2W_H = 0x0F25;
__RF1ASTAT2W = 0x0F24;
__RF1ADOUT0W_L = 0x0F28;
__RF1ADOUT0W_H = 0x0F29;
__RF1ADOUT0W = 0x0F28;
__RF1ADOUT1W_L = 0x0F2A;
__RF1ADOUT1W_H = 0x0F2B;
__RF1ADOUT1W = 0x0F2A;
__RF1ADOUT2W_L = 0x0F2C;
__RF1ADOUT2W_H = 0x0F2D;
__RF1ADOUT2W = 0x0F2C;
__RF1AIN_L = 0x0F30;
__RF1AIN_H = 0x0F31;
__RF1AIN = 0x0F30;
__RF1AIFG_L = 0x0F32;
__RF1AIFG_H = 0x0F33;
__RF1AIFG = 0x0F32;
__RF1AIES_L = 0x0F34;
__RF1AIES_H = 0x0F35;
__RF1AIES = 0x0F34;
__RF1AIE_L = 0x0F36;
__RF1AIE_H = 0x0F37;
__RF1AIE = 0x0F36;
__RF1AIV_L = 0x0F38;
__RF1AIV_H = 0x0F39;
__RF1AIV = 0x0F38;
__RF1ARXFIFO_L = 0x0F3C;
__RF1ARXFIFO_H = 0x0F3D;
__RF1ARXFIFO = 0x0F3C;
__RF1ATXFIFO_L = 0x0F3E;
__RF1ATXFIFO_H = 0x0F3F;
__RF1ATXFIFO = 0x0F3E;
__CRCDI_L = 0x0150;
__CRCDI_H = 0x0151;
__CRCDI = 0x0150;
__CRCDIRB_L = 0x0152;
__CRCDIRB_H = 0x0153;
__CRCDIRB = 0x0152;
__CRCINIRES_L = 0x0154;
__CRCINIRES_H = 0x0155;
__CRCINIRES = 0x0154;
__CRCRESR_L = 0x0156;
__CRCRESR_H = 0x0157;
__CRCRESR = 0x0156;
__DMACTL0_L = 0x0500;
__DMACTL0_H = 0x0501;
__DMACTL0 = 0x0500;
__DMACTL1_L = 0x0502;
__DMACTL1_H = 0x0503;
__DMACTL1 = 0x0502;
__DMACTL2_L = 0x0504;
__DMACTL2_H = 0x0505;
__DMACTL2 = 0x0504;
__DMACTL3_L = 0x0506;
__DMACTL3_H = 0x0507;
__DMACTL3 = 0x0506;
__DMACTL4_L = 0x0508;
__DMACTL4_H = 0x0509;
__DMACTL4 = 0x0508;
__DMAIV_L = 0x050E;
__DMAIV_H = 0x050F;
__DMAIV = 0x050E;
__DMA0CTL_L = 0x0510;
__DMA0CTL_H = 0x0511;
__DMA0CTL = 0x0510;
__DMA0SA = 0x0512;
__DMA0DA = 0x0516;
__DMA0SZ = 0x051A;
__DMA1CTL_L = 0x0520;
__DMA1CTL_H = 0x0521;
__DMA1CTL = 0x0520;
__DMA1SA = 0x0522;
__DMA1DA = 0x0526;
__DMA1SZ = 0x052A;
__DMA2CTL_L = 0x0530;
__DMA2CTL_H = 0x0531;
__DMA2CTL = 0x0530;
__DMA2SA = 0x0532;
__DMA2DA = 0x0536;
__DMA2SZ = 0x053A;
__FCTL1_L = 0x0140;
__FCTL1_H = 0x0141;
__FCTL1 = 0x0140;
__FCTL3_L = 0x0144;
__FCTL3_H = 0x0145;
__FCTL3 = 0x0144;
__FCTL4_L = 0x0146;
__FCTL4_H = 0x0147;
__FCTL4 = 0x0146;
__LCDBCTL0_L = 0x0A00;
__LCDBCTL0_H = 0x0A01;
__LCDBCTL0 = 0x0A00;
__LCDBCTL1_L = 0x0A02;
__LCDBCTL1_H = 0x0A03;
__LCDBCTL1 = 0x0A02;
__LCDBBLKCTL_L = 0x0A04;
__LCDBBLKCTL_H = 0x0A05;
__LCDBBLKCTL = 0x0A04;
__LCDBMEMCTL_L = 0x0A06;
__LCDBMEMCTL_H = 0x0A07;
__LCDBMEMCTL = 0x0A06;
__LCDBVCTL_L = 0x0A08;
__LCDBVCTL_H = 0x0A09;
__LCDBVCTL = 0x0A08;
__LCDBPCTL0_L = 0x0A0A;
__LCDBPCTL0_H = 0x0A0B;
__LCDBPCTL0 = 0x0A0A;
__LCDBPCTL1_L = 0x0A0C;
__LCDBPCTL1_H = 0x0A0D;
__LCDBPCTL1 = 0x0A0C;
__LCDBPCTL2_L = 0x0A0E;
__LCDBPCTL2_H = 0x0A0F;
__LCDBPCTL2 = 0x0A0E;
__LCDBPCTL3_L = 0x0A10;
__LCDBPCTL3_H = 0x0A11;
__LCDBPCTL3 = 0x0A10;
__LCDBCPCTL_L = 0x0A12;
__LCDBCPCTL_H = 0x0A13;
__LCDBCPCTL = 0x0A12;
__LCDBIV = 0x0A1E;
__LCDM1 = 0x0A20;
__LCDM2 = 0x0A21;
__LCDM3 = 0x0A22;
__LCDM4 = 0x0A23;
__LCDM5 = 0x0A24;
__LCDM6 = 0x0A25;
__LCDM7 = 0x0A26;
__LCDM8 = 0x0A27;
__LCDM9 = 0x0A28;
__LCDM10 = 0x0A29;
__LCDM11 = 0x0A2A;
__LCDM12 = 0x0A2B;
__LCDM13 = 0x0A2C;
__LCDM14 = 0x0A2D;
__LCDM15 = 0x0A2E;
__LCDM16 = 0x0A2F;
__LCDM17 = 0x0A30;
__LCDM18 = 0x0A31;
__LCDM19 = 0x0A32;
__LCDM20 = 0x0A33;
__LCDM21 = 0x0A34;
__LCDM22 = 0x0A35;
__LCDM23 = 0x0A36;
__LCDM24 = 0x0A37;
__LCDBM1 = 0x0A40;
__LCDBM2 = 0x0A41;
__LCDBM3 = 0x0A42;
__LCDBM4 = 0x0A43;
__LCDBM5 = 0x0A44;
__LCDBM6 = 0x0A45;
__LCDBM7 = 0x0A46;
__LCDBM8 = 0x0A47;
__LCDBM9 = 0x0A48;
__LCDBM10 = 0x0A49;
__LCDBM11 = 0x0A4A;
__LCDBM12 = 0x0A4B;
__LCDBM13 = 0x0A4C;
__LCDBM14 = 0x0A4D;
__LCDBM15 = 0x0A4E;
__LCDBM16 = 0x0A4F;
__LCDBM17 = 0x0A50;
__LCDBM18 = 0x0A51;
__LCDBM19 = 0x0A52;
__LCDBM20 = 0x0A53;
__LCDBM21 = 0x0A54;
__LCDBM22 = 0x0A55;
__LCDBM23 = 0x0A56;
__LCDBM24 = 0x0A57;
__MPY_L = 0x04C0;
__MPY_H = 0x04C1;
__MPY = 0x04C0;
__MPYS_L = 0x04C2;
__MPYS_H = 0x04C3;
__MPYS = 0x04C2;
__MAC_L = 0x04C4;
__MAC_H = 0x04C5;
__MAC = 0x04C4;
__MACS_L = 0x04C6;
__MACS_H = 0x04C7;
__MACS = 0x04C6;
__OP2_L = 0x04C8;
__OP2_H = 0x04C9;
__OP2 = 0x04C8;
__RESLO_L = 0x04CA;
__RESLO_H = 0x04CB;
__RESLO = 0x04CA;
__RESHI_L = 0x04CC;
__RESHI_H = 0x04CD;
__RESHI = 0x04CC;
__SUMEXT_L = 0x04CE;
__SUMEXT_H = 0x04CF;
__SUMEXT = 0x04CE;
__MPY32L_L = 0x04D0;
__MPY32L_H = 0x04D1;
__MPY32L = 0x04D0;
__MPY32H_L = 0x04D2;
__MPY32H_H = 0x04D3;
__MPY32H = 0x04D2;
__MPYS32L_L = 0x04D4;
__MPYS32L_H = 0x04D5;
__MPYS32L = 0x04D4;
__MPYS32H_L = 0x04D6;
__MPYS32H_H = 0x04D7;
__MPYS32H = 0x04D6;
__MAC32L_L = 0x04D8;
__MAC32L_H = 0x04D9;
__MAC32L = 0x04D8;
__MAC32H_L = 0x04DA;
__MAC32H_H = 0x04DB;
__MAC32H = 0x04DA;
__MACS32L_L = 0x04DC;
__MACS32L_H = 0x04DD;
__MACS32L = 0x04DC;
__MACS32H_L = 0x04DE;
__MACS32H_H = 0x04DF;
__MACS32H = 0x04DE;
__OP2L_L = 0x04E0;
__OP2L_H = 0x04E1;
__OP2L = 0x04E0;
__OP2H_L = 0x04E2;
__OP2H_H = 0x04E3;
__OP2H = 0x04E2;
__RES0_L = 0x04E4;
__RES0_H = 0x04E5;
__RES0 = 0x04E4;
__RES1_L = 0x04E6;
__RES1_H = 0x04E7;
__RES1 = 0x04E6;
__RES2_L = 0x04E8;
__RES2_H = 0x04E9;
__RES2 = 0x04E8;
__RES3_L = 0x04EA;
__RES3_H = 0x04EB;
__RES3 = 0x04EA;
__MPY32CTL0_L = 0x04EC;
__MPY32CTL0_H = 0x04ED;
__MPY32CTL0 = 0x04EC;
__PAIN_L = 0x0200;
__PAIN_H = 0x0201;
__PAIN = 0x0200;
__PAOUT_L = 0x0202;
__PAOUT_H = 0x0203;
__PAOUT = 0x0202;
__PADIR_L = 0x0204;
__PADIR_H = 0x0205;
__PADIR = 0x0204;
__PAREN_L = 0x0206;
__PAREN_H = 0x0207;
__PAREN = 0x0206;
__PADS_L = 0x0208;
__PADS_H = 0x0209;
__PADS = 0x0208;
__PASEL_L = 0x020A;
__PASEL_H = 0x020B;
__PASEL = 0x020A;
__PAIES_L = 0x0218;
__PAIES_H = 0x0219;
__PAIES = 0x0218;
__PAIE_L = 0x021A;
__PAIE_H = 0x021B;
__PAIE = 0x021A;
__PAIFG_L = 0x021C;
__PAIFG_H = 0x021D;
__PAIFG = 0x021C;
__P1IV = 0x020E;
__P2IV = 0x021E;
__PBIN_L = 0x0220;
__PBIN_H = 0x0221;
__PBIN = 0x0220;
__PBOUT_L = 0x0222;
__PBOUT_H = 0x0223;
__PBOUT = 0x0222;
__PBDIR_L = 0x0224;
__PBDIR_H = 0x0225;
__PBDIR = 0x0224;
__PBREN_L = 0x0226;
__PBREN_H = 0x0227;
__PBREN = 0x0226;
__PBDS_L = 0x0228;
__PBDS_H = 0x0229;
__PBDS = 0x0228;
__PBSEL_L = 0x022A;
__PBSEL_H = 0x022B;
__PBSEL = 0x022A;
__PCIN_L = 0x0240;
__PCIN_H = 0x0241;
__PCIN = 0x0240;
__PCOUT_L = 0x0242;
__PCOUT_H = 0x0243;
__PCOUT = 0x0242;
__PCDIR_L = 0x0244;
__PCDIR_H = 0x0245;
__PCDIR = 0x0244;
__PCREN_L = 0x0246;
__PCREN_H = 0x0247;
__PCREN = 0x0246;
__PCDS_L = 0x0248;
__PCDS_H = 0x0249;
__PCDS = 0x0248;
__PCSEL_L = 0x024A;
__PCSEL_H = 0x024B;
__PCSEL = 0x024A;
__PJIN_L = 0x0320;
__PJIN_H = 0x0321;
__PJIN = 0x0320;
__PJOUT_L = 0x0322;
__PJOUT_H = 0x0323;
__PJOUT = 0x0322;
__PJDIR_L = 0x0324;
__PJDIR_H = 0x0325;
__PJDIR = 0x0324;
__PJREN_L = 0x0326;
__PJREN_H = 0x0327;
__PJREN = 0x0326;
__PJDS_L = 0x0328;
__PJDS_H = 0x0329;
__PJDS = 0x0328;
__PMAPKEYID_L = 0x01C0;
__PMAPKEYID_H = 0x01C1;
__PMAPKEYID = 0x01C0;
__PMAPCTL_L = 0x01C2;
__PMAPCTL_H = 0x01C3;
__PMAPCTL = 0x01C2;
__P1MAP01_L = 0x01C8;
__P1MAP01_H = 0x01C9;
__P1MAP01 = 0x01C8;
__P1MAP23_L = 0x01CA;
__P1MAP23_H = 0x01CB;
__P1MAP23 = 0x01CA;
__P1MAP45_L = 0x01CC;
__P1MAP45_H = 0x01CD;
__P1MAP45 = 0x01CC;
__P1MAP67_L = 0x01CE;
__P1MAP67_H = 0x01CF;
__P1MAP67 = 0x01CE;
__P2MAP01_L = 0x01D0;
__P2MAP01_H = 0x01D1;
__P2MAP01 = 0x01D0;
__P2MAP23_L = 0x01D2;
__P2MAP23_H = 0x01D3;
__P2MAP23 = 0x01D2;
__P2MAP45_L = 0x01D4;
__P2MAP45_H = 0x01D5;
__P2MAP45 = 0x01D4;
__P2MAP67_L = 0x01D6;
__P2MAP67_H = 0x01D7;
__P2MAP67 = 0x01D6;
__P3MAP01_L = 0x01D8;
__P3MAP01_H = 0x01D9;
__P3MAP01 = 0x01D8;
__P3MAP23_L = 0x01DA;
__P3MAP23_H = 0x01DB;
__P3MAP23 = 0x01DA;
__P3MAP45_L = 0x01DC;
__P3MAP45_H = 0x01DD;
__P3MAP45 = 0x01DC;
__P3MAP67_L = 0x01DE;
__P3MAP67_H = 0x01DF;
__P3MAP67 = 0x01DE;
__PMMCTL0_L = 0x0120;
__PMMCTL0_H = 0x0121;
__PMMCTL0 = 0x0120;
__PMMCTL1_L = 0x0122;
__PMMCTL1_H = 0x0123;
__PMMCTL1 = 0x0122;
__SVSMHCTL_L = 0x0124;
__SVSMHCTL_H = 0x0125;
__SVSMHCTL = 0x0124;
__SVSMLCTL_L = 0x0126;
__SVSMLCTL_H = 0x0127;
__SVSMLCTL = 0x0126;
__SVSMIO_L = 0x0128;
__SVSMIO_H = 0x0129;
__SVSMIO = 0x0128;
__PMMIFG_L = 0x012C;
__PMMIFG_H = 0x012D;
__PMMIFG = 0x012C;
__PMMRIE_L = 0x012E;
__PMMRIE_H = 0x012F;
__PMMRIE = 0x012E;
__RCCTL0_L = 0x0158;
__RCCTL0_H = 0x0159;
__RCCTL0 = 0x0158;
__REFCTL0_L = 0x01B0;
__REFCTL0_H = 0x01B1;
__REFCTL0 = 0x01B0;
__RTCCTL01_L = 0x04A0;
__RTCCTL01_H = 0x04A1;
__RTCCTL01 = 0x04A0;
__RTCCTL23_L = 0x04A2;
__RTCCTL23_H = 0x04A3;
__RTCCTL23 = 0x04A2;
__RTCPS0CTL_L = 0x04A8;
__RTCPS0CTL_H = 0x04A9;
__RTCPS0CTL = 0x04A8;
__RTCPS1CTL_L = 0x04AA;
__RTCPS1CTL_H = 0x04AB;
__RTCPS1CTL = 0x04AA;
__RTCPS_L = 0x04AC;
__RTCPS_H = 0x04AD;
__RTCPS = 0x04AC;
__RTCIV = 0x04AE;
__RTCTIM0_L = 0x04B0;
__RTCTIM0_H = 0x04B1;
__RTCTIM0 = 0x04B0;
__RTCTIM1_L = 0x04B2;
__RTCTIM1_H = 0x04B3;
__RTCTIM1 = 0x04B2;
__RTCDATE_L = 0x04B4;
__RTCDATE_H = 0x04B5;
__RTCDATE = 0x04B4;
__RTCYEAR_L = 0x04B6;
__RTCYEAR_H = 0x04B7;
__RTCYEAR = 0x04B6;
__RTCAMINHR_L = 0x04B8;
__RTCAMINHR_H = 0x04B9;
__RTCAMINHR = 0x04B8;
__RTCADOWDAY_L = 0x04BA;
__RTCADOWDAY_H = 0x04BB;
__RTCADOWDAY = 0x04BA;
__SFRIE1_L = 0x0100;
__SFRIE1_H = 0x0101;
__SFRIE1 = 0x0100;
__SFRIFG1_L = 0x0102;
__SFRIFG1_H = 0x0103;
__SFRIFG1 = 0x0102;
__SFRRPCR_L = 0x0104;
__SFRRPCR_H = 0x0105;
__SFRRPCR = 0x0104;
__SYSCTL_L = 0x0180;
__SYSCTL_H = 0x0181;
__SYSCTL = 0x0180;
__SYSBSLC_L = 0x0182;
__SYSBSLC_H = 0x0183;
__SYSBSLC = 0x0182;
__SYSJMBC_L = 0x0186;
__SYSJMBC_H = 0x0187;
__SYSJMBC = 0x0186;
__SYSJMBI0_L = 0x0188;
__SYSJMBI0_H = 0x0189;
__SYSJMBI0 = 0x0188;
__SYSJMBI1_L = 0x018A;
__SYSJMBI1_H = 0x018B;
__SYSJMBI1 = 0x018A;
__SYSJMBO0_L = 0x018C;
__SYSJMBO0_H = 0x018D;
__SYSJMBO0 = 0x018C;
__SYSJMBO1_L = 0x018E;
__SYSJMBO1_H = 0x018F;
__SYSJMBO1 = 0x018E;
__SYSBERRIV_L = 0x0198;
__SYSBERRIV_H = 0x0199;
__SYSBERRIV = 0x0198;
__SYSUNIV_L = 0x019A;
__SYSUNIV_H = 0x019B;
__SYSUNIV = 0x019A;
__SYSSNIV_L = 0x019C;
__SYSSNIV_H = 0x019D;
__SYSSNIV = 0x019C;
__SYSRSTIV_L = 0x019E;
__SYSRSTIV_H = 0x019F;
__SYSRSTIV = 0x019E;
__TA0CTL = 0x0340;
__TA0CCTL0 = 0x0342;
__TA0CCTL1 = 0x0344;
__TA0CCTL2 = 0x0346;
__TA0CCTL3 = 0x0348;
__TA0CCTL4 = 0x034A;
__TA0R = 0x0350;
__TA0CCR0 = 0x0352;
__TA0CCR1 = 0x0354;
__TA0CCR2 = 0x0356;
__TA0CCR3 = 0x0358;
__TA0CCR4 = 0x035A;
__TA0IV = 0x036E;
__TA0EX0 = 0x0360;
__TA1CTL = 0x0380;
__TA1CCTL0 = 0x0382;
__TA1CCTL1 = 0x0384;
__TA1CCTL2 = 0x0386;
__TA1R = 0x0390;
__TA1CCR0 = 0x0392;
__TA1CCR1 = 0x0394;
__TA1CCR2 = 0x0396;
__TA1IV = 0x03AE;
__TA1EX0 = 0x03A0;
__UCSCTL0_L = 0x0160;
__UCSCTL0_H = 0x0161;
__UCSCTL0 = 0x0160;
__UCSCTL1_L = 0x0162;
__UCSCTL1_H = 0x0163;
__UCSCTL1 = 0x0162;
__UCSCTL2_L = 0x0164;
__UCSCTL2_H = 0x0165;
__UCSCTL2 = 0x0164;
__UCSCTL3_L = 0x0166;
__UCSCTL3_H = 0x0167;
__UCSCTL3 = 0x0166;
__UCSCTL4_L = 0x0168;
__UCSCTL4_H = 0x0169;
__UCSCTL4 = 0x0168;
__UCSCTL5_L = 0x016A;
__UCSCTL5_H = 0x016B;
__UCSCTL5 = 0x016A;
__UCSCTL6_L = 0x016C;
__UCSCTL6_H = 0x016D;
__UCSCTL6 = 0x016C;
__UCSCTL7_L = 0x016E;
__UCSCTL7_H = 0x016F;
__UCSCTL7 = 0x016E;
__UCSCTL8_L = 0x0170;
__UCSCTL8_H = 0x0171;
__UCSCTL8 = 0x0170;
__UCA0CTLW0_L = 0x05C0;
__UCA0CTLW0_H = 0x05C1;
__UCA0CTLW0 = 0x05C0;
__UCA0BRW_L = 0x05C6;
__UCA0BRW_H = 0x05C7;
__UCA0BRW = 0x05C6;
__UCA0MCTL = 0x05C8;
__UCA0STAT = 0x05CA;
__UCA0RXBUF = 0x05CC;
__UCA0TXBUF = 0x05CE;
__UCA0ABCTL = 0x05D0;
__UCA0IRCTL_L = 0x05D2;
__UCA0IRCTL_H = 0x05D3;
__UCA0IRCTL = 0x05D2;
__UCA0ICTL_L = 0x05DC;
__UCA0ICTL_H = 0x05DD;
__UCA0ICTL = 0x05DC;
__UCA0IV = 0x05DE;
__UCB0CTLW0_L = 0x05E0;
__UCB0CTLW0_H = 0x05E1;
__UCB0CTLW0 = 0x05E0;
__UCB0BRW_L = 0x05E6;
__UCB0BRW_H = 0x05E7;
__UCB0BRW = 0x05E6;
__UCB0STAT = 0x05EA;
__UCB0RXBUF = 0x05EC;
__UCB0TXBUF = 0x05EE;
__UCB0I2COA_L = 0x05F0;
__UCB0I2COA_H = 0x05F1;
__UCB0I2COA = 0x05F0;
__UCB0I2CSA_L = 0x05F2;
__UCB0I2CSA_H = 0x05F3;
__UCB0I2CSA = 0x05F2;
__UCB0ICTL_L = 0x05FC;
__UCB0ICTL_H = 0x05FD;
__UCB0ICTL = 0x05FC;
__UCB0IV = 0x05FE;
__WDTCTL_L = 0x015C;
__WDTCTL_H = 0x015D;
__WDTCTL = 0x015C;