[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-discuss] QEMU & ARM
From: |
Robert N |
Subject: |
Re: [Qemu-discuss] QEMU & ARM |
Date: |
Tue, 18 Mar 2014 18:05:49 -0700 |
That is such a broad request with little detail of the type of ARM work you are
looking to do.
ARM architecture? Archv7 Archv8 AArch64 Arch6v-m Arch7v-m xxxx xxx xxx xxxx
xxxx?
ARM based? ARM Thumb? ARM Thumb2? NEON Coding? VFP? SIMD?..
But starting with: Bare-metal (arm-none-eabi) or OS (arm-elf)?
That will determine which rabbit hole to go down as you will either need a
cross-compiler tool-chain or a host based one. i.e. if you are running an ARM
Linux disto using 'qemu-system-arm' you can compile code while running inside
that guest OS or cross-compile code from the host and share those elf binaries
to your ARM guest OS. Of course you can then either either GDB within the guest
or remotely via the host to debug your app.
Bare-metal ARM work using QEMU as a host works really well for most things, of
course it will never replace real hardware in terms of timing, core
peripherals, external hardware/sensors, etc...
I use "qemu-system-arm" all the time for testing my ARM cross-compiling
clang/llvm instead of arm-none-eabi-gcc (I'm a real LLVM fan and like working
with LLVM's botched). But for beginners, I'd stick with gcc as the community
support is larger (pre-built binaries via <a
href="https://launchpad.net/gcc-arm-embedded" target="_blank"
class="newlyinsertedlink">https://launchpad.net/gcc-arm-embedded</a>
)
In terms of getting 'qemu-system-arm' on your OS, there are bins available for
most, or you can just build it from source (you can limit the target builds to
ARM by using "--target-list=arm-softmmu" when you run configure). There are
tons of tutorials on the web for building from source.
I have a few posts related to using llvm with Cortex-M3/0(+) cores and am using
QEMU to test that code before dealing with hardware debugging: <a
href="http://sushihangover.github.io/blog/categories/qemu/"
target="_blank"
class="newlyinsertedlink">http://sushihangover.github.io/blog/categories/qemu/</a>
-RobertN
----------------------------------------
> From: address@hidden
> Date: Mon, 17 Mar 2014 14:31:44 -0400
> To: address@hidden
> Subject: [Qemu-discuss] QEMU & ARM
>
> I wanted to learn a bit about ARM assembly and came across qemu as a tool
> that could be used as an interpreter. I was wondering if someone could point
> me to some instructions for getting it setup as an ARM assembly interpreter.
> Thank you.
>
>
>
>