Commit Graph

282 Commits

Author SHA1 Message Date
pierre
d18627f0af * Update all fpcsrc Makefile's using latest fpcmake version 2017-09-21 rev 37286
git-svn-id: trunk@37462 -
2017-10-16 00:27:27 +00:00
Károly Balogh
04dee0fc04 regenerated Makefiles for m68k-macos target
git-svn-id: trunk@37034 -
2017-08-22 11:16:42 +00:00
pierre
5dec40d089 Add more CPU options to embedded/rtl.cfg
git-svn-id: trunk@36836 -
2017-08-04 13:38:07 +00:00
pierre
d7cdbcd71e m68k CPU also needs -SfSOFTFPU option
git-svn-id: trunk@36833 -
2017-08-04 13:09:37 +00:00
pierre
7966957ec9 Add configuration options for i8086 and m68k CPUs
git-svn-id: trunk@36832 -
2017-08-04 12:56:15 +00:00
florian
9e1dd6d9b5 * lpi version updated
git-svn-id: trunk@36735 -
2017-07-16 09:24:15 +00:00
nickysn
748428b637 + support the KOI8-R and KOI8-U Cyrillic encodings
git-svn-id: trunk@36445 -
2017-06-07 13:51:53 +00:00
nickysn
fce5fbd726 + added cp3021 (Bulgarian MIK) code page support
git-svn-id: trunk@36444 -
2017-06-07 13:19:20 +00:00
nickysn
396eebbfb5 + added support for iso8859-[3,4,6,7,8,9,10,11,13,14,15,16]
* charmap .txt files in rtl/ucmaps for iso8859-[1,2,5] also updated

git-svn-id: trunk@36425 -
2017-06-05 16:36:24 +00:00
nickysn
35be7348fb + added code pages 737, 775, 857, 860, 861, 862, 863, 864, 865 and 869
git-svn-id: trunk@36423 -
2017-06-05 14:25:15 +00:00
nickysn
ef25c33d69 + added cp855 to the implicit unit list in the rtl makefiles
git-svn-id: trunk@36421 -
2017-06-05 12:19:01 +00:00
florian
c79342030e * let the avrsim throw an exception if a program tries to execute code at address 0
git-svn-id: trunk@36311 -
2017-05-23 20:18:17 +00:00
florian
bfca9d3477 * avr I/O space is always shifted by 32 bytes in memory
git-svn-id: trunk@36064 -
2017-05-02 19:51:22 +00:00
pierre
17b2671213 Regenerate all Makefile's after changes related to FPCDIR checks
git-svn-id: trunk@35833 -
2017-04-18 14:15:47 +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
florian
8b3478617d * enable more feature on avr, as long as no pascal level file I/O is used, this does not hurt
git-svn-id: trunk@34975 -
2016-11-26 19:44:55 +00:00
florian
01e1e9410d + dummy heap status implementations
git-svn-id: trunk@34939 -
2016-11-20 18:31:03 +00:00
florian
cfb5ebeb23 * Find* subroutines return an error by default
git-svn-id: trunk@34933 -
2016-11-20 16:03:12 +00:00
florian
16fa079a2a * allocate always a minimum block size, else free list management causes memory corruption
git-svn-id: trunk@34930 -
2016-11-20 15:44:22 +00:00
florian
e218f4f33b * checking the address of the storage location of a procedure variable makes no sense, check the variable contents itself instead
git-svn-id: trunk@34922 -
2016-11-19 21:57:56 +00:00
florian
9a4c7e2244 * return defined values for GetDate and GetTime for the embedded targets
git-svn-id: trunk@34921 -
2016-11-19 21:55:40 +00:00
Jeppe Johansen
6a1c1e4f29 Added support for NRF52832 controllers.
git-svn-id: trunk@34170 -
2016-07-22 10:01:10 +00:00
nickysn
5306ee552b * regenerated makefiles with latest fpcmake
git-svn-id: trunk@34008 -
2016-06-18 01:00:45 +00:00
nickysn
c639bf3900 * fixed bug, caused by an incorrect order of ifdefs, which caused the system
unit of the embedded target to not compile on CPUs, not using the softfpu
  implementation

git-svn-id: trunk@34005 -
2016-06-18 00:22:20 +00:00
nickysn
73d0dae569 + added various things, needed for i8086 compilation to the system unit of the
embedded target

git-svn-id: trunk@34003 -
2016-06-17 22:31:38 +00:00
nickysn
a58dd988a4 * regenerate makefiles after the fpcmake update
git-svn-id: trunk@34002 -
2016-06-17 22:05:59 +00:00
florian
6f9d74b83e + define FPC_NO_DEFAULT_HEAP for the embedded target as well
git-svn-id: trunk@33694 -
2016-05-16 13:26:39 +00:00
marco
e7eb7d7415 * dummy executeprocess routines fix, by Michael Ring, fpc-devel list.
git-svn-id: trunk@33355 -
2016-03-27 19:27:48 +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
florian
dfd261f2d6 * embedded heap manager takes care of ReturnNilIfGrowHeapFails
git-svn-id: trunk@33070 -
2016-02-07 18:28:12 +00:00
florian
0695c92b73 * make Dos.GetMsCount a dummy for embedded targets
git-svn-id: trunk@33065 -
2016-02-07 11:16:39 +00:00
Jeppe Johansen
328b6464ed Add debug info to the CPU units by default, to be able to print register contents with GDB.
git-svn-id: trunk@33064 -
2016-02-06 20:16:45 +00:00
florian
026848b3e1 + use CPU_UNITS_DEFINED to track if a SUBARCH is passed, so with CPU_UNITS_DEFINED=1 it is easily possible to compile without any cpu units
git-svn-id: trunk@32833 -
2016-01-03 09:36:23 +00:00
Jeppe Johansen
f452d9140e Added missing reset vector
git-svn-id: trunk@32786 -
2015-12-29 11:07:20 +00:00
Jeppe Johansen
970f0064ea Downgrade build message from makefile from error to warning for arm-embedded. This makes it possible to build a working RTL with external startup code for subarchs with no cpu units.
git-svn-id: trunk@32750 -
2015-12-26 23:58:09 +00:00
florian
3b50d0b64e * patch by Bernd to fix interrupt handling for the ATtiny1634 and ATtiny167 controllers (use jmp instead of rjmp to jump to the handlers), resolves issue #29122
git-svn-id: trunk@32650 -
2015-12-13 10:44:43 +00:00
florian
7b9a257549 * complain no matching SUBARCH value is passed, issue #29177
git-svn-id: trunk@32649 -
2015-12-13 10:41:12 +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
5ec4d38231 Add support for ram-less AVR chips and simultanously optimize flash/ram size the initfinal calling sequence.
git-svn-id: trunk@32448 -
2015-11-22 00:37:10 +00:00
Jeppe Johansen
49f8d574db Save some space on ATTiny28 since it doesn't have any ram.
git-svn-id: trunk@32445 -
2015-11-21 19:33:42 +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
florian
70b8789262 o basic extended pascal support:
+ automatically loaded helper unit
  * Makefiles adapted
  * mode switch
  * mode switches reorganized
+ TimeStamp support

git-svn-id: trunk@32330 -
2015-11-15 15:13:36 +00:00
michael
fde42ca8ef * Type helpers, compatible to Delphi XE 8
git-svn-id: trunk@32262 -
2015-11-07 09:40:54 +00:00
nickysn
2e3cb70489 * regenerated makefiles after adding the win16 target
git-svn-id: trunk@31525 -
2015-09-05 11:02:54 +00:00
florian
d71a3d0533 * charset depends on the objpas unit
git-svn-id: trunk@31438 -
2015-08-28 18:49:02 +00:00
Jeppe Johansen
5a302dfabb Fix some addresses that were missing a zero in CortexM7 unit.
Change all .word directives to .long in stm32f7xx headers.

git-svn-id: trunk@31325 -
2015-08-15 12:23:08 +00:00
Jeppe Johansen
4e646cca60 Forgot to add Cortex-M7 unit to previous commit.
git-svn-id: trunk@31258 -
2015-07-31 22:25:08 +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
42ea874bb1 * avr version corrected for several controllers
git-svn-id: trunk@31237 -
2015-07-27 19:49:02 +00:00
florian
ab43e07320 * reduce code size after r31031
git-svn-id: trunk@31041 -
2015-06-13 17:00:32 +00:00
Jeppe Johansen
353682db67 Enable SUBARCH directive for avr-embedded target.
git-svn-id: trunk@31032 -
2015-06-13 12:40:31 +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
florian
e9ef6347d2 * ATmega16 support by Anton Kavalenka, resolves issue #28217
git-svn-id: trunk@30943 -
2015-05-31 15:55:39 +00:00
florian
6a26268793 * correct number of interrupt vectors
git-svn-id: trunk@30939 -
2015-05-30 18:01:38 +00:00
florian
cf552b2a0b + ATmeag168/ATmeag368 support
git-svn-id: trunk@30938 -
2015-05-30 18:01:14 +00:00
florian
0cd521fc8b + ATmega48/ATmega88 support
git-svn-id: trunk@30937 -
2015-05-30 17:55:49 +00:00
florian
e9d886cdfc * cleanup
git-svn-id: trunk@30931 -
2015-05-28 21:10:58 +00:00
florian
0f73675354 + ATtiny24/ATtiny44/ATtiny84 support
git-svn-id: trunk@30930 -
2015-05-28 21:10:39 +00:00
Jeppe Johansen
36dfe750d8 Added Freescale MK20D7 controller support.
git-svn-id: trunk@30925 -
2015-05-28 11:46:22 +00:00
Jonas Maebe
89418d23e5 * regenerated Makefiles with Linux/AArch64 support
git-svn-id: trunk@30891 -
2015-05-20 20:15:10 +00:00
florian
bbcc66ad15 * PASCALMAIN does not return, so we can jmp to it
git-svn-id: trunk@30770 -
2015-05-02 19:18:10 +00:00
florian
ca9ef3d209 * cometics
git-svn-id: trunk@30769 -
2015-05-02 19:16:49 +00:00
florian
f5edf77a05 + Atmega8 support
git-svn-id: trunk@30768 -
2015-05-02 18:18:00 +00:00
florian
8ee9550d22 + misising part of r30759 (commit of sysstrh.inc shouldn't have gone in r30759):
slightly modified patch by lelekx to implement plugable file routines for the embedded target, resolves issue #22918

git-svn-id: trunk@30764 -
2015-05-02 13:51:32 +00:00
florian
c2c87828e9 + slightly modified patch by lelekx to implement plugable file routines for the embedded target, resolves issue #22918
git-svn-id: trunk@30759 -
2015-05-02 08:03:18 +00:00
florian
500a2051ac * dependencies updated
git-svn-id: trunk@30755 -
2015-05-01 16:36:22 +00:00
florian
8de58f5db2 * use heapmgr to make more test programs work with avrsim
git-svn-id: trunk@30753 -
2015-05-01 16:33:11 +00:00
florian
b8198963f3 * use modeswitch result instead of mode objpas, so the objpas unit is not pulled in
git-svn-id: trunk@30752 -
2015-05-01 16:31:07 +00:00
florian
7b48232d71 * moved common code to a separate include file
git-svn-id: trunk@30664 -
2015-04-19 12:53:06 +00:00
florian
2ecadc065e * noreturn directive
git-svn-id: trunk@30663 -
2015-04-19 12:52:21 +00:00
florian
07cba31a0a * cosmetics
git-svn-id: trunk@30631 -
2015-04-17 20:12:57 +00:00
florian
77bc87a809 * do not compile consoleio in objpas mode to avoid dependency on the objpas unit, resolves also #27856
git-svn-id: trunk@30607 -
2015-04-15 19:45:34 +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
bae4d89913 - avrsim needs no separate rule
git-svn-id: trunk@30598 -
2015-04-14 21:19:08 +00:00
florian
886e3e8d02 * disable several complex procedures for avr with a newly introduced define: EXCLUDE_COMPLEX_PROCS. They
might compile with an improved register allocator in the future

git-svn-id: trunk@30546 -
2015-04-11 14:43:39 +00:00
florian
a01a010824 * disable lineinfo unit for avr for now
git-svn-id: trunk@30440 -
2015-04-05 19:08:33 +00:00
florian
07aa519e1c * add console output support to avrsim controller unit
git-svn-id: trunk@30388 -
2015-03-29 21:48:42 +00:00
florian
1b9105e8c3 * make 3.82 fixes
* disable getopts for avr-embedded

git-svn-id: trunk@30386 -
2015-03-29 21:41:00 +00:00
florian
dfd4d3656b + avrsim controller target requiring a special avr simulator with a certain memory location handling, see avrsim.pp controller helper unit for what it is needed
git-svn-id: trunk@30385 -
2015-03-29 21:13:36 +00:00
florian
e4b8478da4 * fix building of avr-embedded rtl
* make 3.82 related fixes

git-svn-id: trunk@30379 -
2015-03-29 19:45:07 +00:00
Jeppe Johansen
f7526d0d36 Add classes and stub thread support in the embedded rtl.
git-svn-id: trunk@30274 -
2015-03-22 13:55:20 +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
Jonas Maebe
fa328436ab * regenerated for iphonesim/x86-64
git-svn-id: trunk@29974 -
2015-02-23 22:56:41 +00:00
Jonas Maebe
3d01d4ceb1 * regenerated with Darwin/AArch64 support
git-svn-id: trunk@29950 -
2015-02-23 22:54:53 +00:00
Jeppe Johansen
1aeb07c835 Fixed more small bugs in the embedded heapmgr. Some changes copied from tinyheap.
git-svn-id: trunk@29612 -
2015-02-03 19:37:29 +00:00
Jeppe Johansen
85c5e7330a Make HeapMgr.GetAlignedMem public. This function is useful for embedded targets where alignment > 32(or sizeof(pointer)) bytes is required.
Fix RegisterHeapBlock. Calling FreeMem requires the heap manager to be installed, plus it requires the size of the segment to be stored in front of the pointer. Instead use InternalFreeMem

git-svn-id: trunk@29611 -
2015-02-03 00:24:51 +00:00
Jeppe Johansen
7a826cc481 Fix compilation of i386-embedded target.
git-svn-id: trunk@29610 -
2015-02-03 00:22:51 +00:00
marco
d407b668d1 * version updated to 3.1.1
git-svn-id: trunk@29399 -
2015-01-04 21:09:04 +00:00
sergei
3a5e6485b5 - RTL: removed InitVariantManager, it was an empty procedure since day 1.
git-svn-id: trunk@29114 -
2014-11-22 20:35:46 +00:00
Jeppe Johansen
e012b4fa23 Inline calls to FindSize which removes a lot of unnecessary calls.
git-svn-id: trunk@28735 -
2014-10-04 11:05:25 +00:00
sergei
f85a8159ef * compiler/mips/cpuinfo.pas: removed "FPU_" prefixes from FPU names, not necessary because compiler inserts one itself.
* rtl/embedded/system.pp: removed (commented out) FPU initialization from initialization of system unit, was dead code anyway because FPC_HAS_FEATURE_FPU is never defined and "feature FPU" does not exist.
* rtl/mips/*.inc: don't compile FPU instructions if compiling RTL with -CfNONE or -CfSOFT (however, handling these switches for MIPS targets in compiler needs further fixing).

git-svn-id: trunk@28670 -
2014-09-15 18:24:23 +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
pierre
3d34a8a3b0 Makefiles updated with fpcmake rev 27428
git-svn-id: trunk@27508 -
2014-04-10 09:58:17 +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
sergei
9801288cdc * Removed SysInitFPU/SysResetFPU from (remaining) system units initialization code. It is redundant there because it is called from fpc_cpuinit, or, in case of i386, from fpc_cpucodeinit.
* It fixes regression of tw16283b after r27169. 
* BeOS, Haiku: added fpc_cpucodeinit to compensate for removal of SysInitFPU, it also enables use of CPU features like SSE.

git-svn-id: trunk@27171 -
2014-03-17 10:53:52 +00:00
Jeppe Johansen
bda6bf8137 Fix compilation of ARM-embedded RTL
git-svn-id: trunk@27115 -
2014-03-12 16:40:04 +00:00
Jeppe Johansen
10522e9779 Disabled a_adjust_sp optimized steps for now.
Integrated proper stack frame calculation.
Changed rjmp to jmp in ATMEGA128 interrupt vectors.

git-svn-id: trunk@26964 -
2014-03-05 19:17:46 +00:00
Jeppe Johansen
98606eea15 Fixed some bugs in the AVR RTL code.
Changed atmega code to use weak linking for interrupt handlers.

git-svn-id: trunk@26945 -
2014-03-04 08:03:27 +00:00