Go to advanced search

by Ultibo
Thu Aug 25, 2016 3:17 am
Forum: Bare metal, Assembly language
Topic: RPI3 & Commodore PI
Replies: 4
Views: 1441

Re: RPI3

So Im curious was has changed in the last year with the 3? I can't tell from the link you posted or from your GitHub if you ever had this working with an RPi2. There were huge changes between the original Pi (A/B/A+/B+) and the Pi 2 but only minor changes (from a bare metal perspective) between the...
by Ultibo
Thu Aug 25, 2016 3:04 am
Forum: Bare metal, Assembly language
Topic: Ultibo core a bare metal environment for Raspberry Pi
Replies: 65
Views: 22478

Re: Ultibo core a bare metal environment for Raspberry Pi

My choice here is to either brush up on it, or beg you to provide a C compiler in addition. Would it be possible? I'd suggest both could work, while we won't be looking to convert the entire project to C anytime soon we also know that getting access to the vast amount of code written in C (and othe...
by Ultibo
Tue Aug 02, 2016 7:48 am
Forum: Bare metal, Assembly language
Topic: How To Use The Framebuffer?
Replies: 14
Views: 5820

Re: How To Use The Framebuffer?

Here is the code I'm using. There are 3 separate files, mailbox.c, vc_tags.c and framebuffer.c: The only thing I can see that doesn't look correct is in the framebuffer_init() function you OR the buffer address with 0x40000000 which I'm pretty sure has to be 0xC0000000 on a Pi2 or 3. I'm not sure i...
by Ultibo
Mon Aug 01, 2016 1:49 am
Forum: Bare metal, Assembly language
Topic: How To Use The Framebuffer?
Replies: 14
Views: 5820

Re: How To Use The Framebuffer?

Hi Judd, The address returned is "0xCE9A2000" and the size is "0x00258000". Something seems odd about a returned address of 0xCE9A2000 since the address returned by the GPU will normally be (once converted to a physical address) within the assigned GPU RAM (towards the top of the first 1GB). The are...
by Ultibo
Thu Jun 30, 2016 10:58 am
Forum: Bare metal, Assembly language
Topic: Ultibo core a bare metal environment for Raspberry Pi
Replies: 65
Views: 22478

Re: Ultibo core a bare metal environment for Raspberry Pi

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 Seria...
by Ultibo
Sun Jun 05, 2016 10:05 am
Forum: Bare metal, Assembly language
Topic: Ultibo core a bare metal environment for Raspberry Pi
Replies: 65
Views: 22478

Re: Ultibo core a bare metal environment for Raspberry Pi

Thanks Gavinmc42! For my IoT applications remote coding over SSH would be nice TLS support, which will give SSH and HTTPS, is being worked on. There is still a bit to go yet but it is happening. Maybe micropython or Lua? We've certainly been looking at micropython for a scripting language, could be ...
by Ultibo
Thu May 26, 2016 10:22 am
Forum: Bare metal, Assembly language
Topic: Ultibo core a bare metal environment for Raspberry Pi
Replies: 65
Views: 22478

Re: Ultibo core a bare metal environment for Raspberry Pi

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.
by Ultibo
Sun May 15, 2016 2:28 am
Forum: Bare metal, Assembly language
Topic: Translate uniformly physical adress to the BUS adress - DMA
Replies: 4
Views: 1171

Re: Translate uniformly physical adress to the BUS adress -

Hi, What you are seeing is just a trick of 32 bit binary arithmetic. The GPU returns you the address 0xFD402000 which is a BUS address in the region 0xC0000000 (0xC0000000 to 0xFFFFFFFF) and you can do this 0xFD402000 + 0x40000000 = 0x3D402000 or this 0xFD402000 and not(0xC0000000) = 0x3D402000 to g...
by Ultibo
Sat May 14, 2016 2:50 am
Forum: Bare metal, Assembly language
Topic: Translate uniformly physical adress to the BUS adress - DMA
Replies: 4
Views: 1171

Re: Translate uniformly physical adress to the BUS adress -

Hi, I'm assuming that you are allocating a framebuffer by using the GPU mailbox functions and the GPUBufferPtr in your example is the value returned from that call. To use DMA to copy from memory to the framebuffer both the source and destination address need to be BUS addresses. On the Pi there are...
by Ultibo
Sat Apr 09, 2016 2:25 am
Forum: Bare metal, Assembly language
Topic: Introducing USPi - A bare metal USB driver written in C
Replies: 73
Views: 21651

Re: Introducing USPi - A bare metal USB driver written in C

I'm not sure if Ultibo supports hotplugging. Yes, Ultibo core does support hotplugging (connect / disconnect) for all USB devices. For tarkshya, if you are interested in adding this support to USPi there are sort of two halves to the question. First the connect and disconnect events which (as rst s...
by Ultibo
Tue Mar 29, 2016 2:38 am
Forum: Bare metal, Assembly language
Topic: Firmware question?
Replies: 38
Views: 5303

Re: Firmware question?

Hi David, Looks like you've got it now! The combination of the caching being on and your bootloader loading code into memory to execute does explain a lot about the odd behavior you were seeing. Just to clarify the situation with the VBAR, it is a banked register so you can read/write it in both sec...
by Ultibo
Sun Mar 27, 2016 9:50 am
Forum: Bare metal, Assembly language
Topic: Firmware question?
Replies: 38
Views: 5303

Re: Firmware question?

Hi AlfredJingle, The primary reason for the cache clean, invalidate, barrier sequence is because I couldn't get the behavior to work predictably without it, sometimes it would work sometimes not depending on the timing. We know from the snippet of code released on pastebin (see the header of my file...
by Ultibo
Sun Mar 27, 2016 2:01 am
Forum: Bare metal, Assembly language
Topic: Firmware question?
Replies: 38
Views: 5303

Re: Firmware question?

Hi David, Since so many people seem to start with your examples I think it would be great if you could get the handling of this included. This HYP mode issue seems to be a bit of a roadblock for many trying out bare metal on the Pi. I reread your posts a few times to try and understand what you are ...
by Ultibo
Sat Mar 26, 2016 1:30 am
Forum: Bare metal, Assembly language
Topic: Firmware question?
Replies: 38
Views: 5303

Re: Firmware question?

The HYP mode issue keeps coming up so there are a few posts about it on this forum, sometimes the same answer in a different way can help to make this clearer. If you have a look at this file https://github.com/ultibohub/Core/blob/master/source/rtl/ultibo/core/bootrpi2.pas it contains the code for b...
by Ultibo
Tue Mar 15, 2016 3:48 am
Forum: Bare metal, Assembly language
Topic: Ultibo core a bare metal environment for Raspberry Pi
Replies: 65
Views: 22478

Re: Ultibo core a bare metal environment for Raspberry Pi

For those following the project, the new RPi3 is now fully supported (including the non GPIO activity LED) in 32 bit mode.

Full details and how to update here:

https://ultibo.org/forum/viewtopic.php?f=4&t=52
by Ultibo
Tue Mar 08, 2016 2:08 am
Forum: Bare metal, Assembly language
Topic: Ultibo core a bare metal environment for Raspberry Pi
Replies: 65
Views: 22478

Re: Ultibo core a bare metal environment for Raspberry Pi

Thanks Ahmadian, I think about mixing FpGui with Ultibo. Is it possible? fpGUI has been suggested by a few people already, 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 e...
by Ultibo
Tue Feb 09, 2016 11:56 pm
Forum: Bare metal, Assembly language
Topic: Ultibo core a bare metal environment for Raspberry Pi
Replies: 65
Views: 22478

Re: Ultibo core a bare metal environment for Raspberry Pi

Is it possible to use c++ code together with ultibo ? Free Pascal supports linking code from other languages via standard .o files and supports different calling conventions to handle the stack behaviour etc. There is some documentation here for linking with external object files. The Free Pascal f...
by Ultibo
Mon Feb 08, 2016 4:08 am
Forum: Bare metal, Assembly language
Topic: multiple timers on RPi2?
Replies: 5
Views: 3134

Re: multiple timers on RPi2?

Hi Bruce, The QA7 document does actually contain most of the info you need to get multiple timers per core, it just isn't always clear unless you also know about some other ARM specific info. The Local Timer you have been using at 0x40000034 is a single timer only which seems to be implemented as pa...
by Ultibo
Sun Feb 07, 2016 2:06 am
Forum: Bare metal, Assembly language
Topic: Ultibo core a bare metal environment for Raspberry Pi
Replies: 65
Views: 22478

Re: Ultibo core a bare metal environment for Raspberry Pi

the Console Window displaying the Ultibo release date when the Pi boots is in an ambiguous, non-ISO 8601 format, dates for DIR when telneting in the same As the locale support evolves a little more the dates will be in the format of the selected locale, right now they are just the Free Pascal RTL d...
by Ultibo
Sat Feb 06, 2016 1:07 am
Forum: Bare metal, Assembly language
Topic: Ultibo core a bare metal environment for Raspberry Pi
Replies: 65
Views: 22478

Re: Ultibo core a bare metal environment for Raspberry Pi

doesnt sound very bare metal to me...cool, useful, sure...but I really don't understand what you mean. Bare metal means no operating system, Ultibo core does not use an operating system on the Pi. We started at the beginning by blinking an LED just like you did and then we built on top of that by a...
by Ultibo
Thu Feb 04, 2016 2:45 am
Forum: Bare metal, Assembly language
Topic: STICKY: Bare Metal resources
Replies: 26
Views: 112571

Re: Bare Metal resources

Full featured Raspberry Pi bare metal in Free Pascal

https://ultibo.org

Includes threading, networking, filesystems, USB, MMC/SD and more.
by Ultibo
Wed Feb 03, 2016 9:49 am
Forum: Bare metal, Assembly language
Topic: Ultibo core a bare metal environment for Raspberry Pi
Replies: 65
Views: 22478

Ultibo core a bare metal environment for Raspberry Pi

Announcing Ultibo core, a bare metal development environment for Raspberry Pi (all models). Ultibo core is a unikernel or kernel in an RTL designed to make bare metal development accessible to all. Features include: Support for all models of Raspberry Pi (A/B/A+/B+/2B/Zero) Pre-emptive threading Ful...
by Ultibo
Thu Jan 14, 2016 11:07 pm
Forum: Bare metal, Assembly language
Topic: Rpi Custom OS
Replies: 3
Views: 1359

Re: Rpi Custom OS

Since the original poster did not specify exactly what they meant by creating a custom OS then PiLFS is a good suggestion, however since this is a bare metal forum it could also be assumed they wanted to write their own OS. To cover that possibility, here are the most common resources: https://www.c...
by Ultibo
Sun Jan 03, 2016 2:02 am
Forum: Bare metal, Assembly language
Topic: Raspberry Pi 2 (bcm2836) multi core
Replies: 11
Views: 4006

Re: Raspberry Pi 2 (bcm2836) multi core

I think if you look closely at the code, cores 1 to 3 are actually looping in the code between 0xcc and 0xd4, when you write an address to the mailbox that ends up in r4 and the core will branch to that address at 0xe8 The wfi loop at 0xec seems to be only used if an invalid core number is encounter...
by Ultibo
Sun Jan 03, 2016 12:58 am
Forum: Bare metal, Assembly language
Topic: Raspberry Pi 2 (bcm2836) multi core
Replies: 11
Views: 4006

Re: Raspberry Pi 2 (bcm2836) multi core

David, I think you should have look at the piece of code here http://pastebin.com/rgGgBuTN I don't know who posted this but it was referred to by rpdom in another post and it appears to be the actual code that the 4 cores execute on boot (at 0x00000000) Note that this is prior to the HYP mode change...

Go to advanced search