qemu-discuss
[Top][All Lists]
Advanced

[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&#58;&#47;&#47;launchpad.net&#47;gcc-arm-embedded" target="_blank" 
class="newlyinsertedlink">https&#58;&#47;&#47;launchpad.net&#47;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&#58;&#47;&#47;sushihangover.github.io&#47;blog&#47;categories&#47;qemu&#47;"
 target="_blank" 
class="newlyinsertedlink">http&#58;&#47;&#47;sushihangover.github.io&#47;blog&#47;categories&#47;qemu&#47;</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.
>
>
>
>                                         


reply via email to

[Prev in Thread] Current Thread [Next in Thread]