The serial driver in the elfloader and kernel are very limited. It doesn't perform any baud rate configuration and hence won't be affected by frequency variations between platforms. Only the user space drivers are affected.
Memory is defined in the kernel here: https://github.com/seL4/seL4/blob/master/include/plat/zynq7000/plat/mac hine/hardware.h#L57
Note that the kernel will limit usable memory to ~512MB. It is probably safe to assume that your 128MB memory is in the range 0x00000000 to 0x08000000.
Additionally, the start address of the elfloader must be changed to a valid address: https://github.com/seL4/seL4_tools/blob/master/elfloader- tool/gen_boot_image.sh#L51
Try 0x04000000 or 0x06000000.
On Sat, 2017-11-11 at 08:46 +0100, Joel Svensson wrote:
Thanks again Alex,
I'm suspecting something else (to begin with). Since I do get some output from elf_loader I went in there and added a few printfs. It seems execution just stops when it has entered into the unpack_elf_to_paddr function. It seems to be a memset call in there that just locks up any progress.
One big difference my platform and the supported one is the amount of memory. The board I tried this on has only 128mb. Is it possible that I need to change some memory layout-describing files to take this into account.
If 128mb is just way too little I have some 512mb variants as well.
At least for elf_loader it seems the uart setup is compatible with the configuration for the supported board. Maybe this will be a problem again, later in the boot process, but right now I suspect the memory difference.
Thanks again and have a great weekend. /Joel
On Sat, Nov 11, 2017 at 12:42 AM, Alexander.Kroh@data61.csiro.au wrote:
You could try changing the reported frequency of the UART reference clock: https://github.com/seL4/util_libs/blob/master/libplatsupport/src/ma ch/z ynq/serial.c#L20
Or you could skip the baudrate configuration step altogether: https://github.com/seL4/util_libs/blob/master/libplatsupport/src/ma ch/z ynq/serial.c#L379
On Fri, 2017-11-10 at 07:51 +0100, Joel Svensson wrote:
Hello Alex and thank you.
You assumption is correct, I am on a non-supported platform (the Trenz ZynqBerry). So probably some tweaks will be needed. Do you suspect that I will need to make these changes in the sel4 code or will finding and changing some configuration file be
First, of course, I need to figure out what the important
between the ZC706 and the ZynqBerry are.
I was using the release build but now switched to debug and tried that as well. That did not produce any additional output. So that UART configuration changes are needed sound very
Thanks again and have a great day /Joel
On Fri, Nov 10, 2017 at 12:18 AM, <Alexander.Kroh@data61.csiro.au
Which Zynq-7000 platform are you using? The supported platform is the ZC706. Other platforms might need some trivial changes, particularly for UART baudrate configuration.
Are you using the debug or release config? The debug build should show additional messages during boot.
On Thu, 2017-11-09 at 13:35 +0100, Joel Svensson wrote:
I want to learn about seL4 so I am trying to get is started
hardware I already have (a zynq 7000).
I have generated the image: sel4test-driver-image-arm-
Now I try to load that onto the zynq by executing these
XMD: connect arm hw rst fpga -f design_1_wrapper.bit source ps7_init.tcl ps7_init ps7_post_config dow sel4test-driver-image-arm-zynq7000 run
All of the above seem to be successful. Then, I have a serial
hooked up to the board (uart) and there I get the following output (screen /dev/ttyUSB1
ELF-loader started on CPU: ARM Ltd. Cortex-A9 r3p0 paddr=[10000000..103c881f] ELF-loading image 'kernel' paddr=[0..2afff] vaddr=[e0000000..e002afff] virt_entry=e0000000
But then nothing more. I am lost what to do from this
order to continue exploring seL4. I don't even know if what I see is an indication of a problem
not. If anyone has experience in running seL4 on zynq and if you
knowledge you want to share, please fill me in.
Devel mailing list Devel@sel4.systems https://sel4.systems/lists/listinfo/devel