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@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 ------------------------------------------------------------------------------ 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@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main