Hi again. On Wed, Sep 01, 2010 at 06:24:41pm +0530, Anitha Boyapati wrote: > Hello Robin, [...] > > >> 2. Can QEMU be used as a simple instruction set simulator with > >> probably gdb support for remote debugging? My guess is this would > >> require a bootloader to load the application to run the application > >> program (full system emulation mode or just machine emulation if > >> there is something like that). If yes, what else can be the blocker > >> to have gdb support? > > > > IMHO, gdb support if available, is available irrespective of the > > type and nature of the software being run on qemu. For example, you > > can create a bare-metal application that executes from the reset > > vector for say, the ARM or the MIPS models and have gdb support > > right from the outset. There is no explicit need for running boot > > firmware and/or a loader to load an application program. Not sure if > > that's what you were after. > > My exact requirement is to test a gcc cross-compiler using DejaGnu for > a given target (AVR32). While the cross-compiler is ready, there is no > simulator. Since there is not much of OS support, I am trying to > evaluate if Qemu can still be considered for this purpose.
I see. That makes sense. I thought that AVR32 support never made it to the mainline. Has that changed ? > The usage scenario probably goes like this: > > 1. Qemu-target should be invoked with the application (yes, > bare-metal) waiting for some gdb connection. 2. target-gdb is invoked > with the same application > > I am referring to the example given in > http://wiki.qemu.org/download/qemu-doc.html#gdb_005fusage : > > > qemu -s -kernel arch/i386/boot/bzImage -hda root-2.4.20.img -append > > "root=/dev/hda" > > However, in my case kernel image doesn't exist. Got that. Note that your system mode emulation would have to cater for loading the bare-metal image (qemu has well defined APIs for this). Some emulations add some intelligence over and above the bare-metal image loading, such as the ARM Realview emulation which checks to see if the image passed to the "-kernel" argument is a Linux image in which case some special case initialisation is done (instead of a 'raw' load). > As to the requirement > of bootloader, I need to investigate further as various types of > memories (FLASH & SRAM for program and data sections) exist. Most of that can be easily faked as simple RAM at the appropriate offsets in your platform description to start off with. > > This does require system-mode emulation support as opposed to > > user-mode emulation for your microcontroller to be implemented. > > Agreed. System-mode emulation is what is required. Cheers, Robin