Commit Graph

76 Commits

Author SHA1 Message Date
florian
729425447f + Xtensa: basic operations for Xtensa implemented
git-svn-id: trunk@44324 -
2020-03-21 12:49:46 +00:00
florian
9e40d536cb + Xtensa: initial skeleton completed
+ xtensa-embedded support in the compiler

git-svn-id: trunk@44318 -
2020-03-20 22:34:33 +00:00
florian
36058ca4d4 * based on a patch by Christo Crause: more compiler fixes for avrtiny, resolves #36646
git-svn-id: trunk@44103 -
2020-02-02 20:35:29 +00:00
florian
670c61e760 * patch by Christo Crause: support for megaAVR 0 and tinyAVR 0/1, #36616, part 1/3
git-svn-id: trunk@44036 -
2020-01-26 14:35:26 +00:00
florian
7b4292c94e * patch by Robert Roland to support the RaspberryPi 2 as a bare metal embedded target, resolves #35236
git-svn-id: trunk@44027 -
2020-01-23 21:14:49 +00:00
Jeppe Johansen
2678522db5 - RISC-V: Add controller types for common RV32 MCUs.
- Adds initial controller units for these MCUs.

Code contributed by Michael Ring

git-svn-id: trunk@43935 -
2020-01-13 22:54:26 +00:00
florian
9926eb8dc6 * patch by Christo Crause: Passing a file name with extension to cross compiler
with -o causes error, fixed, resolves #36562

git-svn-id: trunk@43921 -
2020-01-12 20:57:52 +00:00
Jeppe Johansen
89a961f960 * Add support for generating map files for embedded target.
git-svn-id: trunk@43866 -
2020-01-05 17:00:50 +00:00
Jeppe Johansen
a1a17447ff - Fix bug in 64bit softfloat double negation.
- Clean up handling of CPU/FPU type handling in RISCV.
- Do more fixes to get RISCV32 working.
- Fix most soft multiplication handling for generic RISCV code. Still missing a few.
- Add RISCV embedded targets.

git-svn-id: trunk@42335 -
2019-07-07 11:32:27 +00:00
Jonas Maebe
281b3ad276 * fix case completeness and unreachable code warnings in compiler that would
be introduced by the next commit

git-svn-id: trunk@42046 -
2019-05-12 14:29:03 +00:00
florian
e3546cf5af * properly quote pathes for objcopy calls, resolves #35072
git-svn-id: trunk@41324 -
2019-02-15 18:57:20 +00:00
florian
e7c4fccf41 * patch by Simon Ameis: adds mcu STM32F091* to compiler unit t_embed.pas; thus internal error 200902011 is not raised anymore, resolves #34570
git-svn-id: trunk@40742 -
2019-01-01 23:16:07 +00:00
Jeppe Johansen
3e2be29030 Make sure to align at the end of the .text, in case .data bytes will be placed there in flash.
git-svn-id: trunk@39442 -
2018-07-12 18:52:19 +00:00
Károly Balogh
e6aed467b5 renamed script unit to cscript to avoid namespace conflict with univint package on Darwin. this makes it possible to build the textmode IDE on Darwin
git-svn-id: trunk@37598 -
2017-11-17 11:27:19 +00:00
Károly Balogh
a4b096e9da m68k: added the embedded target
git-svn-id: trunk@35589 -
2017-03-15 13:37:56 +00:00
Jeppe Johansen
7e75457a3e Added more Nordic Semi controllers. Created a new unit for NRF52x controllers with a more precise register naming following Nordic SDK conventions.
Patch from Paul Mitchell.

git-svn-id: trunk@35274 -
2017-01-10 20:30:20 +00:00
Jeppe Johansen
6a1c1e4f29 Added support for NRF52832 controllers.
git-svn-id: trunk@34170 -
2016-07-22 10:01:10 +00:00
nickysn
c2305809dc + added an i8086-embedded target support to the compiler (RTL and makefile
support are not done yet)

git-svn-id: trunk@33999 -
2016-06-17 19:15:24 +00:00
Jeppe Johansen
681b06bc90 Fixed more linkerscript errors.
git-svn-id: trunk@33306 -
2016-03-21 08:19:45 +00:00
Jeppe Johansen
632de58a5e Fixes #29853
git-svn-id: trunk@33267 -
2016-03-18 10:51:46 +00:00
Jeppe Johansen
1c0c944311 Added x86_64-embedded target. Patch from Benjamin Rosseaux
git-svn-id: trunk@33097 -
2016-02-14 10:57:00 +00:00
Jeppe Johansen
4b1eb0e4f3 Applied patch from Michael Ring fixing the startup code for Freescale microcontrollers.
git-svn-id: trunk@32568 -
2015-12-02 18:44:20 +00:00
Jeppe Johansen
f5eaf7ddde Fix stack pointer offset.
git-svn-id: trunk@32499 -
2015-11-22 20:51:54 +00:00
Jeppe Johansen
9aa3c23b18 Added a bunch of new and fixed embedded controller units. From Michael Ring.
git-svn-id: trunk@32386 -
2015-11-21 10:30:49 +00:00
yury
11a9ff4a43 * Removed unused vars for mipsel compiler.
git-svn-id: trunk@31745 -
2015-09-17 15:46:30 +00:00
Jeppe Johansen
2b80d46492 Added STM32F7xx controller units and types.
git-svn-id: trunk@31257 -
2015-07-31 22:21:16 +00:00
Jeppe Johansen
55669f62b1 Added most AVR controllers.
Made absolutevarsym use PUint instead of AWord for its offset to fix range errors.

git-svn-id: trunk@31242 -
2015-07-29 21:01:21 +00:00
florian
4d3552943d * correctly write OUTPUT_ARCH to the linker script, resolves issue #28395
git-svn-id: trunk@31236 -
2015-07-27 19:49:00 +00:00
Jeppe Johansen
ab9c8bb569 Fixed startup assembler code for the case where there's no data in .bss and/or in .data.
Fixed _stack_top symbol calculation so it works for all controllers.
Added ATTINY2313 controller.

git-svn-id: trunk@31031 -
2015-06-13 12:30:50 +00:00
Jeppe Johansen
db6093023b Fixed initialization code for MK20D7 controllers.
Added flash configuration section to RTL and linker script.

git-svn-id: trunk@30972 -
2015-06-02 22:59:03 +00:00
Jeppe Johansen
36dfe750d8 Added Freescale MK20D7 controller support.
git-svn-id: trunk@30925 -
2015-05-28 11:46:22 +00:00
Jeppe Johansen
65a69129c5 Add initial support for STM32F429 core
git-svn-id: trunk@30599 -
2015-04-14 21:55:37 +00:00
florian
1f93c3aaa1 * get memory sizes on avr-embedded from controller info records
git-svn-id: trunk@30387 -
2015-03-29 21:41:52 +00:00
Jeppe Johansen
d12b913e70 Add initial support in ARM-embedded for Allwinner A20.
git-svn-id: trunk@30144 -
2015-03-08 12:22:57 +00:00
Jeppe Johansen
7a826cc481 Fix compilation of i386-embedded target.
git-svn-id: trunk@29610 -
2015-02-03 00:22:51 +00:00
Jeppe Johansen
0dc39b5d63 Applied patch from Michael Ring that adds some startup code for some new stm32f0 and stm32f1 controllers, and fixes naming on some LPC ARMv6m controllers.
git-svn-id: trunk@28009 -
2014-06-20 06:49:04 +00:00
florian
b2b26f84cf * partially merged the mips-embedded branch of Michael Ring:
- startup code/controller units are not merged yet
  - assembler call does not pass the needed CPU type yet

git-svn-id: trunk@27188 -
2014-03-19 21:25:38 +00:00
Jeppe Johansen
e33550b67d Added support for X,Y,and Z register aliases plus low/high forms, and post-incrementation in AVR assembler reader.
Cleaned up parameter and funcretloc information generation in AVR paramanger, and made it closer to GCC's calling convention.
Fixed a number of codegenerator bugs generating invalid or broken instructions: CP operands were swapped, a number of instructions had immediate operands, and stack frame epilogue wasn't complete.
Added a bunch of peephole optimizations that clears the generated code up a lot.

git-svn-id: trunk@26925 -
2014-03-02 15:37:24 +00:00
florian
de2e4632c5 * if a build-id is generated, put it into flash
git-svn-id: trunk@25853 -
2013-10-26 14:19:14 +00:00
Jonas Maebe
40eafc3d82 * don't try to post-process embedded executables when linking is
disabled

git-svn-id: trunk@25851 -
2013-10-26 10:01:05 +00:00
sergei
38058505ba * Changed linking infrastructure to look like assembler one:
* Changed direct references to linker classes in TSystemInfo records to enumerated ids.
  * RegisterExtennalLinker and RegisterInternalLinker procedures replaced by single RegisterLinker procedure and moved to link.pas.
  - TAbstractLinker is no longer necessary, removed.

This change allows to register linker once per id, rather than once per target, and also allows TSystemInfo records to be read-only.

git-svn-id: trunk@25279 -
2013-08-18 12:01:21 +00:00
florian
0e9b8adb7a patch by Michael Ring:
+ support of several armv6m MCUs for arm-embedded
* renamed lpc1343 unit to lpc13xx
+ more lpc13xx MCUs added

git-svn-id: trunk@24379 -
2013-04-29 19:57:08 +00:00
florian
c2baf7b4c0 Merge r23058
git-svn-id: trunk@23776 -
2013-03-10 16:37:57 +00:00
florian
086ae4b999 Merge r22905 and r22906
git-svn-id: trunk@23773 -
2013-03-10 10:45:34 +00:00
florian
21c154d60a Merged r22903
git-svn-id: trunk@23757 -
2013-03-09 20:56:07 +00:00
florian
2281a63116 + write a build-id section for arm-embedded
git-svn-id: trunk@23626 -
2013-02-17 18:56:49 +00:00
florian
bcd48ac1a1 + patch by Justin Smyth to support the lpc1343, resolves #23844
git-svn-id: trunk@23620 -
2013-02-14 20:38:53 +00:00
Jeppe Johansen
3ee29eb219 Fixed ARMv7-EM code generation and RTL compilation
Added LM4F120H5 controller type and startup code

git-svn-id: branches/laksen/arm-embedded@22903 -
2012-11-01 17:25:01 +00:00
Jeppe Johansen
14879a9e82 Added all STM32F1 configurations
git-svn-id: branches/laksen/arm-embedded@22599 -
2012-10-09 06:58:58 +00:00
Jonas Maebe
c27f9da1b2 * always surround ld link.res SEARCH_DIR() arguments with double quotes,
rather than with single/double quotes depending on the target platform
    (ld only supports double quotes), and rather than only quoting when
    necessary (wastes time since quotes are always allowed, and double
    quotes inside a directory name cannot be escaped for ld; they are
    simply not supported by the program) (mantis #22059, follow-up to
    r21069 and r21208)

git-svn-id: trunk@21343 -
2012-05-20 13:30:51 +00:00