Re: Barebox as first and second stage bootloader

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 02/26/2020 04:08 PM, Ahmad Fatoum wrote:
Hello,

On 2/26/20 3:46 PM, gianluca wrote:
Not sure how this relates to booting over USB? You shouldn't need any
fuses burnt (but you can probably burn some to stop fallback to DFU)


I was trying to say that I didn't know how the fallback is managed DFU via serial, usb or whatever or it is managed by some OTP fuses.

For development use, you can use the BOOT pins to configure DFU:
https://www.barebox.org/doc/latest/boards/stm32mp.html#boot-source-selection


Ok I will check that.


So I need a simple implementation of a SDRAM setup, a secure monitor (TF-A). What do you are using at the moment?

I am using TF-A v2.2. I thought about having a simple SDRAM setup in barebox
for flashing purposes, but got talked out of it, because that was code that's
untested unless you are doing a initial bring up and would be prone to bit rot.

Either go all the way, or don't.


I understand. If TF-A v2.2 is setting the SDRAM correctly and if it is installing a secure monitor, I can use that.

My goals are to setup the SDRAM and the secure monitor via USB (with DFU STM32 Cube Programmer), then loading via usb (using the same STM32 Cube Programmer) the barebox-stm32mp157c-dk2.img in the external SDRAM addresses.

I haven't tested this, but it should work. barebox doesn't need anything
special to be flashed by the DFU.


Not flashed into eMMC but stored into external SDRAM then let it run from there.

When barebox is done, it will download from a TFTP server the production stuff (SDRAM setup, secure monitor, barebox-stm32mp157c-dk2-PRODUCTION.img) and write those stuff into eMMC partitions.

Doesn't the STM32 Cube Programmer already come with the necessary infrastructure
to partition the eMMC and write the images over USB?


Using the latest en.stm32cubeprog_v2-3-0.zip of 172Mb I have found nothing. Maybe I am the dumbest person in the world, but a quick search I was not be able to find anything useful for that.

Using the above procedure the USB support is given only by ROM Code written by ST, not by Barebox.

Not exactly, you communicate with the ROM Code to get TF-A into On-Chip RAM. Then you talk with
TF-A to get SSBL into SDRAM. Then you talk with SSBL to flash the rest. That's how the
STM32 Cube Programmer does it.


the TF-A talk to get SSBL into SDRAM could be done with STM32Cube Programmer? I.e. the TF-A know something about the USB stuff??

What about the ethernet support (with tftpboot) in Barebox for this STM32MP157 SoC???

See below[0].


Error 404

Is there somebody who is working with STM32 Cube Programmer or DFU-Utils to obtain this boot??

I don't think so. We will want to have a solution for this eventually though. Probably some
wrapper script that uses DFU to talk to BootROM, then to vendor TF-A, then to barebox.


Having this wrapper script will be great. I will be grateful for the rest of my (working) life. ;-P

I'll take a look, once we have USB gadget support on the STM32.
Can't say for sure when this will be though. There are means[1] to
accelerate this however. ;-)


For sure, but from a production point of view, the usb must be connected as little as possible. It is better to download everything from Ethernet and/or from NFS rootfilesystem to me.

As I understood, that's what the STM32CubeProgrammer is doing and it's shipped with
a FSBL and SSBL already for bootstrapping a system. Have you tried using that to
flash barebox?


Not really. I will check asap. In that way I could run barebox from a bootstrapped system using STM32CubeProgrammer FSBL and SSBL and hooking at the procedure as explained above.

AN5275[0] says that it's really a three stage process like I described.


Like above: PAGE NOT FOUND 404


If you manage to flash barebox with it, a Documentation patch about how to use the CLI version
of the tool would be very much appreciated.



Of course! Even the support for our new boards too! ;-)

[0]: https://www.st.com/content/ccc/resource/technical/document/application_note/group1/63/b3/70/f6/82/33/4e/5e/DM00589815/files/DM00589815.pdf/jcr:content/translations/en.DM00589815.pd
[1]: https://www.pengutronix.de/en/services/integration_testing.html



Regards,
--
Eurek s.r.l.                          |
Electronic Engineering                | http://www.eurek.it
via Celletta 8/B, 40026 Imola, Italy  | Phone: +39-(0)542-609120
p.iva 00690621206 - c.f. 04020030377  | Fax:   +39-(0)542-609212

_______________________________________________
barebox mailing list
barebox@xxxxxxxxxxxxxxxxxxx
http://lists.infradead.org/mailman/listinfo/barebox



[Index of Archives]     [Linux Embedded]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux