* * *

Author Topic: Ultibo core a full featured embedded (no OS) environment for Raspberry Pi  (Read 16140 times)

Ultibo

  • New member
  • *
  • Posts: 30
Announcing Ultibo core, an embedded (no OS) development environment for Raspberry Pi (all models).

Ultibo core is a unikernel or kernel in an RTL written entirely in Free Pascal and designed to make embedded or bare metal development accessible to all.

Features include:

  • Support for all models of Raspberry Pi (A/B/A+/B+/2B/Zero)
  • Pre-emptive threading
  • Full range of locking and synchronization primitives
  • Multicore support on Raspberry Pi 2B with all cores sharing workload
  • Thread priority, affinity and migration support
  • Complete IPv4 stack including TCP, UCP, ICMP and raw sockets as well as DNS and DHCP protocols
  • USB support with drivers for Hub, Keyboard, Mouse, Storage and Network
  • MMC/SD device support
  • Full support for FAT12/16/32, NTFS and CDFS filesystems
  • Interrupt handling
  • Hardware exception handling (catch an exception in code not a crash)
  • Complete RTL with strings, code pages, Unicode, classes, objects and exceptions
  • Clock and Timezone support
  • Console and framebuffer support including Fonts
  • Basic Shell (Console or Telnet) with file system commands and many others
  • HTTP/SMTP/POP3/NTP/Syslog client and server modules included
  • Support for Raspberry Pi devices like Timer, Watchdog and Random
  • Full Winsock 1.1 and Winsock 2 implementation
  • Packaged with a full compiler and IDE for quick start to development
  • Includes example projects plus a full demo image
  • HTTP image update module included (No SD card dance!)

100% Free Pascal code under the modified LGPL license.

Interested, sceptical, confused? Take a look at the website https://ultibo.org

Thanks,
« Last Edit: February 03, 2016, 01:16:38 pm by Ultibo »
Ultibo.org | Make the future
https://ultibo.org

taazz

  • Hero Member
  • *****
  • Posts: 3954
Re: Ultibo core a full featured embedded (no OS) environment for Raspberry Pi
« Reply #1 on: February 03, 2016, 11:37:13 am »
Multiple questions but for now I'll only ask this.
1) Is there any virtual machine that one can download that simulates a raspberypi for testing?
2) what is the host os for this environment?

Very very excited.
Good judgement is the result of experience … Experience is the result of bad judgement.

OS : Windows 7 64 bit
Laz: Lazarus 1.4.4 FPC 2.6.4 i386-win32-win32/win64

Ultibo

  • New member
  • *
  • Posts: 30
Re: Ultibo core a full featured embedded (no OS) environment for Raspberry Pi
« Reply #2 on: February 03, 2016, 11:53:17 am »
Multiple questions but for now I'll only ask this.
1) Is there any virtual machine that one can download that simulates a raspberypi for testing?
2) what is the host os for this environment?

Very very excited.

1. QEMU has emulation for Raspberry Pi although we haven't actually tried it and from what I read it is not quite complete.

2. Installer is for Windows but our wiki has command line build instructions which should be adaptable to Linux and others.

Ultibo.org | Make the future
https://ultibo.org

Bostjan

  • New member
  • *
  • Posts: 15
Re: Ultibo core a full featured embedded (no OS) environment for Raspberry Pi
« Reply #3 on: February 03, 2016, 01:05:24 pm »
Url for your web page is not working and google don't find anything relavant when searching for "utilbo".

Ultibo

  • New member
  • *
  • Posts: 30
Re: Ultibo core a full featured embedded (no OS) environment for Raspberry Pi
« Reply #4 on: February 03, 2016, 01:18:12 pm »
Thanks for pointing out the incorrect URL. Now fixed in the original post.
Ultibo.org | Make the future
https://ultibo.org

Laksen

  • Hero Member
  • *****
  • Posts: 593
    • J-Software
Re: Ultibo core a full featured embedded (no OS) environment for Raspberry Pi
« Reply #5 on: February 03, 2016, 01:24:51 pm »
Very impressive project :)

Didn't you forget to add the rtl/ultibo dir in the fpc source tree though?

Ultibo

  • New member
  • *
  • Posts: 30
Re: Ultibo core a full featured embedded (no OS) environment for Raspberry Pi
« Reply #6 on: February 03, 2016, 01:34:20 pm »
Didn't you forget to add the rtl/ultibo dir in the fpc source tree though?

That's intentional, the rtl/ultibo dir is in the Core repository (as per the readme) so they can be committed separately.

Ultibo.org | Make the future
https://ultibo.org

airpas

  • Full Member
  • ***
  • Posts: 179
Re: Ultibo core a full featured embedded (no OS) environment for Raspberry Pi
« Reply #7 on: February 03, 2016, 02:29:13 pm »
thats really interesting , going to check that ;)

Laksen

  • Hero Member
  • *****
  • Posts: 593
    • J-Software
Re: Ultibo core a full featured embedded (no OS) environment for Raspberry Pi
« Reply #8 on: February 03, 2016, 06:22:58 pm »
Didn't you forget to add the rtl/ultibo dir in the fpc source tree though?

That's intentional, the rtl/ultibo dir is in the Core repository (as per the readme) so they can be committed separately.

Ah I get  it now.. :)

Did you have to change anything else in the compiler than add the target info?

Leledumbo

  • Hero Member
  • *****
  • Posts: 7604
  • Programming + Glam Metal + Tae Kwon Do = Me
Re: Ultibo core a full featured embedded (no OS) environment for Raspberry Pi
« Reply #9 on: February 03, 2016, 08:20:13 pm »
:o *worship*
I still don't understand though, why you don't want to state it as an operating system. Looking at the features, it looks an OS to me.

taazz

  • Hero Member
  • *****
  • Posts: 3954
Re: Ultibo core a full featured embedded (no OS) environment for Raspberry Pi
« Reply #10 on: February 03, 2016, 10:12:38 pm »
Multiple questions but for now I'll only ask this.
1) Is there any virtual machine that one can download that simulates a raspberypi for testing?
2) what is the host os for this environment?

Very very excited.

1. QEMU has emulation for Raspberry Pi although we haven't actually tried it and from what I read it is not quite complete.
not looking for perfect just working, mostly to experience the how than the work it self. Thank you I'll search for it.

2. Installer is for Windows but our wiki has command line build instructions which should be adaptable to Linux and others.
Oh I'm a windows addict my self so no complains here. I steel fill that my suse13 is way to fragile for any real work although I bet that is my own habit talking (hence the addict) I could try to debug anything you like on it if no body else manages to get there faster ;).

Thank you. I'll be installing the qemu emulator for the next couple of days.
Good judgement is the result of experience … Experience is the result of bad judgement.

OS : Windows 7 64 bit
Laz: Lazarus 1.4.4 FPC 2.6.4 i386-win32-win32/win64

Ultibo

  • New member
  • *
  • Posts: 30
Re: Ultibo core a full featured embedded (no OS) environment for Raspberry Pi
« Reply #11 on: February 04, 2016, 02:35:59 am »
Did you have to change anything else in the compiler than add the target info?

Not really, the handling of the linker behavior is part of the target module (t_ultibo) added to the compiler and the RTL required only a few additional IFDEFs in some of the include files, everything else is handled in /rtl/ultibo.

Ultibo.org | Make the future
https://ultibo.org

Ultibo

  • New member
  • *
  • Posts: 30
Re: Ultibo core a full featured embedded (no OS) environment for Raspberry Pi
« Reply #12 on: February 04, 2016, 02:42:56 am »
I still don't understand though, why you don't want to state it as an operating system. Looking at the features, it looks an OS to me.

The definition of an operating system for many is closely tied to things like Windows, Linux and OSX which try to be all things to all people.

Strictly speaking you could say Ultibo core is not a general purpose operating system but on most other criteria it fits the definition of an OS.
Ultibo.org | Make the future
https://ultibo.org

herux

  • Jr. Member
  • **
  • Posts: 99
Re: Ultibo core a full featured embedded (no OS) environment for Raspberry Pi
« Reply #13 on: February 04, 2016, 04:35:39 am »
this is very nice project, I am so impressed  :o
my 2 point of first questions  :D :
- is there any chance I build the source code, on my mac ? *https://ultibo.org/wiki/Building_from_Source
- what toolchain do i have to install or configure ? or not needed ?

Ultibo

  • New member
  • *
  • Posts: 30
Re: Ultibo core a full featured embedded (no OS) environment for Raspberry Pi
« Reply #14 on: February 04, 2016, 05:00:07 am »
- is there any chance I build the source code, on my mac ? *https://ultibo.org/wiki/Building_from_Source

The build instructions on the wiki are for Windows but they are exactly what is used to build the released binaries. Someone with experience should be able to translate that into what is needed to build on the mac.

- what toolchain do i have to install or configure ? or not needed ?

I assume you will need a toolchain in order to get an assembler, linker etc (as/ld/objcopy) for cross compiling to ARM. We use the arm-none-eabi toolchain from https://launchpad.net/gcc-arm-embedded/+download to build and include the relevant Windows binaries (renamed to arm-ultibo-) in the download. There is a mac tarball listed on that page so it might be what you need.

I bet there is someone in these forums that could answer this much better than me.
Ultibo.org | Make the future
https://ultibo.org

 

Recent

Get Lazarus at SourceForge.net. Fast, secure and Free Open Source software downloads Open Hub project report for Lazarus