Boot RTEMS on Zynq
Sarmad Ahmad
sarmad101 at hotmail.com
Fri Mar 18 13:15:06 UTC 2022
Hi
I am trying to boot RTEMS on a CORA z7 10
I have built RTEMS as follows
../source-builder/sb-set-builder --prefix=$HOME/quick-start/rtems/5 5/rtems-arm
../source-builder/sb-set-builder --prefix=$HOME/quick-start/rtems/5 \
--target=arm-rtems5 --with-rtems-bsp=xilinx_zynq_a9_qemu --with-rtems-tests=yes 5/rtems-kernel
I create the image file as follows
arm-rtems5-objcopy hello.exe -O binary app.bin
gzip -9 app.bin
mkimage -A arm -O linux -T kernel -a 0x00104000 -e 0x00104000 -n RTEMS -d app.bin.gz rtems-app.img
but I am not sure about the address
after that i created u-boot like this
export ARCH=arm
export CROSS_COMPILE=/usr/bin/arm-linux-gnueabihf-
make mrproper
make xilinx_zynq_virt_defconfig
make
now if i rename the file spl/boot.bin to BOOT.BIN and copy the u-boot.img to the card nothing happens unfortunately
these are the sizes of the files
spl/boot.bin = 121,3kB not sure if this is correct but make prossec at u-boot worked without problems
u-boot.img = 1,2MB
and this is the output of
arm-linux-gnueabihf-readelf -l u-boot
Elf file type is EXEC (executable file)
Entry point 0x40000
There are 2 program headers, starting at offset 52
Program headers:
Type Offset VirtAdr PhysAdr FileGr SpeiGr Flg Ausr.
LOAD 0x010000 0x040000 0x040000 0xeb0f0 0xeb0f0 RWE 0x10000
GNU_STACK 0x0000 0x0000 0x0000 0x00000 0x00000 RWE 0x10
Mapping from section to segment:
Segment Sections...
00 .text .efi_runtime .text_rest .rodata .hash .data .got.plt .u_boot_list .efi_runtime_rel .rel.dyn .bss
01
and this is the output of
arm-linux-gnueabihf-readelf -h u-boot
ELF header:
Magic: 7f 45 4c 46 01 01 00 00 00 00 00 00 00 00 00
Class: ELF32
Data: 2's complement, little-endian
Version: 1 (current)
OS/ABI: UNIX - System V
ABI version: 0
Type: EXEC (executable file)
Machine: ARM
Version: 0x1
Entry point address: 0x40000
Start of program header: 52 (bytes in file)
Start of section headers: 8254932 (bytes in file)
Flags: 0x5000200, Version5 EABI, soft-float ABI
Size of this header: 52 (bytes)
Size of program headers: 32 (bytes)
Number of program headers: 2
Size of section headers: 40 (bytes)
Number of section headers: 27
Section header string table index: 26
1. question is my RTEMS and my RTEMS IMAGE created correctly?
2. is my u-boot created correctly?
3. why doesn't my boot.bin start?
4. how do i find the right address to start my RTEMS application?
5. did I forget something to boot RTEMS correctly?
Thanks for help
Sarmad
More information about the users
mailing list