Raspberry Pi B+ with uboot and genode
rmillo
rmillo at ...210...
Thu May 18 15:46:07 CEST 2017
Hi Bernhard
Basically the Raspberry PI 1 Model B+ has the same base as Model B, but
it has some improvements such as more GPIO Pins. The UART GPIO pins are
the same in both models:
https://www.raspberrypi.org/documentation/usage/gpio-plus-and-raspi2/README.md
https://pinout.xyz/#
But I think they should be some differences between Model B and Model
B+, which are not specified in the original datahseet (BCM2835 dated
2012 and Model B+ release on 2014), the same for Model B. As Stefan
recommended, check in Linux kernel the addresses the initial
configuration of the UART, and the hardware in general.
I do not have in my hands a Model B+ to test, because if there are
significant differences it is likely that Fiasco.OC kernel is not
completely functional in that model. Try to start compiling Genode for
RPi using the base-hw platform (hw_rpi). This will serve as a starting
point to put GenodeOS on the Model B+, since the implementation of this
is about Genode, and is easier to understand and modify.
When I began to work with Fiasco.OC+GenodeOS on RPi Model B, I used
base-hw as start point to test the hardware and its components.
The firmware its not the problem, i have tested Fiasco.OC+GenodeOS with
a more recently firmware on Model B.
What kernel_address on config.txt are you using? I use 0x00800000 to
load directly the the raw img.
How are you creating the raw img? I use
genode-arm-objcopy -O binary $elf_img $raw_img
Best regards
On 18/05/2017 05:31 AM, Stefan Kalkowski wrote:
> Hi Bernhard,
>
> On 05/10/2017 07:24 PM, Bernhard Blieninger wrote:
>> Hi,
>>
>>
>> I am currently working to get the raspberry pi b+ working with genode.
>> I started with an raspberry pi uboot and a tftp server where
>> genode.img
>> lies on.
>> The sd card was flashed via dd and the sd card image from here:
>> http://wiki.beyondlogic.org/index.php?title=Compiling_uBoot_RaspberryPi
>>
>> For the genode image I used the newest version of genode on github and
>> compiled a foc_rpi and an rpi with this command:
>>
>> ./tool/create_builddir foc_rpi BUILD_DIR=buildrpi
>>
>> or that
>>
>> ./tool/create_builddir rpi BUILD_DIR=./build-rpi
>>
>> and the command
>>
>> make run/demo
>>
>> This is working with the Raspberry Pi B(!) but when i put the sd card
>> in
>> the Raspberry Pi B +(!) it is not even booting.
>>
>> Therefore i prepared a sd card with raspbian and changed the
>> kernel.img
>> with the newly compiled u-boot.bin from
>> http://git.denx.de/u-boot.git
>> The sd card now boots again and shows u-boot but if I want to load
>> genode.img it does not continue.
>> If genode is loaded, for example by manually triggering it with bootz,
>> the serial connected minicom screen shows encoding problem nonsense.
>> Starting up a linux kernel works. If I start genode.img directly from
>> the sd card it is not working either.
>>
>> If I try this sd card with the Raspberry Pi B(!) it is not working.
>> What I have tested in a last step is, what happens if I substitute
>> the
>> u-boot.bin with the genode.img while using the sd card image that was
>> provided by beyondlogic in the first place, this is working for the B
>> model but not for the B +.
>> Also tried a fresh sd card format it to fat16 and put all the stuff on
>> it, which is in the boot folder from
>> https://github.com/raspberrypi/firmware , but that is also not
>> working.
>>
>> So I assume, that either the bootcode.bin and/or start.elf provided
>> by
>> raspberry are too new to use them with genode.
>> I could maybe find older versions but I would just like to ask if this
>> will help, maybe genode was never (meant to) run with some raspberry
>> boot code that is newer then 2013.11
>> (http://genode.org/documentation/release-notes/13.11#Raspberry_Pi).
>>
>> Thanks in Advance for your help.
>
> I do not think its a "firmware is too new" issue. I guess it is more a
> question of how is the firmware configured, and what are the actual
> differences in between Model 1 B and 1 B+.
> The first question is, what exactly is not working. If everything stays
> blank after u-boot started the kernel, then probably Genode does not
> use
> the right physical address for the UART's memory mapped I/O registers,
> either because they've changed in between both board revisions, or
> because the firmware is configured in a different way than before resp.
> configures the GPIO pins to connect to a different (serial) device. In
> that case, you might study the options in config.txt for your specific
> model. Alternatively, you might somehow find out which UART and base
> address Linux is using on the device, e.g. in /proc/iomem.
>
> Unfortunately, I do not have such device, and therefore cannot
> reproduce
> that problem.
>
> Regards
> Stefan
>
>
>>
>>
>>
>> Best Regards,
>>
>> Bernhard.
>>
>>
>> ------------------------------------------------------------------------------
>> Check out the vibrant tech community on one of the world's most
>> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
>>
>>
>>
>> _______________________________________________
>> genode-main mailing list
>> genode-main at lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/genode-main
>>
--
MSc. Reinier Millo Sánchez
Centro de Estudios de Informática
Universidad Central "Marta Abreu" de Las Villas
Carretera a Camajuaní Km 5 1/2
Santa Clara, Villa Clara, Cuba
CP 54830
More information about the users
mailing list