开源Cortex-M模拟器QEMU的使用方法

来源:互联网 发布:数据库服务器 交换机 编辑:程序博客网 时间:2024/04/30 04:51

开源Cortex-M模拟器QEMU的使用方法

QEMU是开源、跨平台、支持多种目标架构的模拟器,包括Cortex-M架构。开源Cortex-M模拟器QEMU支持两款开发板,分别为Stellaris LM3S811EVB和Stellaris LM3S6965EVB。

原文:http://blog.csdn.net/zoomdy/article/details/50582557
mingdu.zheng at gmail dot com

QEMU主页

http://wiki.qemu.org/Main_Page

安装QEMU

这里给出Ubuntu下的安装命令。

sudo apt-get install qemu

这会安装好多个不同架构的qemu,如qemu-system-i386、qemu-system-arm等,如果只需要安装某个架构的qemu,那么可以使用下面的命令。

sudo apt-get install qemu-system-arm

仅安装ARM架构的QEMU模拟器。

QEMU模拟lm3s811evb开发板

qemu-system-arm -machine lm3s811evb -kernel firmware.elf

-machine lm3s811evb:指定模拟的开发板。
-kernel firmware.elf:指定目标固件程序文件,必须是ELF格式的。

调试QEMU中运行的目标固件程序

QEMU集成了GDB Server,在QEMU模拟器中执行的程序可以通过GDB进行源码级调试。

qemu-system-arm -machine lm3s811evb -kernel firmware.elf -S -gdb tcp::9000

-S:启动时立刻停止执行,等待GDB连接。
-gdb tcp::9000:开启GDB Server,监听端口为9000,注意tcp和9000之间是两个冒号。

GDB连接QEMU

arm-none-eabi-gdb firmware.elf(gdb)target remote localhost:9000(gdb)b main(gdb)c

QEMU支持的两款Cortex-M开发板

  • lm3s811evb Stellaris LM3S811EVB
    开发板简介:http://www.ti.com.cn/cn/lit/ml/spmt196b/spmt196b.pdf
    MCU资料:http://www.ti.com.cn/product/cn/lm3s811
    开发板光盘下载:http://www.ti.com.cn/tool/cn/EKC-LM3S811-CD

  • lm3s6965evb Stellaris LM3S6965EVB
    开发板简介:http://www.ti.com.cn/cn/lit/ml/spmt127b/spmt127b.pdf
    MCU资料:http://www.ti.com.cn/product/cn/lm3s6965
    开发板光盘下载:http://www.ti.com.cn/tool/cn/EKC-LM3S6965-CD

QEMU模拟的lm3s811evb外设列表

地址范围 外设 0x00000000-0x0000FFFF On-chip Flash 64K 0x20000000-0x20001FFF Bit-banded on-chip SRAM 8K 0x22000000-0x23FFFFFF Bit-banded alias of 0x20000000-0x200FFFFF 0x40004000-0x40004FFF GPIO Port A 0x40005000-0x40005FFF GPIO Port B 0x40006000-0x40006FFF GPIO Port C 0x40007000-0x40007FFF GPIO Port D 0x40008000-0x40008FFF SSI0 0x4000C000-0x4000CFFF UART0 0x4000D000-0x4000DFFF UART1 0x40020000-0x40020FFF I2C0->SSD0303(OLED Controller) 0x40024000-0x40024FFF GPIO Port E 0x40030000-0x40030FFF Timer 0 0x40031000-0x40031FFF Timer 1 0x40032000-0x40032FFF Timer 2 0x40038000-0x40038FFF ADC0 0x400FE000-0x400FEFFF System control 0x42000000-0x43FFFFFF Bit-banded alias of 0x40000000-0x400FFFFF 0xE000E000-0xE000EFFF Cortex-M3 Peripherals(SysTick, NVIC, MPU and SCB)

QEMU模拟的lm3s6965evb外设列表

地址范围 外设 0x00000000-0x0003FFFF On-chip Flash 256K 0x20000000-0x2000FFFF Bit-banded on-chip SRAM 64K 0x22000000-0x23FFFFFF Bit-banded alias of 0x20000000-0x200FFFFF 0x40004000-0x40004FFF GPIO Port A 0x40005000-0x40005FFF GPIO Port B 0x40006000-0x40006FFF GPIO Port C 0x40007000-0x40007FFF GPIO Port D 0x40008000-0x40008FFF SSI0 -> SSD0323(OLED Controller) and SDCard(SPI mode) 0x4000C000-0x4000CFFF UART0 0x4000D000-0x4000DFFF UART1 0x4000E000-0x4000EFFF UART2 0x40020000-0x40020FFF I2C0 0x40024000-0x40024FFF GPIO Port E 0x40025000-0x40025FFF GPIO Port F 0x40026000-0x40026FFF GPIO Port G 0x40030000-0x40030FFF Timer 0 0x40031000-0x40031FFF Timer 1 0x40032000-0x40032FFF Timer 2 0x40033000-0x40033FFF Timer 3 0x40038000-0x40038FFF ADC0 0x40048000-0x40048fff Ethernet Controller 0x400FE000-0x400FEFFF System control 0x42000000-0x43FFFFFF Bit-banded alias of 0x40000000-0x400FFFFF 0xE000E000-0xE000EFFF Cortex-M3 Peripherals(SysTick, NVIC, MPU and SCB)
1 0
原创粉丝点击