Go to advanced search

by Ultibo
Sat Apr 14, 2018 2:36 am
Forum: Bare metal, Assembly language
Topic: Multithreading in RPI 3 64 bit
Replies: 1
Views: 916

Re: Multithreading in RPI 3 64 bit

For Now I have all cores parked using WFI how do i wakeup these cores .I am using 64 bit for the bare metal os. I want to implement threads on The RPI3 Bare OS.So i have looked through the ldrex,strexeq . Apart from the exclusive access are there any hardware support available for threads in RPI3 A...
by Ultibo
Fri Apr 06, 2018 10:45 am
Forum: Bare metal, Assembly language
Topic: Pi 3B+ Activity LED
Replies: 23
Views: 9674

Re: Pi 3B+ Activity LED

jsimmonds wrote:
Thu Apr 05, 2018 1:53 am
@Ultibo : Appreciate your helpful response . .
No problem, glad it was useful.

Good luck with whatever you are doing.
by Ultibo
Thu Apr 05, 2018 12:02 am
Forum: Bare metal, Assembly language
Topic: Pi 3B+ Activity LED
Replies: 23
Views: 9674

Re: Pi 3B+ Activity LED

If you also know the Broadcom GPIO number of the PWR_LED , I'd *love* to know that too 8-) No such luck with the PWD_LED, it is still connected to the GPIO expander that is only available using the mailbox interface. We posted some info last year about the GPIO expander , that interface still works...
by Ultibo
Thu Mar 29, 2018 10:04 am
Forum: Bare metal, Assembly language
Topic: [Solved] Physical Memory Address Range - Pi B+
Replies: 1
Views: 738

Re: Physical Memory Address Range - Pi B+

The document only says that "Software accessing RAM directly must use physical addresses (based at 0x00000000)", but how far does it range? Raspberry Pi A+/B+/Zero/ZeroW - 512MB from 0x00000000 to 0x1FFFFFFF Raspberry Pi 2B/3B/3B+ - 1024MB from 0x00000000 to 0x3FFFFFFF If you are accessing it in ba...
by Ultibo
Tue Mar 20, 2018 11:32 am
Forum: Bare metal, Assembly language
Topic: Executing code on a particular core (RPi 2)
Replies: 23
Views: 6427

Re: Executing code on a particular core (RPi 2)

So to be clear the code represents a hyperthread spinlock, that is all it has ever claimed to be. ... The reason the hyperthread spinlock works so well is because... I've never heard of a "hyperthread spinlock" and sadly neither has Google :? I'm really not sure you are being fair dinkum Leon, plea...
by Ultibo
Tue Mar 20, 2018 9:35 am
Forum: Bare metal, Assembly language
Topic: Executing code on a particular core (RPi 2)
Replies: 23
Views: 6427

Re: Executing code on a particular core (RPi 2)

I don't intend to get caught up in some long running post that goes wildly off track from the original point so I'll just add the following. Of course modern operating systems run an idle loop when there is no other work to do and many switch the CPU to a lower power state during that loop as well, ...
by Ultibo
Mon Mar 19, 2018 10:07 am
Forum: Bare metal, Assembly language
Topic: Executing code on a particular core (RPi 2)
Replies: 23
Views: 6427

Re: Executing code on a particular core (RPi 2)

I never understand that statement because the cores only ever spinloop when then is nothing to do (in fact as per the example you usually sleep them in the loop) and I have never seen a switcher/IPC code setup like that. If you use the mailbox as a sort of super simple task scheduler like in your M...
by Ultibo
Mon Mar 19, 2018 7:18 am
Forum: Bare metal, Assembly language
Topic: Pi 3B+ Activity LED
Replies: 23
Views: 9674

Pi 3B+ Activity LED

It seems odd that no one has even mentioned the 3B+ in the bare metal forum yet so I'll be the first. Since the change that came with the Pi 3 to put the activity LED on a virtual GPIO accessible only by using a mailbox call caused so much consternation to those trying to get started with bare metal...
by Ultibo
Sat Mar 17, 2018 10:03 am
Forum: Bare metal, Assembly language
Topic: Executing code on a particular core (RPi 2)
Replies: 23
Views: 6427

Re: Executing code on a particular core (RPi 2)

It isn't clear why exactly they built the mailbox as hardware perhaps they had a different idea of how core communication would work. I think that's been covered previously, the mailbox is hardware so it can generate an interrupt. When you want to do IPC and still have your CPU do real work at the ...
by Ultibo
Wed Jan 10, 2018 10:43 am
Forum: Bare metal, Assembly language
Topic: What can be realistically programmed in assembler today?
Replies: 39
Views: 7551

Re: What can be realistically programmed in assembler today?

Standing on my soap box the biggest problem we have is not enough folks care about how things work, not enough actual/real bare metal programmers (thank the gods for this forum) not enough assembly programmers not enough folks that can understand how a compiler works or how to manipulate it to chan...
by Ultibo
Sun Dec 03, 2017 10:18 am
Forum: Bare metal, Assembly language
Topic: Ultibo core a bare metal environment for Raspberry Pi
Replies: 65
Views: 21996

Re: Ultibo core a bare metal environment for Raspberry Pi

Thanks blippy! I used the version for Windows, but I would like to get it working in Linux. Just in case you didn't see it, we recently released an installer script for Linux that makes the process much simpler, you can find the details at https://ultibo.org/forum/viewtopic.php?f=4&t=887#p5593. This...
by Ultibo
Tue Oct 17, 2017 3:28 am
Forum: Camera board
Topic: MMAL callback problems using own code
Replies: 1
Views: 589

Re: MMAL callback problems using own code

The example provided by totolia helped to narrow down a memory overwrite bug in the Ultibo VCHIQ driver when using buffers from non contiguous physical memory and we've now updated the driver to include a fix. With this fix in place totolia's camera code works exactly the same in Ultibo as it does i...
by Ultibo
Mon Oct 16, 2017 11:44 pm
Forum: Bare metal, Assembly language
Topic: Pasring a layout file and creating a display
Replies: 3
Views: 1054

Re: Pasring a layout file and creating a display

So I'm working on a project that requires me to use some kind of embedded device that recieves a layout file (XML, Json, etc.), parses it, and creates a simple display on a touchscreen (some simple buttons with text on them mostly). If a button on the screen is hit, the device sends a message back ...
by Ultibo
Mon Oct 02, 2017 2:16 am
Forum: Bare metal, Assembly language
Topic: Bare-metal SPI Display using GPU
Replies: 8
Views: 3647

Re: Bare-metal SPI Display using GPU

Given that the focus of this forum is on bare metal development and all of the solutions presented so far focus on Linux :roll: , here is an Ultibo example of rendering OpenGL ES on the GPU and outputting the result on an SPI display (HX8357 TFT LCD) completely without Linux. https://github.com/ulti...
by Ultibo
Fri Sep 29, 2017 10:34 am
Forum: Bare metal, Assembly language
Topic: ACT LED on RPi Zero W
Replies: 5
Views: 4651

Re: ACT LED on RPi Zero W

I'm still wondering though how I should have found this out myself, where would I search for this information other than get it from people that already know it? The official schematics sort of almost show it but sometimes there is not enough detail or they are not released immediately with a new b...
by Ultibo
Fri Sep 29, 2017 12:02 am
Forum: Bare metal, Assembly language
Topic: ACT LED on RPi Zero W
Replies: 5
Views: 4651

Re: ACT LED on RPi Zero W

I think it's because the LED is on another GPIO Pin on the Zero W than on the A or B, but I just can't find out what Pin it would be for me. On both the Zero and Zero W the Activity LED is on GPIO Pin 47, the same as the A+/B+/2B but different to the original A and B models (which are on GPIO pin 1...
by Ultibo
Mon Sep 25, 2017 2:13 am
Forum: Bare metal, Assembly language
Topic: Ultibo core 2.0, now with OpenGL ES, OpenVG, OpenMAX...
Replies: 30
Views: 7630

Re: Ultibo core 2.0, now with OpenGL ES, OpenVG, OpenMAX...

Which other OS not based on Linux supports the 3D/video hardware ??? FreeBSD seems the only one. The only examples we were able to find were FreeBSD (which possibly also includes NetBSD etc), Windows 10 IoT and RiscOS. I'm not sure if RiscOS has complete support for all of the functionality, certai...
by Ultibo
Tue Sep 19, 2017 9:46 am
Forum: Bare metal, Assembly language
Topic: Ultibo core 2.0, now with OpenGL ES, OpenVG, OpenMAX...
Replies: 30
Views: 7630

Ultibo core 2.0, now with OpenGL ES, OpenVG, OpenMAX...

We've just released Ultibo core 2.0 and the major new feature is full support for the VideoCore IV GPU in all models of the Pi, that means Ultibo can now take advantage of hardware accelerated graphics including OpenGL ES for 3D, OpenVG for 2D, OpenMAX IL for multimedia audio and video as well as th...
by Ultibo
Mon Aug 14, 2017 11:46 pm
Forum: Bare metal, Assembly language
Topic: pi3 PMU interrupt settings
Replies: 6
Views: 2237

Re: pi3 PMU interrupt settings

Is there documentation available on what these settings should be for pi3? Hi, The PMU interrupts appear in the local peripherals block on the Pi2 and Pi3, section 4.10 of the QA7 document shows it as bit 9 of the core Interrupt source registers. There is one register for each core but the layout i...
by Ultibo
Sat Aug 12, 2017 10:07 am
Forum: Bare metal, Assembly language
Topic: AARCH64 hard floats
Replies: 10
Views: 3049

Re: AARCH64 hard floats

what does an mmu on vs off have to do with anything? do you mean data cache is on vs off (instead of mmu)? Enabling the data cache without also enabling the MMU has very little impact because you need the MMU to mark memory pages as cacheable, shared, device, executable etc etc etc. According to th...
by Ultibo
Thu Aug 10, 2017 11:33 pm
Forum: Bare metal, Assembly language
Topic: AARCH64 hard floats
Replies: 10
Views: 3049

Re: AARCH64 hard floats

The other question is do I have to turn on the MMU to get the neon FPU online? Without the MMU then any difference between hard and soft floating point will likely be insignificant, the biggest performance gain available is from enabling the MMU which allows full use of the L1 and L2 caches. Of cou...
by Ultibo
Mon Jul 24, 2017 11:51 pm
Forum: Bare metal, Assembly language
Topic: Run all 4 cores Raspberry Pi 3
Replies: 32
Views: 8598

Re: Run all 4 cores Raspberry Pi 3

Is there any way to ensure that two cores aren't attempting to access, say, a semaphore at the same time? You might be asking the wrong question really, semaphores, spinlocks and mutexes etc are what you use to protect code and data from being accessed by multiple cores in cases where it would caus...
by Ultibo
Sat Jul 15, 2017 11:10 am
Forum: Bare metal, Assembly language
Topic: Code not working
Replies: 14
Views: 2654

Re: Code not working

Where can I find this documentation? All I've found is people replying on forums with which GPIO pins are LED/power, but I can't find the documentation... What am I missing? You could look at the schematics (where they exist) or you could trawl through the Linux drivers, except that they often no l...
by Ultibo
Tue Jun 27, 2017 11:47 pm
Forum: Bare metal, Assembly language
Topic: Interrupts time and memory?
Replies: 94
Views: 10741

Re: Interrupts time and memory?

Currently playing with the timer, appears so far to be 250Mhz/256 like the system timer The SYSTIMERCLO timer and the cntpct_el0 timer are fairly close, but there is about a 2 count or so per second difference between them. David, The QA7 document indicates that the clock for the generic timer come...
by Ultibo
Tue Jun 27, 2017 12:31 am
Forum: Bare metal, Assembly language
Topic: Interrupts time and memory?
Replies: 94
Views: 10741

Re: Interrupts time and memory?

but perhaps the GIC is it...There is supposed to be a timer as well... David, Neither the Pi2 or Pi3 contain a GIC, only the proprietary interrupt controller documented in the BCM2835 Peripherals document plus some extra extensions in the QA7 document for a small number of per CPU interrupts. They ...

Go to advanced search