Recent

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

DonAlfredo

  • Hero Member
  • *****
  • Posts: 1739
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 !

TheWolf

  • New Member
  • *
  • Posts: 26
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.
« Last Edit: March 21, 2016, 09:14:04 pm by TheWolf »

Ultibo

  • New Member
  • *
  • Posts: 36
    • Ultibo.org
-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.
« Last Edit: March 22, 2016, 02:57:06 am by Ultibo »
Ultibo.org | Make something amazing
https://ultibo.org

Threads, multi-core, OpenGL, Camera, FAT, NTFS, TCP/IP, USB and more in 3MB with 2 second boot!

TheWolf

  • New Member
  • *
  • Posts: 26
Thanks for your fast and detailed answer.

Ultibo

  • New Member
  • *
  • Posts: 36
    • Ultibo.org
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.
Ultibo.org | Make something amazing
https://ultibo.org

Threads, multi-core, OpenGL, Camera, FAT, NTFS, TCP/IP, USB and more in 3MB with 2 second boot!

Ultibo

  • New Member
  • *
  • Posts: 36
    • Ultibo.org
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:
  • DMA
  • GPIO
  • UART and Serial
  • I2C
  • SPI
  • PL2303 USB to Serial devices
New and enhanced features:
  • Raspberry Pi 3 support (32 bit only)
  • Additional code page support
  • Common cipher and hash algorithms for the beginning of crypto support
  • Real time clock (RTC) support (with driver for DS1307 and similar chips)
  • Static IP support with command line configuration
  • Updated Lazarus IDE with modern docked layout
  • Extra fonts plus new font creation tools
  • Support for common LCD displays like the Adafruit 16x2
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 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.
Ultibo.org | Make something amazing
https://ultibo.org

Threads, multi-core, OpenGL, Camera, FAT, NTFS, TCP/IP, USB and more in 3MB with 2 second boot!

Ultibo

  • New Member
  • *
  • Posts: 36
    • Ultibo.org
Re: Ultibo core a full featured embedded (no OS) environment for Raspberry Pi
« Reply #66 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.
Ultibo.org | Make something amazing
https://ultibo.org

Threads, multi-core, OpenGL, Camera, FAT, NTFS, TCP/IP, USB and more in 3MB with 2 second boot!

x2nie

  • Hero Member
  • *****
  • Posts: 515
  • Impossible=I don't know the way
    • impossible is nothing - www.x2nie.com
Re: Ultibo core a full featured embedded (no OS) environment for Raspberry Pi
« Reply #67 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-)
When you were logged in, you can see attachments.
Lazarus Github @ UbuntuCinnamon-v22.04.1 + LinuxMintDebianEdition5

Ultibo

  • New Member
  • *
  • Posts: 36
    • Ultibo.org
Re: Ultibo core a full featured embedded (no OS) environment for Raspberry Pi
« Reply #68 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.

Ultibo.org | Make something amazing
https://ultibo.org

Threads, multi-core, OpenGL, Camera, FAT, NTFS, TCP/IP, USB and more in 3MB with 2 second boot!

ali-libre

  • New Member
  • *
  • Posts: 40
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?
« Last Edit: March 11, 2017, 08:31:30 am by ali-libre »

Ultibo

  • New Member
  • *
  • Posts: 36
    • Ultibo.org
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.

Ultibo.org | Make something amazing
https://ultibo.org

Threads, multi-core, OpenGL, Camera, FAT, NTFS, TCP/IP, USB and more in 3MB with 2 second boot!

ali-libre

  • New Member
  • *
  • Posts: 40
yes, thank's
i saw that ..
what about video????

Ultibo

  • New Member
  • *
  • Posts: 36
    • Ultibo.org
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.
Ultibo.org | Make something amazing
https://ultibo.org

Threads, multi-core, OpenGL, Camera, FAT, NTFS, TCP/IP, USB and more in 3MB with 2 second boot!

Ultibo

  • New Member
  • *
  • Posts: 36
    • Ultibo.org
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:
  • 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
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.

Ultibo.org | Make something amazing
https://ultibo.org

Threads, multi-core, OpenGL, Camera, FAT, NTFS, TCP/IP, USB and more in 3MB with 2 second boot!

avra

  • Hero Member
  • *****
  • Posts: 2514
    • Additional info
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
ct2laz - Conversion between Lazarus and CodeTyphon
bithelpers - Bit manipulation for standard types
pasettimino - Siemens S7 PLC lib

 

TinyPortal © 2005-2018