added prescaler for 16 bit pwm in LPC1347 target

Fork of mbed-dev by mbed official

Committer:
JojoS
Date:
Sat Sep 10 15:32:04 2016 +0000
Revision:
147:ba84b7dc41a7
Parent:
74:9322579e4309
added prescaler for 16 bit timers (solution as in LPC11xx), default prescaler 31 for max 28 ms period time

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbed_official 74:9322579e4309 1 /* Linker script to configure memory regions. */
mbed_official 74:9322579e4309 2 MEMORY
mbed_official 74:9322579e4309 3 {
mbed_official 74:9322579e4309 4 FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 1024K
mbed_official 74:9322579e4309 5 RAM (rwx) : ORIGIN = 0x200001C8, LENGTH = 320K - 0x1C8
mbed_official 74:9322579e4309 6 }
mbed_official 74:9322579e4309 7
mbed_official 74:9322579e4309 8 /* Linker script to place sections and symbol values. Should be used together
mbed_official 74:9322579e4309 9 * with other linker script that defines memory regions FLASH and RAM.
mbed_official 74:9322579e4309 10 * It references following symbols, which must be defined in code:
mbed_official 74:9322579e4309 11 * Reset_Handler : Entry of reset handler
mbed_official 74:9322579e4309 12 *
mbed_official 74:9322579e4309 13 * It defines following symbols, which code can use without definition:
mbed_official 74:9322579e4309 14 * __exidx_start
mbed_official 74:9322579e4309 15 * __exidx_end
mbed_official 74:9322579e4309 16 * __etext
mbed_official 74:9322579e4309 17 * __data_start__
mbed_official 74:9322579e4309 18 * __preinit_array_start
mbed_official 74:9322579e4309 19 * __preinit_array_end
mbed_official 74:9322579e4309 20 * __init_array_start
mbed_official 74:9322579e4309 21 * __init_array_end
mbed_official 74:9322579e4309 22 * __fini_array_start
mbed_official 74:9322579e4309 23 * __fini_array_end
mbed_official 74:9322579e4309 24 * __data_end__
mbed_official 74:9322579e4309 25 * __bss_start__
mbed_official 74:9322579e4309 26 * __bss_end__
mbed_official 74:9322579e4309 27 * __end__
mbed_official 74:9322579e4309 28 * end
mbed_official 74:9322579e4309 29 * __HeapLimit
mbed_official 74:9322579e4309 30 * __StackLimit
mbed_official 74:9322579e4309 31 * __StackTop
mbed_official 74:9322579e4309 32 * __stack
mbed_official 74:9322579e4309 33 * _estack
mbed_official 74:9322579e4309 34 */
mbed_official 74:9322579e4309 35 ENTRY(Reset_Handler)
mbed_official 74:9322579e4309 36
mbed_official 74:9322579e4309 37 SECTIONS
mbed_official 74:9322579e4309 38 {
mbed_official 74:9322579e4309 39 .text :
mbed_official 74:9322579e4309 40 {
mbed_official 74:9322579e4309 41 KEEP(*(.isr_vector))
mbed_official 74:9322579e4309 42 *(.text*)
mbed_official 74:9322579e4309 43 KEEP(*(.init))
mbed_official 74:9322579e4309 44 KEEP(*(.fini))
mbed_official 74:9322579e4309 45
mbed_official 74:9322579e4309 46 /* .ctors */
mbed_official 74:9322579e4309 47 *crtbegin.o(.ctors)
mbed_official 74:9322579e4309 48 *crtbegin?.o(.ctors)
mbed_official 74:9322579e4309 49 *(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors)
mbed_official 74:9322579e4309 50 *(SORT(.ctors.*))
mbed_official 74:9322579e4309 51 *(.ctors)
mbed_official 74:9322579e4309 52
mbed_official 74:9322579e4309 53 /* .dtors */
mbed_official 74:9322579e4309 54 *crtbegin.o(.dtors)
mbed_official 74:9322579e4309 55 *crtbegin?.o(.dtors)
mbed_official 74:9322579e4309 56 *(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors)
mbed_official 74:9322579e4309 57 *(SORT(.dtors.*))
mbed_official 74:9322579e4309 58 *(.dtors)
mbed_official 74:9322579e4309 59
mbed_official 74:9322579e4309 60 *(.rodata*)
mbed_official 74:9322579e4309 61
mbed_official 74:9322579e4309 62 KEEP(*(.eh_frame*))
mbed_official 74:9322579e4309 63 } > FLASH
mbed_official 74:9322579e4309 64
mbed_official 74:9322579e4309 65 .ARM.extab :
mbed_official 74:9322579e4309 66 {
mbed_official 74:9322579e4309 67 *(.ARM.extab* .gnu.linkonce.armextab.*)
mbed_official 74:9322579e4309 68 } > FLASH
mbed_official 74:9322579e4309 69
mbed_official 74:9322579e4309 70 __exidx_start = .;
mbed_official 74:9322579e4309 71 .ARM.exidx :
mbed_official 74:9322579e4309 72 {
mbed_official 74:9322579e4309 73 *(.ARM.exidx* .gnu.linkonce.armexidx.*)
mbed_official 74:9322579e4309 74 } > FLASH
mbed_official 74:9322579e4309 75 __exidx_end = .;
mbed_official 74:9322579e4309 76
mbed_official 74:9322579e4309 77 __etext = .;
mbed_official 74:9322579e4309 78 _sidata = .;
mbed_official 74:9322579e4309 79
mbed_official 74:9322579e4309 80 .data : AT (__etext)
mbed_official 74:9322579e4309 81 {
mbed_official 74:9322579e4309 82 __data_start__ = .;
mbed_official 74:9322579e4309 83 _sdata = .;
mbed_official 74:9322579e4309 84 *(vtable)
mbed_official 74:9322579e4309 85 *(.data*)
mbed_official 74:9322579e4309 86
mbed_official 74:9322579e4309 87 . = ALIGN(4);
mbed_official 74:9322579e4309 88 /* preinit data */
mbed_official 74:9322579e4309 89 PROVIDE_HIDDEN (__preinit_array_start = .);
mbed_official 74:9322579e4309 90 KEEP(*(.preinit_array))
mbed_official 74:9322579e4309 91 PROVIDE_HIDDEN (__preinit_array_end = .);
mbed_official 74:9322579e4309 92
mbed_official 74:9322579e4309 93 . = ALIGN(4);
mbed_official 74:9322579e4309 94 /* init data */
mbed_official 74:9322579e4309 95 PROVIDE_HIDDEN (__init_array_start = .);
mbed_official 74:9322579e4309 96 KEEP(*(SORT(.init_array.*)))
mbed_official 74:9322579e4309 97 KEEP(*(.init_array))
mbed_official 74:9322579e4309 98 PROVIDE_HIDDEN (__init_array_end = .);
mbed_official 74:9322579e4309 99
mbed_official 74:9322579e4309 100
mbed_official 74:9322579e4309 101 . = ALIGN(4);
mbed_official 74:9322579e4309 102 /* finit data */
mbed_official 74:9322579e4309 103 PROVIDE_HIDDEN (__fini_array_start = .);
mbed_official 74:9322579e4309 104 KEEP(*(SORT(.fini_array.*)))
mbed_official 74:9322579e4309 105 KEEP(*(.fini_array))
mbed_official 74:9322579e4309 106 PROVIDE_HIDDEN (__fini_array_end = .);
mbed_official 74:9322579e4309 107
mbed_official 74:9322579e4309 108 KEEP(*(.jcr*))
mbed_official 74:9322579e4309 109 . = ALIGN(4);
mbed_official 74:9322579e4309 110 /* All data end */
mbed_official 74:9322579e4309 111 __data_end__ = .;
mbed_official 74:9322579e4309 112 _edata = .;
mbed_official 74:9322579e4309 113
mbed_official 74:9322579e4309 114 } > RAM
mbed_official 74:9322579e4309 115
mbed_official 74:9322579e4309 116 .bss :
mbed_official 74:9322579e4309 117 {
mbed_official 74:9322579e4309 118 . = ALIGN(4);
mbed_official 74:9322579e4309 119 __bss_start__ = .;
mbed_official 74:9322579e4309 120 _sbss = .;
mbed_official 74:9322579e4309 121 *(.bss*)
mbed_official 74:9322579e4309 122 *(COMMON)
mbed_official 74:9322579e4309 123 . = ALIGN(4);
mbed_official 74:9322579e4309 124 __bss_end__ = .;
mbed_official 74:9322579e4309 125 _ebss = .;
mbed_official 74:9322579e4309 126 } > RAM
mbed_official 74:9322579e4309 127
mbed_official 74:9322579e4309 128 .heap (COPY):
mbed_official 74:9322579e4309 129 {
mbed_official 74:9322579e4309 130 __end__ = .;
mbed_official 74:9322579e4309 131 end = __end__;
mbed_official 74:9322579e4309 132 *(.heap*)
mbed_official 74:9322579e4309 133 __HeapLimit = .;
mbed_official 74:9322579e4309 134 } > RAM
mbed_official 74:9322579e4309 135
mbed_official 74:9322579e4309 136 /* .stack_dummy section doesn't contains any symbols. It is only
mbed_official 74:9322579e4309 137 * used for linker to calculate size of stack sections, and assign
mbed_official 74:9322579e4309 138 * values to stack symbols later */
mbed_official 74:9322579e4309 139 .stack_dummy (COPY):
mbed_official 74:9322579e4309 140 {
mbed_official 74:9322579e4309 141 *(.stack*)
mbed_official 74:9322579e4309 142 } > RAM
mbed_official 74:9322579e4309 143
mbed_official 74:9322579e4309 144 /* Set stack top to end of RAM, and stack limit move down by
mbed_official 74:9322579e4309 145 * size of stack_dummy section */
mbed_official 74:9322579e4309 146 __StackTop = ORIGIN(RAM) + LENGTH(RAM);
mbed_official 74:9322579e4309 147 _estack = __StackTop;
mbed_official 74:9322579e4309 148 __StackLimit = __StackTop - SIZEOF(.stack_dummy);
mbed_official 74:9322579e4309 149 PROVIDE(__stack = __StackTop);
mbed_official 74:9322579e4309 150
mbed_official 74:9322579e4309 151 /* Check if data + heap + stack exceeds RAM limit */
mbed_official 74:9322579e4309 152 ASSERT(__StackLimit >= __HeapLimit, "region RAM overflowed with stack")
mbed_official 74:9322579e4309 153 }