On 09/25/2014 08:12 AM, Chen Gang wrote: > OK, thanks, next month, I shall try Qemu for microblaze (I also focus on > Qemu, and try to make patches for it). >
Excuse me, after tried upstream qemu, it cann't run microblaze correctly, even for Xilinx qemu branch, I cann't run correctly either. I tried to consult related members in qemu mailing list, but got no result. After compared upstream branch and Xilinx branch, I am sure upstream microblaze qemu is lack of several related main features about microblaze. For qemu, I have to only focus on upstream, and try bug fix patches, new features and version merging are out of my current border, so sorry, I have to stop trying qemu for microblaze gcc test, at present. >> So I guess the root cause is: I only use cross-compiling environments >> under fedora x86_64, no any real or virtual target for test. > > Yes, if you want to test on a target, you will need a target. You can either > have a simulator (see binutils and sim/* for an example of how to write one) > or target hardware in some form. > After trying sim, for me, it is really useful way for test, although I also met issues: For a hello world C program, microblaze gcc succeeded building, gdb can load and display the source code, and disassembe code successfully, but sim reported failure, the related issue is below: [root@localhost test]# /upstream/release/bin/microblaze-gchen-linux-run ./test Loading section .interp, size 0xd vma 0x100000f4 Loading section .note.ABI-tag, size 0x20 vma 0x10000104 Loading section .hash, size 0x24 vma 0x10000124 Loading section .dynsym, size 0x40 vma 0x10000148 Loading section .dynstr, size 0x3c vma 0x10000188 Loading section .gnu.version, size 0x8 vma 0x100001c4 Loading section .gnu.version_r, size 0x20 vma 0x100001cc Loading section .rela.dyn, size 0x24 vma 0x100001ec Loading section .rela.plt, size 0x24 vma 0x10000210 Loading section .init, size 0x58 vma 0x10000234 Loading section .plt, size 0x44 vma 0x1000028c Loading section .text, size 0x3d0 vma 0x100002d0 Loading section .fini, size 0x34 vma 0x100006a0 Loading section .rodata, size 0x12 vma 0x100006d4 Loading section .eh_frame, size 0x4 vma 0x100006e8 Loading section .ctors, size 0x8 vma 0x100016ec Loading section .dtors, size 0x8 vma 0x100016f4 Loading section .jcr, size 0x4 vma 0x100016fc Loading section .dynamic, size 0xd0 vma 0x10001700 Loading section .got, size 0xc vma 0x100017d0 Loading section .got.plt, size 0x18 vma 0x100017dc Loading section .data, size 0x10 vma 0x100017f4 Start address 0x100002d0 Transfer rate: 14424 bits in <1 sec. ERROR: Unknown opcode program stopped with signal 4. For me, I guess it is sim's issue, and I shall try to fix it in the next month, so sorry, I can not finish emulator for microblaze within this month. :-( Welcome any ideas, suggestions or completions. Thanks. -- Chen Gang Open share and attitude like air water and life which God blessed