Recent

Author Topic: RTOS and Pascal  (Read 630 times)

julkas

  • Sr. Member
  • ****
  • Posts: 348
  • KISS principle / Lazarus 2.0.0 / FPC 3.0.4
RTOS and Pascal
« on: July 20, 2019, 05:59:37 pm »
Is there any RTOS with Pascal compiler?
procedure mulu64(a, b: QWORD; out clo, chi: QWORD); assembler;
asm
  mov rax, a
  mov rdx, b
  mul rdx
  mov [clo], rax
  mov [chi], rdx
end;
(* Pointer game *) Inc(ptr, 1); (* vs *) ptr := ptr + 1;

skalogryz

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 2264
    • havefunsoft.com
Re: RTOS and Pascal
« Reply #1 on: July 20, 2019, 07:33:03 pm »
RTOS = real-time operating system?
Patron Cocoa Widgetset development https://www.patreon.com/skalogryz

julkas

  • Sr. Member
  • ****
  • Posts: 348
  • KISS principle / Lazarus 2.0.0 / FPC 3.0.4
Re: RTOS and Pascal
« Reply #2 on: July 20, 2019, 07:41:06 pm »
RTOS = real-time operating system?
Yes.
procedure mulu64(a, b: QWORD; out clo, chi: QWORD); assembler;
asm
  mov rax, a
  mov rdx, b
  mul rdx
  mov [clo], rax
  mov [chi], rdx
end;
(* Pointer game *) Inc(ptr, 1); (* vs *) ptr := ptr + 1;

Thaddy

  • Hero Member
  • *****
  • Posts: 8673
Re: RTOS and Pascal
« Reply #3 on: July 20, 2019, 08:53:31 pm »
See the wiki!:  https://wiki.freepascal.org/Operating_Systems_written_in_FPC But that is only less than half of it: there are many proprietary Pascal compilers for RTOS systems.
Most people that want to use threading should learn to patch their jeans first: use a needle.

julkas

  • Sr. Member
  • ****
  • Posts: 348
  • KISS principle / Lazarus 2.0.0 / FPC 3.0.4
Re: RTOS and Pascal
« Reply #4 on: July 21, 2019, 02:24:14 pm »
See the wiki!:  https://wiki.freepascal.org/Operating_Systems_written_in_FPC But that is only less than half of it: there are many proprietary Pascal compilers for RTOS systems.
@Thaddy Nothing like VxWorks, QNX, OS-9 :-(
procedure mulu64(a, b: QWORD; out clo, chi: QWORD); assembler;
asm
  mov rax, a
  mov rdx, b
  mul rdx
  mov [clo], rax
  mov [chi], rdx
end;
(* Pointer game *) Inc(ptr, 1); (* vs *) ptr := ptr + 1;

marcov

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 7354
Re: RTOS and Pascal
« Reply #5 on: July 21, 2019, 02:26:53 pm »
FPC 1.x had a QNX port. The directory is still in current FPC trunk, but afaik never worked on FPC 2+. (or after 2003 in any form if I look at the CVS history inside the files)
« Last Edit: July 21, 2019, 02:35:18 pm by marcov »

julkas

  • Sr. Member
  • ****
  • Posts: 348
  • KISS principle / Lazarus 2.0.0 / FPC 3.0.4
Re: RTOS and Pascal
« Reply #6 on: July 21, 2019, 02:38:07 pm »
Post extension - any VME bus Pascal related info, projects?
procedure mulu64(a, b: QWORD; out clo, chi: QWORD); assembler;
asm
  mov rax, a
  mov rdx, b
  mul rdx
  mov [clo], rax
  mov [chi], rdx
end;
(* Pointer game *) Inc(ptr, 1); (* vs *) ptr := ptr + 1;

Peter H

  • Jr. Member
  • **
  • Posts: 52
Re: RTOS and Pascal
« Reply #7 on: July 21, 2019, 03:16:37 pm »
http://www.on-time.com/rtos-32.htm

This is not a recommendation!
I do not know if it is good and if it is usable with FPC.
It is usable with Delphi.

This seems to be new:
https://www.acontis.com/en/

And of course there is RTLinux.
« Last Edit: July 21, 2019, 03:21:12 pm by Peter H »

julkas

  • Sr. Member
  • ****
  • Posts: 348
  • KISS principle / Lazarus 2.0.0 / FPC 3.0.4
Re: RTOS and Pascal
« Reply #8 on: July 21, 2019, 03:29:29 pm »
http://www.on-time.com/rtos-32.htm

This is not a recommendation!
I do not know if it is good and if it is usable with FPC.
It is usable with Delphi.

This seems to be new:
https://www.acontis.com/en/

And of course there is RTLinux.
It's something new. With Pascal demo - http://www.on-time.com/rtkernel-dos.htm. Thanks.
« Last Edit: July 21, 2019, 03:33:41 pm by julkas »
procedure mulu64(a, b: QWORD; out clo, chi: QWORD); assembler;
asm
  mov rax, a
  mov rdx, b
  mul rdx
  mov [clo], rax
  mov [chi], rdx
end;
(* Pointer game *) Inc(ptr, 1); (* vs *) ptr := ptr + 1;

avra

  • Hero Member
  • *****
  • Posts: 1662
    • Additional info
Re: RTOS and Pascal
« Reply #9 on: July 23, 2019, 08:19:47 am »
One of the provided links gives FP-RTOS:
https://wiki.freepascal.org/Operating_Systems_written_in_FPC#FP-RTOS

It says that ARMv4, ARMv6, ARMv7 and AVR archs are supported. I see units for bcm2835 (Pi) and sc3244x MCUs.
ct2laz - Conversion between Lazarus and CodeTyphon
bithelpers - Bit manipulation for standard types
pasettimino - Siemens S7 PLC lib