Does Ultibo work with the Raspbery PI 3 B+

Discussion and questions about programming with Ultibo.
jefferobertson
Posts: 8
Joined: Fri Aug 10, 2018 4:29 pm

Does Ultibo work with the Raspbery PI 3 B+

Postby jefferobertson » Sat Aug 25, 2018 6:59 pm

I just got a 3 B+, but when I tried it with the Hello world exampled All I get is the color full boot screen.

I followed the create an SD card directions located here: https://ultibo.org/wiki/Getting_Started ... le_SD_card

Raspian boots fine.
jefferobertson
Posts: 8
Joined: Fri Aug 10, 2018 4:29 pm

Re: Does Ultibo work with the Raspbery PI 3 B+

Postby jefferobertson » Sat Aug 25, 2018 10:58 pm

I found two non-ultibo examples that work on the 3B+:

This article: https://www.codeproject.com/Articles/11 ... ated-Suppo
Led me to this: https://github.com/PeterLemon/RaspberryPi

Note: When you edit config.txt make sure you save the file in unix format (line feed only (LF)) not DOS/Windows (LF and carriage return (CR)) or Mac (CR)

The ultibo example does not work. But I did not expect it to. What the above links did was change the load address of kernel7.img to 0x00000000 from 0x00008000 (which is where ultibo loads the image)

I am wondering if the following hope expressed in "unit BootRPi3;" has failed (anyone care to hazard a guess):

Code: Select all

Returning to Secure World:
 --------------------------
 
 The Raspberry Pi 3 firmware always switches to Non Secure world in order to:
 
  a) Reset CNTVOFF (Virtual Offset register) to zero
 
  b) Switch to Hypervisor mode (Firmware later than 2/10/2015)
 
 It is not normally possible (by design) to return from the Non Secure world to the Secure world
 except by invoking the Secure Monitor which then handles any requests in the Secure world.
 
 However due to the fact that this switch is performed by the boot loader code (loaded between
 0x00000000 and 0x000000FF by the firmware) and that the code appears to set the secure, non secure
 and monitor vector base addresses to 0x00000000 and because all memory is writable from non secure
 at boot (the MMU is disabled) then the option exists to return to the Secure world as follows:
 
  - Install a new Secure Monitor Call vector at the appropriate point in the vector table
  - Clean the data cache by Modified Virtual Address at address 0x00000000
  - Perform a data synchronisation barrier
  - Invalidate the entire instruction cache
  - Perform a data synchronisation barrier
  - Perform an instruction synchronisation barrier
  - Perform a Secure Monitor Call (SMC)
 
  - From within the newly installed Secure Monitor Call read the Secure Configuration Register (SCR)
    mask off the Non Secure (NS) bit, rewrite the SCR and then return to Supervisor mode
 
 Secondary cores also switch back to the Secure world using the same technique however they do not
 need to install the new SMC vector and instead use the one installed by the primary core.
 
 Future changes to the firmware will hopefully not invalidate this technique, however there is also
 the option to use the config.txt parameter kernel_old=1 which would load Ultibo at 0x00000000 and
 allow us to setup the boot state independent of the firmware. This would require changes to both
 Ultibo (this boot module) and to the FPC compiler to change the linker start location.
                   
mark
Posts: 1185
Joined: Mon Oct 03, 2016 2:12 am
Location: Indianapolis, US

Re: Does Ultibo work with the Raspbery PI 3 B+

Postby mark » Sun Aug 26, 2018 12:43 am

viewtopic.php?f=13&t=1146&p=7567&hilit=ok+all+sorted#p7567

You may need to update your ultibo rtl. Which version do you have installed? Mark.
Ultibo - The Internet of Things that Just Work
User avatar
Ultibo
Site Admin
Posts: 1978
Joined: Sat Dec 19, 2015 3:49 am
Location: Australia

Re: Does Ultibo work with the Raspbery PI 3 B+

Postby Ultibo » Sun Aug 26, 2018 12:46 am

jefferobertson wrote:I just got a 3 B+, but when I tried it with the Hello world exampled All I get is the color full boot screen.

Hi,

I'm a little surprised no one else has answered this.

If you had searched a little further on the forum and found the other threads that discuss the Pi 3B+ you could have saved yourself some time.

The original announcement of support is here (from March 19 2018):

Re: Pi day and the new Raspberry Pi 3 Model B+

And the subsequent announcement of support for the new network device (from April 15 2018):

New driver for LAN78XX USB Gigabit Ethernet (Raspberry Pi 3B+)

The current Ultibo installer does not include these updates so you have to download and update your RTL to the latest version by following either the wiki instructions or the YouTube video.

After doing that any image compiled for either Pi 2B or Pi 3B will also work on Pi 3B+.


Just as an FYI, that series of articles contains a high number of errors and inaccuracies and should not be relied on as a good source of information.

In fact if you ever come across that authors GitHub the whole thing is so wildly incorrect it probably wastes more peoples time than it helps.

jefferobertson wrote:The ultibo example does not work. But I did not expect it to. What the above links did was change the load address of kernel7.img to 0x00000000 from 0x00008000 (which is where ultibo loads the image)

Please note that this is NOT required or supported in Ultibo, I realize you were just experimenting but it is important to emphasize the point so others don't find this post in future and repeat it.

jefferobertson wrote:I am wondering if the following hope expressed in "unit BootRPi3;" has failed (anyone care to hazard a guess):

That comment was written not long after the release of the Pi 2B (and before the 3B or 3B+), at the time the only available information about the boot loader stub was by disassembly or from a non official copy released on paste bin.

Since then the Pi foundation have open sourced the boot stub itself (see https://github.com/raspberrypi/tools/tr ... r/armstubs) so we now have accurate and reliable information about the boot process. There is pretty well nothing they can change that would prevent the technique described in BootRPi3 from continuing to work in future.
Ultibo.org | Make something amazing
https://ultibo.org
jefferobertson
Posts: 8
Joined: Fri Aug 10, 2018 4:29 pm

Re: Does Ultibo work with the Raspbery PI 3 B+

Postby jefferobertson » Sun Aug 26, 2018 2:25 am

Thank you very much. Downloading the newest version got hello world to work.

Ironically I had seen the video before, but did not realize I needed to download a new version so that the Raspberry PI 3B+ would work with ultibo.

Can we sticky the directions to do this somewhere really obvious in the forumn.
User avatar
Ultibo
Site Admin
Posts: 1978
Joined: Sat Dec 19, 2015 3:49 am
Location: Australia

Re: Does Ultibo work with the Raspbery PI 3 B+

Postby Ultibo » Sun Aug 26, 2018 11:19 pm

Ultibo wrote:I'm a little surprised no one else has answered this.

Correction, I notice that Mark answered just a few minutes before I did!

jefferobertson wrote:Can we sticky the directions to do this somewhere really obvious in the forumn.

The next release of the Ultibo installer is due out as soon as we complete the first phase of the C/C++ API, these changes will be included in that release.

Of course it is always a good idea to check that your RTL is up to date if you run into any problems, just in case it has already been resolved.
Ultibo.org | Make something amazing
https://ultibo.org

Return to “General”

Who is online

Users browsing this forum: Google [Bot] and 0 guests