Description: various embedded targets
This file as text.
(active) Revisions in this set:
3a52fdf997f14b935f95b057925f1234a51dc629,c24d525b9f1f1cd221c2f5e73b5fb6f147b2224c,799ea31a5f228ca212c94de2284d7910f3592e4b
83a6efd75995f6da1f5993a608550ef4ae12b1b9,28c0a47a953a21813de4ef29172d0257641de238,5fa7bbfb9be0ba2b9c0b1d434c985daaba887c93
e34a7596596e71081050fad9fa6ea77f55606930,314b8999aa9e96440feefa15167f235a00f61267,d7623be563119810e3182b78e08d2c6a9a6809f0
702e63e59f821d2dbbdc2ca9ac21ef4846959fdf,b4ff93c9fed1d9a54bf4a58f9f24b42779488589,2d3cd25fd8d614ba0d95c490371be52f8fe7fccc
7dfefcb1f6cc31063342cd5e5040f758d2b68b0b,f202249711646b4b836cfac5a0e3e95af0bef917,fa052f76ee041de1d3978cfa6b2a617af18d8ded
c20641545042b195962241c5683e89d0980e992b,59b90c24ed385555cb8e42b1fa98f105ff9c1d8a,594138141af83d43148e8449d1ed8a876dc0d536
e60ab7148d010bda30aad8d5e6c9591b5c322ae6,ba8cddb546484c10b7513ecf36e22e8cc1ba5591,ac5093274d32b75bce4cd955862a1a5ea52d3056
4a78b7e0730278224eb7204c5e94ee557a484e4d,de08108b27a2df1bcc945ece1b86292d90874c1d,58eca57feb4528a423fe0406ba0bb4c838c230cb
1ae70c68258dc9c4c85650adea494c8aecb2a3c3,59379ab02b290b3dbd6ab457a68db0a0b099d125,7337515137f87d3ce7e35622250a4d68e2aa37cc
546a679f4e0114246f934e9d638dd84f64fd9d73,107a2e4e854adae9b198c52faf8d461eee253cf9,66e682dfdd0d61ff6ed172e40df4fbaa8d10e0d8
7e8a50452b06928db65533720819a259caa877ef,1ad31dd32d342622dc7b63a28facc251a58ce5e3,8a36e63a56821d703a543085ddd8b5de42cdca68
11b601d44cfbcb80f32c6d83c90e678dbabcf711,c73c98d995bb251f0d9b504eb638e6f2d7b5deb2,03b147eef8abda8567224e3c91f4c17afef584ec
836a932b9ab9a993bf4c88db06d08e037bec2453,3c6c403b7b8b289f64fbb909539e6b4c71e75319,2dcb31efcea8273af940376a91f35bf8639bc722
1cbdc9cc9aadd23470954741b89771f417014e35,37f1d085104ede10a8118595679d8fce7db34c94,882ab946ed9db7e860e6eedc3b1659fa1bd276ab
c4dd3b661a6c7a91b75e4f6d834702092dad6a40,1a0ba60de6d14f019d6b3fec2126037047bf7211,da468719df559b3d0e0e0561fc8537de10a5ce2e
3362abb30c9eee50eab4181333c3a99b866c8633,12139483933b35388a7fcae02c28a4572174e0f3,29b071241818cc4e75ada65bd7eb6fbd08df323e
d12dd1bdae222b6a7e30c46ed31d5428e1c516a6,2e086a25703995d5f636025fd9d478988c261104,4e159b3d455d51054b400595723f80c76998327e
c19355198034141ea35c2e75cc148052e677618b,1c13db554cb9f11246951089bef3647f760ab2f4,2a8c2c4382222c3a7be8eaee74153ee40ca8c8fe
1c9280de560b65d02f03a4f1ee22df37a45084f9,de97010011d3658208c86c26a044af971add34f6,7d13e5c70d3a1cbcc76beca639b3b5a5b7ee778e
1dd23696e308e31d1f11672b62ec297bc7a91bfd,ab1a31d9acd6603bd7173f3d73853171013bbb71,e5ac0b26891f1d5934e8023204f6574195a709cb
9e70f49745836204da6e132ae0822e832a521261,1108d0360917223aa243e3ac0419499ec67803c2,7559c7520155c501652056011ae188079ff6e76e
3ec4c5ffcb728ca057deb8065ae3c3ee9176cdd7,2d6534ddb0c199f730ce06a0d4c6a667778475af,e8b3f2dba39b83f3f869d47745fad28488b08aea
c21838cd315465c90572544fc2d544980d5d6c71,96c83e7f39d2f02d5ab26a18fc5031e22c6e139e,78374bf772a15c8903240d4be5b484c7c44ed095
2ad22a3f32243337754a8080dc74c786232984ab,be99dea38bdffe725f38afaa56f1a5faf7cbc238,b30256ad6be6ccbf3a303450c2cc15e0ead643b6
31c225f6b5e88cc2da1662712b87dbe75114532d,6f3582954c716047f6126a1389a4951f8ec902cd,645e2963456296199a51c66312ba33785cb473f9
f3003f1bb5474f1958c3571c3d619559c20d3236,2d42040b1d9f4688542250abee954ac8b6746163,5930ffa135642726faf3d38a7e35ef5ebd2d1f1f
594090b2157717710c8520272a555637aadef96f,ab3b7f8f69bad57e6ff9e664ac60f326d390bb6d,3ee20b2c9761f0f47ded87c838db018f7bbac786
f4828950a2393d2466c5832f7742c4a8501daa9a,cba5e252d110a9f0a7c76ce851f8bf465c8d8ef9,7dac620e2dacb09db273e9164ad35c15468f7da4
424d3606d4123c068048144f4b3ac57a0216a70a,10d740298d54b90f5dcfdfcf8db6af3250b5f5b5,ceb4d6fe8f4ffc4ccac5e1e49e5f0c546a488066
37b7835b12bfec0382b308575ea4742223c01cc6,9d10123b0deb6214d2a16b7f6be098484ae49a0b,b9a198b1a8a1ad6cf66e788bbaf43eb8961e9c4b
546c3093f7dcf4953f4d48c0d60c23286eefff29,16f9ab3bdb11659a2ef1d15ed704cfccb17f7b10,f1251160db880c5e0ce2c992df469c586cf0211e
7774e3c736158edefd0cb43a20a88afa4552ab7d,bc4842d19b3e42ae27c505d2d4d6f79bbf4cd8ac,cc1966bfb1aa57cb2505c1aef1a732be93a7ef88
7a1aa47ec5f964ff515b4416483956876cf6a212,4753dfecebcc523b2c9af5fa10da45fc0cec49da,101d129d91af700e4bfb44996863dbd4a3c5d61d
18e3f4a11c6dd6c9d80a74f93ae64129c90eda1f
Clicking a revision will expand files
Add FPC_SYSTEM_EXIT_NO_RETURN macro for embedded target
* compilation fixes for many platforms after
0041167
* AVR: due to recent fixes, EXCLUDE_COMPLEX_PROCS is not needed anymore
+ Xtensa: completed rtl skeleton
esp8266: Make startup code compile.
+ Xtensa: mathu.inc using only the softfloat unit provided mechanisms
+ Xtensa: add linklib statements, better _halt procedure
* FreeRTOS: do not try to build native utils
* build more units for FreeRTOS
* patch by Michael Ring: adds license headers to th FreeRTOS files and some renames to make the interrupts cmsis compatible.
* Xtensa: fpc_setjmp dummy
+ implemented get_caller_addr and get_caller_frame for the Z80
+ added empty strings.inc and stringss.inc files
zxspectrum: pascal startup code. this allows the RTL to be built with any assembler
+ initialize StackBottom and StackLength in the startup of the ZX Spectrum system unit
zxspectrum: in the pascal startup code, match start symbol name with the asm startup code
* fixed compilation with sdld
+ add support for port object on Z80 using the new IN/OUT intrinsics
* fixed stack initialization in the ZX Spectrum startup code
+ clear the .bss section on startup in the ZX Spectrum RTL
* patch by Christo Crause: embedded heap manager: free small blocks, resolves
0037204
* switch to interrupt mode 2 and install a custom maskable interrupt handler in
the ZX Spectrum startup code, because the ROM handler requires the IY register
to always have a specific value, but the FPC code generator uses the IY
register for various purposes, which causes random crashes and glitches when
the timer interrupt occurs.
Add softfpu feature for z80 cpu
+ patch by Christo Crause: ESP8266 controller unit for freertos, resolves
0037336
Add -SfPROCESSES for arm cpu, to be able to compile fcl-base package as for xtensa
- remove local Random() implementations that weren't exported anyway (LongInt <> Integer inside the System unit)
* Xtensa: patch by Christo Crause: add support for windowed ABI stack dump, resolves
0037583
* StackTop must be OS specific (and not CPU specific)
* reduce number of default libs
+ initial implementation of setjmp/longjmp
* TThread.Terminate does not have any platform specific behavior (it should only set FTerminated to true and call TerminatedSet), thus move it to the platform independant part
Notes:
- Netware had a ThreadSwitch in there, but that is not really required
- some platform were missing the setting of FTerminated to True, thus they'll now do that as well
* Xtensa FreeRTOS: unified haltproc
Move z80 specific -Sf options from rtl.cfg to system.cfg, as -Sf options are only accepted when compiliing system unit
* Xtensa-FreeRTOS: use setjmp/longjmp provided by the Xtensa libraries, we
have to link against them anyways
+ dummy implementation for FreeRTOS threading support
* enable initialization of exceptions and threading on FreeRTOS
Fix problems in xtensa fpc_setjmp/fpc_longjmp for linux
z80-zxspectrum: delete and remove the prt0.asm file. it's not used any more, as it doesn't contain the interrupt code required for stable operation of the target, and this removes sdasz80 dependency from the RTL build process, if another assembler is used by the compiler
* rtl: implement TRandomGenerator for thread-safe random
* revert
0047598: implement TRandomGenerator
* patch by Christo Crause to take care of the fact that the esp8266 read function is non-blocking, resolves
0038243
* Set softfloat_rounding_mode indise SetRoundMode function for all CPUs.
* SetRoundMode returns previous rounding mode value for all CPUs.
* (modified) patch by Michael Ring to enable the FPU on Cortex-M4F if available
* patch by Michael Ring to fix errors introduced by
0048722
* CortexM4: Add some missing system registers
+ skeleton of an embedded thread manager
* set no result in NoBeginThread, it never returns
* HaltProc does not return
* patch by Christo Crause: Xtensa [patch] Use syscall 0 to spill registers on ESP32, resolves
0039221
Add wasm32 CPU handling in embedded target
Add libraries required to link simple example with esp8266-rtos-sdk v3.3
* embedded: cleanup of the dummy DOS unit. remove the stubs for platform-specific helpers, cleanup tabs/spaces, cleanup the copyright-message mess
* enable random on avr, it does not increase program size if not used
* anonymous method overloads for synchronize/queue.
* fix missing ifdef for the non win32/64/unix targets.
* also do watcom.
Split startup code into different .init sections according to avr-libs convention.
* Synchronize API for AnsiString/Unicode string, keep string where possible.
* library list for esp32c3 for IDF 5.0
Change m68k-embedded target to handle standard RTL units as most other CPUs do (fixes compilation failure in utils/h2pas package)
Use same features for riscv32 as for arm and xtensa CPUs
Remove fpcmake.loc added by accident
Call rtl_do_close handler in sysfile.do_close, as reported by Kostas Michalopoulos
* Add delphi-compatible observers to classes
* Do not use namespace prefix for lnfodwarf
Disable THREADING on embedded aarch64
With THREADING enabled, you get a NoThreadError at startup
when using the classes unit.
Add efuse library to default list of static link libraries.
Fix missing configuration for namespaces to make rp2040.pp build on main compiler
embedded, arm, stm32: Fix CAN register definition
- bxCAN controller only has 2 RX mailboxes.
The registers behind were misplaced.
Refer to RM0008 section 24.9.3 and 24.9.4
Simplify required link libraries and move libc, libm and libgcc to end.
* Added nothreads unit for fake thread support. Currently only WASI
Add esp32c3 units to namespaced.
+ added unit unix98pty. Only enabled for linux, for now, but can be enabled in the future on other unix-likes.
- remove unused variables
- remove unused variables
* switch Z80 RTL to provide atomic intrinsic helpers instead of Interlocked* functions
* switch Xtensa RTL to provide atomic intrinsic helpers instead of Interlocked* functions
* trailing spaces removed
Add intrinsics dependency in classes unit for several OSes
Set FPC_USE_INTRINSICS when appropriate for most platforms
Set FPC_USE_INTRINSICS after _USES clause for i386 and x86_64
Also disable FPC_USE_INTRINSICS on i386 and x86_64 if LLVM or for version < 3.3.1
+ intrinsics unit for x86-64
+ intrinsics unit for i386
+ intrinsics unit for i386
Revisions in bigsets in this set 248fd313f8b5e37a8bb8a38bf92d8d1ec2fa1a5e,ccfa38c68ef1428faeef660970a964e3b7328e00,9a3465ef19dd93a2242aad06912282b4ff179ea3,1ff096448c693ca79d8c72168cab25b8202bffac,d8cb1e2ba4030e310de834701830400d5294243b