Lazarus

Announcements => Third party => Topic started by: Ultibo on February 03, 2016, 11:01:52 am

Title: Ultibo core a full featured embedded (no OS) environment for Raspberry Pi
Post by: Ultibo on February 03, 2016, 11:01:52 am
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:


100% Free Pascal code under the modified LGPL license.

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

Thanks,
Title: Re: Ultibo core a full featured embedded (no OS) environment for Raspberry Pi
Post by: taazz 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.
Title: Re: Ultibo core a full featured embedded (no OS) environment for Raspberry Pi
Post by: Ultibo 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.

Title: Re: Ultibo core a full featured embedded (no OS) environment for Raspberry Pi
Post by: Bostjan 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".
Title: Re: Ultibo core a full featured embedded (no OS) environment for Raspberry Pi
Post by: Ultibo on February 03, 2016, 01:18:12 pm
Thanks for pointing out the incorrect URL. Now fixed in the original post.
Title: Re: Ultibo core a full featured embedded (no OS) environment for Raspberry Pi
Post by: Laksen 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?
Title: Re: Ultibo core a full featured embedded (no OS) environment for Raspberry Pi
Post by: Ultibo 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.

Title: Re: Ultibo core a full featured embedded (no OS) environment for Raspberry Pi
Post by: airpas on February 03, 2016, 02:29:13 pm
thats really interesting , going to check that ;)
Title: Re: Ultibo core a full featured embedded (no OS) environment for Raspberry Pi
Post by: Laksen 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?
Title: Re: Ultibo core a full featured embedded (no OS) environment for Raspberry Pi
Post by: Leledumbo 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.
Title: Re: Ultibo core a full featured embedded (no OS) environment for Raspberry Pi
Post by: taazz 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.
Title: Re: Ultibo core a full featured embedded (no OS) environment for Raspberry Pi
Post by: Ultibo 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.

Title: Re: Ultibo core a full featured embedded (no OS) environment for Raspberry Pi
Post by: Ultibo 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.
Title: Re: Ultibo core a full featured embedded (no OS) environment for Raspberry Pi
Post by: herux 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 ?
Title: Re: Ultibo core a full featured embedded (no OS) environment for Raspberry Pi
Post by: Ultibo 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.
Title: Re: Ultibo core a full featured embedded (no OS) environment for Raspberry Pi
Post by: Paul Breneman on February 04, 2016, 05:09:30 am
Wow!  I'm hoping to try this soon to make a console version of Control Terminal http://ctrlterm.com/ (http://ctrlterm.com/) and now I'm wondering if FreeVision http://wiki.freepascal.org/Free_Vision (http://wiki.freepascal.org/Free_Vision) will work in the console?

I have a few related links here: http://ctrlterm.com/ports.htm (http://ctrlterm.com/ports.htm)

How much work would be needed to get FreeVision and the IDE http://wiki.freepascal.org/Textmode_IDE (http://wiki.freepascal.org/Textmode_IDE) working?  Seems like fun times ahead!
Title: Re: Ultibo core a full featured embedded (no OS) environment for Raspberry Pi
Post by: Ultibo on February 04, 2016, 08:17:15 am
and now I'm wondering if FreeVision http://wiki.freepascal.org/Free_Vision (http://wiki.freepascal.org/Free_Vision) will work in the console?

At a quick look I don't think it would work currently, mainly because it seems to be character based and the Raspberry Pi has no character mode display (only a pixel mode framebuffer).

I think the API could be implemented fairly easily but handling the movable windows etc would require some effort, in a character interface maintaining a buffer that describes each window is fairly quick and simple. Maintaining a buffer that holds the pixels for a full HD display in 32 bit color takes a lot of data manipulation.

If you were happy to start with a single text mode window with a FreeVision API then the current console unit could be used as is and the API could wrapper over the top.

How much work would be needed to get FreeVision and the IDE http://wiki.freepascal.org/Textmode_IDE (http://wiki.freepascal.org/Textmode_IDE) working? 

I'm assuming from what I read that if FreeVision worked then the IDE would also work.

On the other hand your url for Control Terminal mentions fpGUI which according to this post https://ultibo.org/forum/viewtopic.php?f=13&t=17 might be able to be ported without a huge effort.
Title: Re: Ultibo core a full featured embedded (no OS) environment for Raspberry Pi
Post by: simonsayz on February 04, 2016, 08:41:56 am
Wow, That's what I want.

really cool :)

I will try to other peripherals on your rtl.

Many Thanks.
Title: Re: Ultibo core a full featured embedded (no OS) environment for Raspberry Pi
Post by: x2nie on February 04, 2016, 09:13:22 am
Is there any screenshot? photos?


I couldn't imagine what I can do with Ultibo+RaspberryPi %)
Title: Re: Ultibo core a full featured embedded (no OS) environment for Raspberry Pi
Post by: mse on February 04, 2016, 09:28:02 am
On the other hand your url for Control Terminal mentions fpGUI which according to this post https://ultibo.org/forum/viewtopic.php?f=13&t=17 might be able to be ported without a huge effort.
Or MSEgui which also is a self drawing GUI toolkit for FPC with a dedicated development IDE (MSEide). Either by implementing a backend for the frame buffer or to the GPU. Advantage of MSEgui is that it is more sophisticated, advantage of fpGUI is that it already has a framebuffer backend by AggPAS.
Title: Re: Ultibo core a full featured embedded (no OS) environment for Raspberry Pi
Post by: herux on February 04, 2016, 10:06:02 am
it seems I managed to compile freepascal arm-ultibo on mac, but I have not tried even further, my raspberry pi still on the way  8)

Title: Re: Ultibo core a full featured embedded (no OS) environment for Raspberry Pi
Post by: Ultibo on February 04, 2016, 10:27:12 am
it seems I managed to compile freepascal arm-ultibo on mac

Awesome  :D

When you prove it works it would be great if you could post the instructions somewhere to share with others.
Title: Re: Ultibo core a full featured embedded (no OS) environment for Raspberry Pi
Post by: JimKueneman on February 05, 2016, 02:31:45 am
Please herux explain how you got it compiled on OSX....

Jim
Title: Re: Ultibo core a full featured embedded (no OS) environment for Raspberry Pi
Post by: herux on February 05, 2016, 02:50:58 am
I will do, when my raspberry pi are already in hand and everything is running well  :)
Title: Re: Ultibo core a full featured embedded (no OS) environment for Raspberry Pi
Post by: molly on February 05, 2016, 03:26:57 am
and now I'm wondering if FreeVision http://wiki.freepascal.org/Free_Vision (http://wiki.freepascal.org/Free_Vision) will work in the console?

At a quick look I don't think it would work currently, mainly because it seems to be character based and the Raspberry Pi has no character mode display (only a pixel mode framebuffer).
Correct

Quote
I think the API could be implemented fairly easily but handling the movable windows etc would require some effort, in a character interface maintaining a buffer that describes each window is fairly quick and simple. Maintaining a buffer that holds the pixels for a full HD display in 32 bit color takes a lot of data manipulation.
Nah, it's fairly easy todo ;-)

Quote
If you were happy to start with a single text mode window with a FreeVision API then the current console unit could be used as is and the API could wrapper over the top.
Adapt unit video to do your bidding, i would start there.

How much work would be needed to get FreeVision and the IDE http://wiki.freepascal.org/Textmode_IDE (http://wiki.freepascal.org/Textmode_IDE) working? 
Quote
I'm assuming from what I read that if FreeVision worked then the IDE would also work.
Yes.

Please have a look at amiga unit video here (http://svn.freepascal.org/cgi-bin/viewvc.cgi/trunk/packages/rtl-console/src/amicommon/video.pp?view=markup).

Amiga, AROS and MorphOS also don't have a 'real' console mode, it's all graphics emulating the charcter based console (and FV and IDE are working perfectly). The native platform does provide API that makes things a bit easier, i have no idea (yet) how easy it would be to implement using your exposed API.

Thank you for your project Ultibo, at first glance that really looks interesting (*wow*)

PS: for some reason my older opera browser refuses connection to the url you posted. If i get a response from the server at all (unable to access address) it is "Secure connection: fatal error (40) from server."
Title: Re: Ultibo core a full featured embedded (no OS) environment for Raspberry Pi
Post by: JimKueneman on February 05, 2016, 03:34:27 am
Quote
I will do, when my raspberry pi are already in hand and everything is running well

Don't tease!  I have 3 Pi 2's on my desk and need this in OSX.. I ran all the demos on the WM Windows but that is painful.........

Jim
Title: Re: Ultibo core a full featured embedded (no OS) environment for Raspberry Pi
Post by: herux on February 05, 2016, 05:06:54 am
Okay I will share the steps I did, although not yet proven whether this running properly
Code: Bash  [Select][+][-]
  1. make distclean OS_TARGET=ultibo CPU_TARGET=arm SUBARCH=armv7a CROSSBINDIR=~/Documents/gcc-arm-none-eabi/arm-none-eabi/bin/
  2.   CROSSOPT="-CpARMV7A -CfVFPV3 -CIARM -OoFASTMATH"
Code: Bash  [Select][+][-]
  1. make all OS_TARGET=ultibo CPU_TARGET=arm SUBARCH=armv7a CROSSBINDIR=~/Documents/gcc-arm-none-eabi/arm-none-eabi/bin/ CROSSOPT="-CpARMV7A -CfVFPV3 -CIARM -OoFASTMATH"
  2.  
Code: Bash  [Select][+][-]
  1. sudo make crossinstall CROSSBINDIR=~/Documents/gcc-arm-none-eabi/arm-none-eabi/bin/ CROSSOPT="-CpARMV7A -CfVFPV3 -CIARM -OoFASTMATH" OS_TARGET=ultibo CPU_TARGET=arm SUBARCH=armv7a INSTALL_BASEDIR=/usr/local/lib/fpc/3.0.0/

but, I have a question for @ultibo, is there any spesific feature on fpc trunk or 3.1.1 , instead of using the stable version 3.0.0 ?
Title: Re: Ultibo core a full featured embedded (no OS) environment for Raspberry Pi
Post by: Ultibo on February 05, 2016, 05:28:20 am
PS: for some reason my older opera browser refuses connection to the url you posted. If i get a response from the server at all (unable to access address) it is "Secure connection: fatal error (40) from server."

This might be similar to the problem that older versions of IE have, our web host does not accept TLS 1.0 so in IE10 or earlier you have to enable TLS 1.1 and 1.2. Older version of Opera could be having the same issue.

Title: Re: Ultibo core a full featured embedded (no OS) environment for Raspberry Pi
Post by: Ultibo on February 05, 2016, 05:38:05 am
but, I have a question for @ultibo, is there any spesific feature on fpc trunk or 3.1.1 , instead of using the stable version 3.0.0 ?

Yes, there are two commits to FPC trunk that are required:

http://svn.freepascal.org/cgi-bin/viewvc.cgi/trunk/compiler/arm/cgcpu.pas?revision=32788&view=markup

http://svn.freepascal.org/cgi-bin/viewvc.cgi/trunk/rtl/arm/arm.inc?revision=32788&view=markup

Both relate to the generation of BLX <Label> instructions by FPC which needs to be BL <Label> instead. Apparently the linker should fix these up based on the mode (ARM/Thumb) of the code being called but it does not (anymore) and so gcc and clang also now use BL instead.

I did the original development work with 2.7.1 trunk so as far as I know all of our changes to the compiler and RTL could be applied to 3.0.0 if the above patches were also applied.
Title: Re: Ultibo core a full featured embedded (no OS) environment for Raspberry Pi
Post by: JimKueneman on February 05, 2016, 02:50:43 pm
Quote
Okay I will share the steps I did, although not yet proven whether this running properly

All successful!  I replace the two mentioned files with the patched ones before I ran this with my 3.0.0.  I am sorry but I am not a command line jockey.  What is suppose to happen once done?  I do have the compiler binary but a couple of things happened.  The build created a folder 3.1.1 folder next to the 3.0.0 with part of the files in there.  If I type "fpc" the darwin compiler is still the linked compiler or if I try to build lazarus it fails.  If you follow the directions on the Ultibo site with the path link to the right compiler the lazarus make gets a bit further but needs libraries it can't find in the make.

Jim
Title: Re: Ultibo core a full featured embedded (no OS) environment for Raspberry Pi
Post by: marcov on February 05, 2016, 06:45:27 pm
and now I'm wondering if FreeVision http://wiki.freepascal.org/Free_Vision (http://wiki.freepascal.org/Free_Vision) will work in the console?

At a quick look I don't think it would work currently, mainly because it seems to be character based and the Raspberry Pi has no character mode display (only a pixel mode framebuffer).

The Ultibo implementation of the video unit could abstract that. The OS independence of FV are the so called api units (keyboard,video,mouse).    The textmode IDE uses some more OS dependent calls though (cursor on/off, saving/restoring screen, mousecursor)

FV/api has a (character) virtual screen as back buffer and generates events to the OS specific part (video unit) to update the modified region of the virtual screen to the real screen.

The RPI has a GPU though, and a character mode buffer is basically the same as an ARB buffer that specifies which character to blit where.

Quote
Maintaining a buffer that holds the pixels for a full HD display in 32 bit color takes a lot of data manipulation.

You only have to keep the characters in buffers, and FV does that for you. You only need to update the needed part from the resulting virtual screen

Title: Re: Ultibo core a full featured embedded (no OS) environment for Raspberry Pi
Post by: avra on February 09, 2016, 11:46:39 am
Wow, very nice project! For any embedded target general gpio, serial, spi, i2c and 1wire libraries are top priority. Each lib should provide at least one example.

Quote
From the FAQ:
Why Raspberry Pi, why not (name of other board)?
Raspberry Pi is clearly the market leader when it comes to small single board computers for hobby and educational use. We fully intend for Ultibo to support other boards, which ones and when depends on what the community shows interest in.
I express interest in ESP8266 (802.11 for 3$). If FPC could target it, and Ultibo could support it, we would have a real IoT device programmed in Pascal. With deep sleep enabled it could send sensor data for ever from solar power, or for years on battery power. Mesh networking is also atractive use case.
Title: Re: Ultibo core a full featured embedded (no OS) environment for Raspberry Pi
Post by: DonAlfredo on February 09, 2016, 11:58:01 am
+10 !!
Title: Re: Ultibo core a full featured embedded (no OS) environment for Raspberry Pi
Post by: hansotten on February 09, 2016, 12:07:40 pm
Wow, very nice project! For any embedded target general gpio, serial, spi, i2c and 1wire libraries are top priority. Each lib should provide at least one example.

Agreed, not too difficult. The Broadcam GPIO are memory mapped, and there are good open source libraries available for Freepascal for the Raspberry Pi.

Quote

I express interest in ESP8266 (802.11 for 3$). If FPC could target it, and Ultibo could support it, we would have a real IoT device programmed in Pascal. With deep sleep enabled it could send sensor data for ever from solar power, or for years on battery power. Mesh networking is also atractive use case.

That would be great, but require a new target for Freepascal. The CPU of the ESP8266 is not supported now.  Unlikely to happen.
Title: Re: Ultibo core a full featured embedded (no OS) environment for Raspberry Pi
Post by: Ultibo on February 10, 2016, 01:16:11 am
For any embedded target general gpio, serial, spi, i2c and 1wire libraries are top priority. Each lib should provide at least one example.

I agree totally, but in the end it was a decision between releasing now or waiting longer until everything was supported.

Many of these devices are quite straightforward and much less complex to handle than something like USB, I'm confident that most if not all will be accessible via included libraries within a few months.

Title: Re: Ultibo core a full featured embedded (no OS) environment for Raspberry Pi
Post by: Thaddy on February 10, 2016, 09:29:55 am
Don't worry. This is an amazing piece of software engineering in FPC and is this really outside of the core team?

It works, it is very useful to me and an encouragement to step into the world of bare metal again (haven't done that since the late '80's)

Like some others said: WOW!
Title: Re: Ultibo core a full featured embedded (no OS) environment for Raspberry Pi
Post by: avra on February 10, 2016, 11:40:30 am
For any embedded target general gpio, serial, spi, i2c and 1wire libraries are top priority. Each lib should provide at least one example.
I agree totally, but in the end it was a decision between releasing now or waiting longer until everything was supported.
Fully understandable.  ;)

Quote
Many of these devices are quite straightforward and much less complex to handle than something like USB, I'm confident that most if not all will be accessible via included libraries within a few months.
That's really good to hear. As for USB let me tell you my point of view. I have designed USB devices that talk to USB hosts, developed their firmware, and written applications and/or drivers on USB host side. Sometimes I used HID, sometimes CDC, and sometimes I had to use libusb for direct communication. I am aware of other USB classes but I had not used them so I will not comment them. Well, HID is top priority. It is easiest to use and most developers are familiar with it. CDC is next on the list. It is not that easy on USB device side, but on USB host side it looks like a serial port so it is most appreciated by USB host application developers. Direct access is the most complex for both sides and usually requires custom driver on USB host, but it provides most flexibility and biggest speed. On USB host side libusb is probably the most used library for this. I do not see direct access as a priority because Ultibo does not run on a standard pc which we want to expand in functionality, but on devices that will already from day one have a goal to provide this new functionality. Therefore there is less need for USB direct access since there are already other ways (gpio, i2c, spi...) that designer can use to achieve his goal. I am not saying that direct access would be useless - I am just saying that it is not that much of a priority.

What can I say. Ultibo is on my radar...  ::)
Title: Re: Ultibo core a full featured embedded (no OS) environment for Raspberry Pi
Post by: Ultibo on March 05, 2016, 05:33:05 am
Apparently not everyone actually owns a Raspberry Pi yet :o, so we made a video of the demo image so you can see what Ultibo is all about.

https://youtu.be/GF9Xbf3mbf4

Title: Re: Ultibo core a full featured embedded (no OS) environment for Raspberry Pi
Post by: Leledumbo on March 05, 2016, 09:08:58 am
You wrote the whole NTFS implementation? :o
Title: Re: Ultibo core a full featured embedded (no OS) environment for Raspberry Pi
Post by: DonAlfredo on March 05, 2016, 09:24:47 am
I have some Pi, PiB, Pi2 and Pi3, and on neither of them, the demo works !
I know, I must be doing something wrong.
But, until now, I do not not what I am doing wrong.
I will keep on investigating.

(I would appreciate if RPi3 is added to the devices, even at just 32bit ARMV7 level)
Title: Re: Ultibo core a full featured embedded (no OS) environment for Raspberry Pi
Post by: Ultibo on March 05, 2016, 10:00:37 am
You wrote the whole NTFS implementation? :o

Yes we did, a full implementation in pure object pascal with read/write, compression, streams, reparse etc, the only actual missing features are encryption and log file replay/rollback.

We wrote this a few years back as part of a commercial product so it is a clean implementation (nothing but public documentation and on disk discovery) and has had thousands of hours of real world usage.
Title: Re: Ultibo core a full featured embedded (no OS) environment for Raspberry Pi
Post by: Ultibo on March 05, 2016, 10:17:06 am
I have some Pi, PiB, Pi2 and Pi3, and on neither of them, the demo works !

Do you see anything on screen or any activity at all? The first thing to appear should be a full orange screen with the version at the top, if you don't get this you should probably be seeing the 4 large colored squares from the firmware. If you see nothing at all then maybe an SD card issue would be the thing to look at.

We haven't had any other reports of this in the month since releasing the project.

(I would appreciate if RPi3 is added to the devices, even at just 32bit ARMV7 level)

We are waiting on 2 RPi3 boards arriving (now 6 days on order from a global supplier who said they were in stock!) so we can update the detection etc. I suspect RPi3 won't work without an update because it has new version information that won't be detected properly. The support will be 32bit only for the moment until Raspberry Pi release some more information and we can evaluate what is needed for 64bit support.
Title: Re: Ultibo core a full featured embedded (no OS) environment for Raspberry Pi
Post by: vincococka on March 05, 2016, 11:36:49 am
Offtopic: why is website ultibo.org not available? Isn`t webserver down ?
Title: Re: Ultibo core a full featured embedded (no OS) environment for Raspberry Pi
Post by: Ultibo on March 05, 2016, 11:41:29 am
Offtopic: why is website ultibo.org not available? Isn`t webserver down ?

All fine from here (Australia), some older versions of IE cannot connect unless you enable TLS 1.1/1.2, maybe that is your problem.
Title: Re: Ultibo core a full featured embedded (no OS) environment for Raspberry Pi
Post by: vincococka on March 05, 2016, 11:56:27 am
I`ve tried firefox 44 / opera latest / IE 11 and nothing worked.
Title: Re: Ultibo core a full featured embedded (no OS) environment for Raspberry Pi
Post by: Ultibo on March 05, 2016, 12:16:45 pm
I`ve tried firefox 44 / opera latest / IE 11 and nothing worked.
I've checked everything I can from here and nothing appears to be wrong, what part of the world are you trying from? Can anyone else confirm availability of the site?
Title: Re: Ultibo core a full featured embedded (no OS) environment for Raspberry Pi
Post by: taazz on March 05, 2016, 12:20:30 pm
I`ve tried firefox 44 / opera latest / IE 11 and nothing worked.
I've checked everything I can from here and nothing appears to be wrong, what part of the world are you trying from? Can anyone else confirm availability of the site?
I have no problems opening it with firefox 44.0.2 both with noscript enabled and disabled.
Title: Re: Ultibo core a full featured embedded (no OS) environment for Raspberry Pi
Post by: vincococka on March 05, 2016, 12:40:31 pm
Should ultibo.org resolve to 67.225.133.22 ?
I`m connecting from Slovakia, and I`ve changed my ISP in the meantime so maybe something wrong with routing (BGP)..... maybe.

Can you ping from your server IP addr 87.197.159.146 ?
Title: Re: Ultibo core a full featured embedded (no OS) environment for Raspberry Pi
Post by: taazz on March 05, 2016, 12:47:22 pm
Should ultibo.org resolve to 67.225.133.22 ?
I`m connecting from Slovakia, and I`ve changed my ISP in the meantime so maybe something wrong with routing (BGP)..... maybe.

Can you ping from your server IP addr 87.197.159.146 ?
Quote
C:\Users\xxxxxxx>nslookup ultibo.org
Server:  UnKnown
Address:  fe80::20e:8fff:fe6c:9a20

Non-authoritative answer:
Name:    ultibo.org
Address:  67.225.133.22
how about running a tracert on your end?
Title: Re: Ultibo core a full featured embedded (no OS) environment for Raspberry Pi
Post by: vincococka on March 05, 2016, 02:03:54 pm
On my side it`s like this:
Code: [Select]
C:\windows\system32>TRACERT.EXE -d ultibo.org

Tracing route to ultibo.org [67.225.133.22]
over a maximum of 30 hops:

  1    <1 ms    <1 ms    <1 ms  192.168.0.254
  2    11 ms    10 ms    11 ms  213.81.233.252
  3    11 ms    14 ms    11 ms  213.81.235.93
  4    12 ms    11 ms    11 ms  213.81.253.14
  5    14 ms    16 ms    11 ms  149.6.26.5
  6    13 ms    13 ms    13 ms  130.117.48.142
  7    19 ms    19 ms    19 ms  130.117.49.137
  8    25 ms    25 ms    25 ms  154.54.38.57
  9    33 ms    32 ms    32 ms  130.117.0.141
 10   134 ms   134 ms   134 ms  154.54.58.69
 11   134 ms   134 ms   134 ms  154.54.44.141
 12   135 ms   135 ms   134 ms  154.54.44.105
 13   134 ms   134 ms   133 ms  154.54.31.89
 14   134 ms   134 ms   134 ms  154.54.7.129
 15   134 ms   134 ms   134 ms  154.54.46.178
 16   136 ms   135 ms   136 ms  154.54.29.66
 17   125 ms   125 ms   125 ms  38.88.42.54
 18   132 ms   149 ms   132 ms  209.59.157.229
 19   136 ms   136 ms   140 ms  69.167.128.122
 20   137 ms   136 ms   137 ms  69.167.128.201
 21     *        *        *     Request timed out.
 22     *        *        *     Request timed out.

It times out after 69.167.128.201
Can you post your traceroute?
Title: Re: Ultibo core a full featured embedded (no OS) environment for Raspberry Pi
Post by: taazz on March 05, 2016, 02:14:15 pm
Sure here you go.
Quote
Tracing route to ultibo.org [67.225.133.22]
over a maximum of 30 hops:

  1    <1 ms     1 ms     1 ms  192.168.1.1
  2    22 ms    16 ms    35 ms  80.106.108.117
  3    20 ms    55 ms    35 ms  79.128.240.177
  4    17 ms    19 ms    22 ms  62.75.3.85
  5    60 ms    61 ms    60 ms  62.75.4.166
  6    60 ms    82 ms    60 ms  195.50.118.169
  7     *        *        *     Request timed out.
  8   154 ms   150 ms   172 ms  4.15.84.142
  9   168 ms   157 ms   158 ms  209.59.157.206
 10   190 ms   160 ms   159 ms  69.167.128.120
 11   166 ms   178 ms   158 ms  69.167.128.201
 12   168 ms   178 ms   178 ms  67.225.133.22

Trace complete.
Title: Re: Ultibo core a full featured embedded (no OS) environment for Raspberry Pi
Post by: Thaddy on March 05, 2016, 04:02:07 pm
Code: [Select]
Tracing route to ultibo.org [67.225.133.22]
over a maximum of 30 hops:

  1     2 ms     1 ms     1 ms  CISCOC1856 [192.168.1.1]
  2     2 ms     1 ms     1 ms  gwlogin.net [192.168.192.1]
  3     *        *        *     Request timed out.
  4    11 ms    12 ms    12 ms  212.142.62.149
  5     *        *        *     Request timed out.
  6   129 ms   118 ms   112 ms  us-was02a-rd2-ae105-0.aorta.net [84.116.130.66]
  7   114 ms   113 ms   114 ms  us-was03a-ri1-ae10-0.aorta.net [84.116.130.174]
  8   115 ms   113 ms   119 ms  xe-5-0-3 [204.148.11.109]
  9   128 ms   130 ms   128 ms  0.et-10-1-0.GW7.CHI13.ALTER.NET [140.222.234.221]
 10   144 ms   152 ms   208 ms  liquidweb-gw.customer.alter.net [152.179.92.134]
 11   141 ms   141 ms   144 ms  lw-dc3-core2-vlan66.rtr.liquidweb.com [209.59.157.226]
 12   143 ms   145 ms   144 ms  lw-dc3-core2-nexus-po6.rtr.liquidweb.com [69.167.128.126]
 13   143 ms   142 ms   140 ms  lw-dc3-dist15-po6.rtr.liquidweb.com [69.167.128.205]
 14   141 ms   144 ms   151 ms  host.australiangreenhosting.com.au [67.225.133.22]
Title: Re: Ultibo core a full featured embedded (no OS) environment for Raspberry Pi
Post by: vincococka on March 07, 2016, 12:36:59 pm
Thanks, it seems that 209.59.157.229 is returning back TTL exceeded :(
Title: Re: Ultibo core a full featured embedded (no OS) environment for Raspberry Pi
Post by: ahmadian on March 08, 2016, 01:20:26 am
Great work  :D
When we see FpGui+Ultibo?
Thanks
Title: Re: Ultibo core a full featured embedded (no OS) environment for Raspberry Pi
Post by: Ultibo on March 08, 2016, 03:12:08 am
When we see FpGui+Ultibo?

There is no timeframe yet, but from a little bit of looking at the source it looks like it should be possible. It seems to require a framebuffer (already available) and an event queue for mouse and keyboard events (mostly available too).

If you or anyone else knows more about the inner workings of fpGUI and where Ultibo would need to hook in to make these things work it would be really helpful information to save some time trawling through the source code.
Title: Re: Ultibo core a full featured embedded (no OS) environment for Raspberry Pi
Post by: Ultibo on March 15, 2016, 04:52:29 am
The new Raspberry Pi 3 is now fully supported in 32 bit mode. A 64 bit implementation will be developed when further information becomes available.

Full details and how to update your install here:

https://ultibo.org/forum/viewtopic.php?f=4&t=52

Title: Re: Ultibo core a full featured embedded (no OS) environment for Raspberry Pi
Post by: DonAlfredo on March 15, 2016, 02:46:08 pm
Thanks for supporting RPi3 !

Question:
I can do all the update-install work myself naturally.
But when will you provide an Ultibo-update with RPi3 ?
I am asking because I am in time-shortage, and if you plan an update within a (couple of) week(s), I will wait for that update !

Thanks again for RPi3 !
Title: Re: Ultibo core a full featured embedded (no OS) environment for Raspberry Pi
Post by: Ultibo on March 16, 2016, 12:48:33 am
Question:
But when will you provide an Ultibo-update with RPi3 ?

The next update for the Ultibo installer (with updated FPC and Lazarus) will be released once a few more items are completed, probably later next month unless there is an urgent need for a bug fix etc.

Rebuilding the RTL to get RPi3 support is pretty simple and should take no more than 10 minutes.
After this any project compiled for RPi2 will also work on RPi3.

The instructions (with screenshots) are also here https://ultibo.org/wiki/Building_from_Source in the "Building the Ultibo RTL" section, no need to rebuild FPC or Lazarus just the RTL.

Thanks.
Title: Re: Ultibo core a full featured embedded (no OS) environment for Raspberry Pi
Post by: DonAlfredo on March 16, 2016, 09:40:15 am
Thanks for the instructions ! They work for me.

However, I still cannot get Ultibo to run on my RPi3 ...  >:(

Compiled the RPi2 hello world example.
Copy kernel7.img onto SD, together with latest firmware.
I get the nice colored screen on boot, but nothing more happens. Just the colored screen and that's it.
Also green LED does not flash.

So, I need some more info for RPi3.
* what firmware to use (currently I am using the firmware from here: https://github.com/raspberrypi/firmware ; I just copy over  the whole boot directory) ?
* do I need only the kernel7.img or also the generated elf executable ?
* anything else that could be important.
Title: Re: Ultibo core a full featured embedded (no OS) environment for Raspberry Pi
Post by: Ultibo on March 16, 2016, 11:42:10 am
However, I still cannot get Ultibo to run on my RPi3 ...  >:(

Compiled the RPi2 hello world example.

For sanity checking I just tried the process myself, installed using Ultibo installer, updated to latest code from GitHub, rebuilt the RTL and compiled the Hello World example.

Surprise, surprise I get a colorful screen as well :(

However the fix is simple, the example is missing one unit from the uses clause.

Simply add the BCM2709 unit so it looks like this instead:

Code: Pascal  [Select][+][-]
  1. uses
  2.   GlobalConst,
  3.   GlobalTypes,
  4.   Threads,
  5.   Console,
  6.   Framebuffer,
  7.   BCM2836,
  8.   BCM2709;  //This one is missing from the example!
  9.  

Compile again and everything should work correctly. The BCM2709 unit provides the core drivers for the RPi2/3 including the Framebuffer driver, in the original release the framebuffer was always included by a define to ensure something always showed on screen. This define was removed in a recent commit so that console and framebuffer can be optional now.

For completeness your SD card should contain the following files in the root directory:

bootcode.bin
fixup.dat
start.elf
kernel7.img

There can be others but these 4 are required, the SD should be FAT formatted.

Some other examples are also possibly missing the BCM2709 unit (BCM2708 for RPi1) so I'll check them all and push an update to GitHub.

Please let me know how you go, thanks.

Title: Re: Ultibo core a full featured embedded (no OS) environment for Raspberry Pi
Post by: DonAlfredo on March 16, 2016, 12:25:10 pm
WORKING !!!

Thanks very much.
This is really really great.

This gives Pascal (through FPC) a very nice new window of opportunities !
As a developer of (embedded) hardware, this gives me a very nice change for using Pascal (my favorite language) in new hardware.

The next, most needed thing (for me) would be (if possible): sleep modes (wake on interrupt)!!
(perhaps already implemented / pipelined ?)

Keep on doing the good work !
Title: Re: Ultibo core a full featured embedded (no OS) environment for Raspberry Pi
Post by: TheWolf on March 21, 2016, 07:14:41 pm
I play with the idea to buy an PI3,too , to experimenting with them and ultibo.
I'm very impressed about what you have created.

But I have some questions about ultibo core.
-Will there be support for other filesystems in the future
-Is it posible to use SSL with the network components
-Which kind of dyn liberies use ultibo .dll, .so,...
-Will there be support for the pi-touchscreens in the future

@taazz
Had you sucess with your qemu emlation of ultibo, I have try it the last couple days without sucess.
Title: Re: Ultibo core a full featured embedded (no OS) environment for Raspberry Pi
Post by: Ultibo on March 22, 2016, 12:59:40 am
-Will there be support for other filesystems in the future

Yes, I don't know when but others will be supported. We have FAT (12/16/32), NTFS and CDFS (ISO9660/Joliet) right now, support for EXT2/3/4 would be good and there is quite a bit of information around including some pascal source to start from. Possibly exFAT (or FAT64) might be useful and the CDFS module needs expanding to support UDF for DVDs. The interface is modular so any file system could be added, it just depends on what is needed.

Quote
-Is it posible to use SSL with the network components
Not yet but work is underway to add it, the core ciphers and hashes (like AES, DES, SHA256 etc) were committed to the code last month and there is ongoing work to add the other layers needed for TLS etc.

Quote
-Which kind of dyn liberies use ultibo .dll, .so,...
Currently libraries are not supported, it is likely to be possible in future since it opens up access to non pascal code. It would probably be .so format initially to be consistent with the toolchain used by the compiler.

Quote
-Will there be support for the pi-touchscreens in the future
Yes, the official pi touchscreen already works as a display and the details of the touch interface are known from the Linux driver. Other touchscreens could be supported if there is enough information available for them.

Quote
@taazz
Had you sucess with your qemu emlation of ultibo, I have try it the last couple days without sucess.

There is some detailed information here https://www.pcsteps.com/1199-raspberry-pi-emulation-for-windows-qemu/ and a prepackaged download here https://sourceforge.net/projects/rpiqemuwindows/ for Raspberry Pi QEMU. This only supports Raspberry Pi 1 (Model A, B etc) and not the Pi 2 or 3, also remember that when they are talking about a .img file they mean a disk image not the kernel.img produced by Ultibo. You need to create a disk image file from an SD card using something like Win32 Disk Imager.

EDIT: Just did a quick test of the prepackaged RPi QEMU download, it seems to be loading the kernel image at 0x10000 instead of the normal 0x8000 and crashes immediately which is what I would expect. Other articles suggest this is the normal load address for QEMU so I don't think it will work unless there are other sources which have a more exact RPi emulation.


EDIT: Disregard that, the latest official QEMU now has support for -M raspi or -M raspi2 which should be much closer to what is needed for Ultibo, I need to find some documentation about what parameters are required and what is supported.
Title: Re: Ultibo core a full featured embedded (no OS) environment for Raspberry Pi
Post by: TheWolf on March 22, 2016, 02:23:49 pm
Thanks for your fast and detailed answer.
Title: Re: Ultibo core a full featured embedded (no OS) environment for Raspberry Pi
Post by: Ultibo on May 25, 2016, 12:29:39 pm
Hi all,

Just a quick update, it seems that some people were unable to access the web site. We found out that the hosting company was blocking a number of countries for security reasons.

If you've tried before and were not unable to connect please feel free to try again now.
Title: Re: Ultibo core a full featured embedded (no OS) environment for Raspberry Pi
Post by: Ultibo on June 30, 2016, 01:03:05 pm
Hi everyone,

Just a quick update on the Ultibo core project for those who are following or eagerly awaiting new features.

Since the original release a lot has been happening, here's a quick list of some of the new additions.

New drivers added for:
New and enhanced features:
Plus lots of fixes and minor improvements, we've also added some new examples like GPIO, Serial, Mouse and RAM Disk. The website includes a new Made with Ultibo section to showcase some of the amazing things Ultibo members are doing already.

To help everyone get started, we've created a new video series called Discovering Ultibo which is available on our YouTube (https://www.youtube.com/channel/UCFSAYWD8k15nhdmX6CgyhvA) channel.

Ultibo core is 100% open source and written 100% in Free Pascal.

There's a lot more on the way so we'll keep you updated on the progress.
Title: Re: Ultibo core a full featured embedded (no OS) environment for Raspberry Pi
Post by: Ultibo on September 10, 2016, 03:49:59 am
To offer more options for those wanting to use Linux as a development platform we now have instructions available for building the source on both Debian and Raspbian.

Building on Debian (https://ultibo.org/wiki/Building_for_Debian)
Building on Raspbian (https://ultibo.org/wiki/Building_for_Raspbian)

This doesn't include building Lazarus yet but if you are a keen Linux user you probably already have a favorite editor anyway.
Title: Re: Ultibo core a full featured embedded (no OS) environment for Raspberry Pi
Post by: x2nie on September 10, 2016, 10:30:42 am
When we see FpGui+Ultibo?

... It seems to require a framebuffer (already available) and an event queue for mouse and keyboard events (mostly available too).

If you or anyone else knows more about the inner workings of fpGUI and where Ultibo would need to hook in to make these things work it would be really helpful information to save some time trawling through the source code.


Hi all, I just back to this topic after a while, and it seem Ultibo has many new features then.


I don't really know the core of fpGUI interact with mouse,screen,keyboard (Xlib) etc. But I think I know about the buffer for rending components, plus how to made them available designed inside Lazarus Designer (WYSIWYG).


So, if what you wanted is bringing Ultibo to the arena of Lazarus GUI Design, I will take a chance to try.
First, I need the project of Ultibo that interact with mouse event and draw something in screen, and something that has bounds (left,top,width,height). any link?  8-)
Title: Re: Ultibo core a full featured embedded (no OS) environment for Raspberry Pi
Post by: Ultibo on September 11, 2016, 03:36:40 am
So, if what you wanted is bringing Ultibo to the arena of Lazarus GUI Design, I will take a chance to try.
Since the original post about fpGUI some work has been done on trying to make it work, we have fork of the project on GitHub here https://github.com/ultibohub/fpGUI and the README details what has been done so far.

First, I need the project of Ultibo that interact with mouse event and draw something in screen, and something that has bounds (left,top,width,height). any link?  8-)
If you're interested in trying to make some progress on this we can point you to the parts of the source where the necessary things exist, mouse and keyboard are pretty well completed and drawing directly on the screen using the framebuffer is well advanced. The main thing missing right now is some form of window management to track the position and state of forms and components on the screen.

Title: Re: Ultibo core a full featured embedded (no OS) environment for Raspberry Pi
Post by: ali-libre on March 11, 2017, 08:28:28 am
hi. anybody know does ultibo support play audio video?
i know that lazarus support mplayer but can i use this on ultibo?
what about audio output?
Title: Re: Ultibo core a full featured embedded (no OS) environment for Raspberry Pi
Post by: Ultibo on March 11, 2017, 11:06:24 am
hi. anybody know does ultibo support play audio video?
Not yet, it is part of the overall objective and if you ask the same question in a year or so the answer will likely be very different.

An Ultibo user has been doing some work on audio support (see https://ultibo.org/forum/viewtopic.php?f=9&t=499) which does analog audio playback and includes early support for things like MP3 but it is very much in its early stages and still has a lot of work to be done to be really usable.

Title: Re: Ultibo core a full featured embedded (no OS) environment for Raspberry Pi
Post by: ali-libre on March 11, 2017, 05:53:32 pm
yes, thank's
i saw that ..
what about video????
Title: Re: Ultibo core a full featured embedded (no OS) environment for Raspberry Pi
Post by: Ultibo on March 12, 2017, 02:00:20 am
what about video????
Video is also still a work in progress.

While it would be possible to support decoding of common formats using existing libraries the playback could be limited to postage stamp sizes without access to hardware accelerated codecs so making that work will take priority for the moment.

If you're keen to see these things working then keep watching the progress, feel free to join in and contribute as well if you have skills and experience in these areas.
Title: Re: Ultibo core a full featured embedded (no OS) environment for Raspberry Pi
Post by: Ultibo on June 11, 2017, 01:09:11 pm
Hi everyone,

A quick update to keep you all informed about the progress of Ultibo core and some of the new features that have been added in the past few months.

Since we last posted an update lots has happened including:
Of particular interest is the support for using QEMU ARM emulation which means you no longer need to own a Raspberry Pi to use and explore what Ultibo core can do. With support for many of the basic drivers like disk, network, keyboard, mouse, display and UART you can begin developing applications immediately with nothing to spend except a small amount of your time.

Support for including libraries compiled in C means you now have access to a much wider world of functionality than ever before, we've included FreeType2 and SQLite3 to get started but a huge number of libraries can potentially be ported to Ultibo.

We're adding more all the time and there are some big things to come, we'll post more updates as things progress.

Title: Re: Ultibo core a full featured embedded (no OS) environment for Raspberry Pi
Post by: avra on June 11, 2017, 08:41:50 pm
Since we last posted an update lots has happened including:
  • QEMU ARM emulation support
  • New drivers for a range of devices including common TFT LCD screens
  • Port of the Asphyre/PXL graphics library (software rendering only)
  • Support for the FreeVision windowing package
  • C library support
  • Fast interrupt (FIQ) support
  • Plus many fixes and performance improvements
This is an amazing list of new features. Very nice!  :D
Title: Re: Ultibo core a full featured embedded (no OS) environment for Raspberry Pi
Post by: Paul Breneman on June 26, 2017, 04:00:19 pm
This is an amazing list of new features. Very nice!  :D

Yes, and I hope to try it out soon on a RPi Zero Wireless!  I just updated http://www.controlpascal.com/self-hosted.htm#RPiZwKit (http://www.controlpascal.com/self-hosted.htm#RPiZwKit) this morning after quickly getting a console Debian installed.
Title: Re: Ultibo core a full featured embedded (no OS) environment for Raspberry Pi
Post by: pik33 on September 26, 2017, 07:25:32 pm
Ultibo has now a support for VC4 - OpenGL, etc stuff.

This thing https://github.com/pik33/ultibo_retro_gui is an alpha stage of window system I wrote before VC4 availability and it will be now rewritten using new possibilities as soon as I can learn how to use them.

Although this is alpha stage project, it contains working audio player with Winamp Classic skins, which plays some audio formats - mp2, mp3, wav, C64 SID ans Amiga MOD files. Having full control over the hardware I managed to output high quality audio through RPi's jack using 20x oversampling and noise shaping. No compilation required, the repository contains the binary file.
Title: Re: Ultibo core a full featured embedded (no OS) environment for Raspberry Pi
Post by: Ultibo on April 15, 2018, 06:53:13 am
Hi Everyone,

Just a quick update to let you know that along with detection of the new Raspberry Pi 3B+ we have now added a USB driver to support the LAN7515 (LAN78XX) chip as well.

That means that all Ultibo core features now work with the latest Raspberry Pi 3B+ as well.

Cheers and enjoy!
TinyPortal © 2005-2018