On 10/26/14 03:36, Chen Gang wrote:
On 10/22/2014 09:34 AM, Chen Gang wrote:
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 tried 'sim', I found the root cause is microblaze sim does not
support '--sysroot', which is the environments for shared libraries and
system calls (need load microblaze kernel).
- microblaze can successfully execute simple programs which has no
glibc and no system call.
- In upstream master branch of binutils, for microblaze sim, it has no
related testsuite for sim in binutils, neither support '--sysroot',
neither support function stack, startup parameters, and environments.
- After hard code the default stack in sim, it can start the '-static'
program with glibc, but stop at uname() which will use system call.
So I want to consult: at present, can we let microblaze sim run 'normal'
programs (have glibc, and use system call)?
Microblaze-sim provides basic instruction set architecture and memory
simulation.
There is no operating system support. (It's also quite old. I'm not sure
which version of the MB architecture it models, but it is not recent.)
Microblaze-sim is not a full system simulator, like QEMU. To be able to
run a program which requires glibc, you need to be able to boot a full Linux
image on the simulator, which microblaze-sim cannot do. QEMU models an
entire processor and can boot a Linux image.
--
Michael Eager ea...@eagercon.com
1960 Park Blvd., Palo Alto, CA 94306 650-325-8077