Hi Michal, all. (My previous mail contained screenshots which did not make it to the list for all. Michal got it and responded however...)
> On Jun 20, 2019, at 04:17, Michal Simek <[email protected]> wrote: > > can you send your bif file? > Sure, here: the_ROM_image: { [bootloader, destination_cpu=a53-0] /builds/yocto/mymachine/tmp/deploy/images/mymachine/fsbl-mymachine.elf [destination_cpu=pmu] /builds/yocto/mymachine/tmp/deploy/images/mymachine/pmu-firmware-mymachine.elf [destination_cpu=a53-0, exception_level=el-3, trustzone] /builds/yocto/mymachine/tmp/deploy/images/mymachine/arm-trusted-firmware.elf [destination_cpu=a53-0, exception_level=el-2] /builds/yocto/mymachine/tmp/deploy/images/mymachine/linux-boot-simple.elf [load=0xff2000] /builds/yocto/mymachine/tmp/deploy/images/mymachine/mymachine.dtb [load=0x80000] /builds/yocto/mymachine/tmp/deploy/images/mymachine/Image } It is generated from xilinx-bootbin.bb, linux-boot-simple is the trampoline code you provided. .section .text .global _start _start: ldr x17, kernel_start ldr x0, kernel_dts mov x1, xzr mov x2, xzr mov x3, xzr blr x17 .balign 8 kernel_start: .dword __BOOT_LOAD_KERNEL_ADDRESS__ kernel_dts: .dword __BOOT_LOAD_DTB_ADDRESS__ I have this in my layer as recipes-bsp/linux-boot-simple/files/linux-boot-simple.S, the two symbols at the end are replaced by the recipe I made (recipes-bsp/linux-boot-simple/linux-boot-simple.bb) SUMMARY = "Simple Boot Loader for linux ARM Image file" LICENSE = "GPLv2" SRC_URI += "file://linux-boot-simple.s" B = "${WORKDIR}/build" PACKAGE_ARCH = "${MACHINE_ARCH}" inherit xsct-tc do_configure() { sed "s/__BOOT_LOAD_KERNEL_ADDRESS__/${BOOT_LOAD_KERNEL_ADDRESS}/" ${WORKDIR}/${PN}.s > ${B}/${PN}.s sed -i "s/__BOOT_LOAD_DTB_ADDRESS__/${BOOT_LOAD_DTB_ADDRESS}/" ${B}/${PN}.s } do_compile() { aarch64-none-elf-gcc -nostartfiles -nodefaultlibs -Wl,--build-id=none,-Ttext=${BOOT_LOAD_LINUX_BOOT_SIMPLE} ${PN}.s -o ${PN}.elf } do_install[noexec] = "1" inherit deploy do_deploy() { cp ${B}/linux-boot-simple.elf ${DEPLOYDIR} } addtask deploy before do_build after do_compile And in my mymachine.conf: ... BOOT_LOAD_DTB_ADDRESS = "0xff2000" BOOT_LOAD_KERNEL_ADDRESS = "0x80000" BOOT_LOAD_LINUX_BOOT_SIMPLE = "0x5F000" # override the auto addition of fpga, and add dtb, kernel image and an ATF to linux trampoline to boot.bin: BIF_PARTITION_ATTR_mymachine = "fsbl pmu atf linux-trampoline dtb kernel" BIF_PARTITION_ATTR[linux-trampoline] = "destination_cpu=a53-0,exception_level=el-2" BIF_PARTITION_IMAGE[linux-trampoline] = "${DEPLOY_DIR_IMAGE}/linux-boot-simple.elf" BIF_PARTITION_DEPENDS[linux-trampoline] = "linux-boot-simple:do_deploy" BIF_PARTITION_ATTR[dtb] := "load=${BOOT_LOAD_DTB_ADDRESS}" BIF_PARTITION_IMAGE[dtb] = "${DEPLOY_DIR_IMAGE}/${MACHINE}.dtb" BIF_PARTITION_DEPENDS[dtb] = "virtual/kernel:do_deploy" BIF_PARTITION_ATTR[kernel] := "load=${BOOT_LOAD_KERNEL_ADDRESS}" BIF_PARTITION_IMAGE[kernel] = "${DEPLOY_DIR_IMAGE}/Image" BIF_PARTITION_DEPENDS[kernel] = "virtual/kernel:do_deploy" ... The missing BIF_PARTITION entries come from meta-xilinx-tools/recipes-bsp/bootbin/machine-xilinx-zynqmp.inc > On 19. 06. 19 22:27, Jean-Francois Dagenais wrote: >> Hi Michal, guys, >> >> Any ideas Michal? I have been debugging this for 4 days and it doesn't >> look like I'm moving ahead much. You made it sound so simple but it is >> not so simple apparently... >> >> Since my last post below, I have hacked head.S to include >> _inval_dcache_area so as to make the branch call nearer and it works. >> (Which is weird in itself... but all I do now is stretching my >> knowledge, so I'm having fun here!) >> >> I am able to reach start_kernel from main.c. Then things start getting >> weird... >> >> Here's my debug boot log: >> https://pastebin.com/QxA0AQfh >> >> This is where things stop making sense... >> >> I placed a few breakpoints in start_kernel after this line and I end up >> stuck here: >> So here were the screenshots of xsdk, anyone cares? >> >> >> Please help guys!! Or should I direct to linaro or linux-arm mailing lists? >> >> Here, "HELP" could just be a debugging technique I might use, a >> configuration, a debug flag somewhere, etc. >> >> Thanks all! Thanks for your help Michal! -- _______________________________________________ meta-xilinx mailing list [email protected] https://lists.yoctoproject.org/listinfo/meta-xilinx
