aboutsummaryrefslogtreecommitdiffstats
path: root/support/ld
Commit message (Collapse)AuthorAgeFilesLines
* Make vector table symbols family-specific during linking.Marti Bolivar2011-11-152-4/+7
| | | | | | | | | | | | | | | | | - support/make/target-config.mk: add LD_FAMILY_PATH, the directory to search for STM32 family-specific link configuration files. For now, this is just a stub which points to support/ld/stm32/f1/performance, since that's all we currently support. We can add the logic to support different STM32 families here later. - Makefile: Pass -L $(LD_FAMILY_PATH) to linker. - Rename support/ld/names.inc to support/ld/stm32/f1/performance/vector_symbols.inc. - common.inc: INCLUDE vector_symbols.inc instead of names.inc. Signed-off-by: Marti Bolivar <mbolivar@leaflabs.com>
* Add support for the Olimex STM32 H103 board.David Kiliani2011-09-271-0/+1
| | | | | | | | Pin layout and header files for the STM32 H103 prototype board from Olimex featuring an STM32F103RBT6 chip. This commit contains all necessary changes to compile with BOARD=olimex_stm32_h103. Signed-off-by: David Kiliani <mail@davidkiliani.de>
* [support/ld] Unify linker scripts.Marti Bolivar2011-09-1315-248/+89
| | | | | | | | | | | | | | | | Add new common.inc, which is common_rom.inc with some DEFINED(_FLASH_BUILD) usages thrown in to allow for RAM builds. It also uses a new REGION_RODATA region alias for read-only data. Move section .USER_FLASH to REGION_RODATA. This means it lives in RAM under RAM builds. Although this might be surprising, not doing so would make RAM builds useless. Modify the individual board linker scripts to properly set REGION_RODATA and _FLASH_BUILD before calling out to common.inc. Delete common_rom.inc, common_ram.inc, common_header.inc, in favor of common.inc. This should fix RAM builds on all boards.
* [support/ld] Put Maple Native's heap on external SRAM chip.Marti Bolivar2011-09-123-0/+12
| | | | | | Specify _lm_heap_start and _lm_heap_end in Maple Native's linker scripts to point respectively to beginning and end of FSMC-mapped external SRAM chip addresses.
* [support/ld] Add linker support for reconfigurable heap.Marti Bolivar2011-09-122-2/+16
| | | | | | | | | | | | | | | - common_header.inc: Declare EXTERN symbols _lm_heap_start and _lm_heap_end. - common_rom.inc: Check for _lm_heap_start and _lm_heap_end. If they are defined, preserve their values. Otherwise, _lm_heap_start is starts after .bss, and _lm_heap_end is the end of SRAM. This allows existing linker scripts to continue using the old heap scheme, but allows for customizability elsewhere. - syscalls.c: Respect the addresses of _lm_heap_start and _lm_heap_end as the boundaries of the heap in _sbrk().
* common_rom.inc: More comments.Marti Bolivar2011-09-121-8/+20
| | | | Explain what's going on so unfamiliar readers have more hope.
* common_rom.inc: Eliminate apparently useless sections.Marti Bolivar2011-09-091-8/+0
|
* [support/ld] Rename vector table section.Marti Bolivar2011-09-094-5/+2
|
* Linker scripts: Remove useless junk.Marti Bolivar2011-09-092-16/+1
|
* Linker scripts: Rename section targets.Marti Bolivar2011-09-092-14/+5
| | | | | | Use region aliases in common_ram.inc, common_rom.inc. These are provided by the individual board scripts which include these. Note that the aliases have horrible names. We'll need to fix that up.
* Linker scripts: Indent common_ram.inc, common_rom.inc.Marti Bolivar2011-09-092-148/+149
|
* Tidy up linker scripts.Marti Bolivar2011-09-0712-27/+19
| | | | Comment/whitespace changes only.
* [support/ld] Factor out header from common_rom.inc, common_ram.inc.Marti Bolivar2011-09-073-73/+48
| | | | | | | The linker scripts share an initial section. Factor this out into a new file common_header.inc, and have the main linker scripts include this file. Apart from eliminating a redundancy, this will make it easier to add new linker scripts in the future.
* DMA: Fix non-working DMA interrupts.Marti Bolivar2011-06-201-7/+7
| | | | | | | | | | | | | | | | | | | | | | libmaple/dma.c defines DMA interrupts __irq_dma_channel[1-7], consistent with what is specified by support/ld/names.inc. However, names.inc is inconsistent with what support/ld/libcs3_stm32_src/ expects. Specifically, it contradicts the files - support/ld/libcs3_stm32_src/stm32_isrs.S - support/ld/libcs3_stm32_src/stm32_vector_table.S Which use the names __irq_dma1_channel[1-7]. Change names.inc and dma.c to use the correct IRQ names. The original names.inc/libcs3_stm32_src inconsistency was introduced in 43d6921658cd29b8022af4424d340a90fbcb9a7f, but dma.c had the correct names until ec3cf2903f4b03bc1dae5e159495c9e5ef0938ca, where they were renamed for consistency with names.inc. At that point, DMA interrupts stopped working. (This was documented in the commit message). Thanks to forum user robodude666 for tracking this down.
* Converting all files to UNIX newlines.Marti Bolivar2011-05-1015-752/+752
| | | | | | | Committing the results of running the following on the libmaple root directory: $ fromdos `grep --exclude-dir='[.]git' -Ilsr $'\r$' .`
* Maple RET6 edition supportMarti Bolivar2011-03-164-1/+53
|
* support: linker: Fix high density vector tablePerry Hung2011-03-152-17/+17
| | | | | | | Entries for high-density interrupt vectors were incorrectly declared to be .weak instead of .long. Thanks redfox74!
* Refactor linker scripts. Rename irq and exception handlers.Perry Hung2011-02-2722-1817/+1102
| | | | | Add common linker scripts for ram and rom. Add medium and high density libraries for libcs3.
* Function examples/test-session.cpp on NativeMarti Bolivar2011-02-102-3/+3
|
* maple mini runs blinky now.Marti Bolivar2010-10-223-0/+617
| | | | still need usb descriptors to improve, and also nothing else is tested.
* Fix maple linker memory map for jtag targetPerry Hung2010-09-161-2/+2
|
* board-specifc linker scriptsbnewbold2010-09-026-12/+617
|
* Portability fixesbnewbold2010-08-313-3/+15
| | | | Still not working but fixed a lot of merge errors
* Merge maple-native changes into portablebnewbold2010-08-313-3/+3
|\ | | | | | | This compiles for both maple and maple_native but is untested.
| * added libm.a to linker scripts to fix sqrt() bugbnewbold2010-08-193-3/+3
| | | | | | | | | | | | Fixes a bug noted by several users when using math functions like cos(), sqrt(), etc in the Maple IDE. This bug did not seem to affect Makefile compiles.
* | partial progress on FSMC for SRAMbnewbold2010-08-052-3/+3
| |
* | Some refactoringbnewbold2010-08-052-4/+4
|/
* fix botched merge from linker-refactorPerry Hung2010-05-287-0/+678