开源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)

开源Cortex-M模拟器QEMU的使用方法相关推荐

  1. 谷歌开源下一代推荐系统模拟器:RecSim NG

    谷歌开源下一代推荐系统模拟器:RecSim NG 一元@炼丹笔记 推荐系统是连接用户与各种在线内容的主要接口,因此必须克服用户流行度的问题,这样可以保证公平地为他们服务.为此,在2019年我们发布了R ...

  2. CARLA Simulator——开源自动驾驶模拟器

    文章目录 安装教程 使用方法 ROS 车载传感器配置 相机 Lidar 参考文章 GitHub:CARLA Simulator 安装教程 CARLA--基于Ubuntu18.04安装CARLA Sim ...

  3. 模拟器和平精英连接服务器没有响应,和平精英模拟器卡顿解决方法一览

    原标题:和平精英模拟器卡顿解决方法一览 在和平精英游戏中,大部分玩家们都是用模拟器玩,因为是由于腾讯官方提供的模拟器,所以很多玩家们表示有点卡顿,最明显的地方就是视角转动幅度大的时候,那我们我们遇到这 ...

  4. 蓝叠模拟器查看Android版本,BlueStacks蓝叠版本信息在哪看蓝叠模拟器版本信息查看方法...

    摘要 腾兴网为您分享:BlueStacks蓝叠版本信息在哪看蓝叠模拟器版本信息查看方法,钻石星球,找乐助手,掌上新华,银联商务等软件知识,以及ie11forwin764位,交易猫平台,安徽省国家税务局 ...

  5. android 虚拟技术打开,雷电安卓模拟器VT虚拟化打开方法教程

    雷电模拟器怎么开启VT模式?相信有很多小伙伴都知道VT虚拟化技术能给我们带来什么,下面就来说说雷电安卓模拟器启动VT的方法吧! 雷电安卓模拟器VT虚拟化打开教程 开启VT需要进入BOIS进行设置.首先 ...

  6. win10引导安卓x86_手把手给你传授win10系统安卓模拟器使用的处理方法

    很多人都懂一些简单的电脑系统问题的操作方案,但是win10系统安卓模拟器使用的问题思路却鲜为人知,小编前几天就遇到了win10系统安卓模拟器使用的问题,于是才准备整理win10系统安卓模拟器使用的技巧 ...

  7. ubuntu系统安装安卓模拟器(Android SDK)的方法

    ubuntu或者别的linux系统安装安卓模拟器(Android SDK)的方法跟Windows差不多,今天安卓部落就教大家怎么样在ubuntu环境下安装安卓模拟器. 首先下载Android SDK ...

  8. linux ps2模拟器设置,教你PS2模拟器设置手柄的方法

    PS2模拟器是一款免费.并且源代码开放的软件,发布于在GNU通用公共许可证下,是一款PlayStation 2模拟器软件.PS2模拟器是世上第一个成功模拟PS2商业游戏的PCSX2模拟器.PS2模拟器 ...

  9. 一款免费的开源的 Switch 模拟器,支持超过3200款游戏

    一款免费的开源的 Switch 模拟器,支持超过3200款游戏. Ryujinx是一个开源的任天堂Switch模拟器,由gdkchan创建,用C#编写.该模拟器旨在提供卓越的准确性和性能.用户友好的界 ...

最新文章

  1. python故事书_python的故事
  2. css应用网页设计,CSS技术在网页设计中的运用
  3. Hibernate基本概念 (5)
  4. 如何在Hexo中实现自适应响应式相册功能
  5. IBM T410 打开AHCI模式
  6. 李楠宣布离职!“魅族三剑客”时代已逝去,前老板的回应却有点扎心
  7. oracle truncate闪回数据库恢复
  8. 20210729 线性增长条件和全局Lipschitz条件的关系
  9. python to csv参数_pandas的to_csv()使用方法
  10. 给你的亲人一个科技感满满的生日祝福吧
  11. mysql 批量替换 某个字段的值 replace 方法
  12. 网络学习提要,真是太全了
  13. Ubuntu: 安装视频播放器
  14. Xcode cannot launch because the device is locked.
  15. 混合云市场现状与发展趋势研究
  16. 句柄数、连接数、线程数等查询
  17. 补码(为什么按位取反再加一)
  18. 【观察】让数字化转型之路越走越宽,DXC Technology释放新价值
  19. vue3开发1:在vue3项目中集成ckeditor5编辑器,自定义图片上传,图片编辑排坑(一)
  20. The transaction log for database 'xxxx' is full due to 'ACTIVE_TRANSACTION'

热门文章

  1. FastAdmin自定义批量操作
  2. Android源码分析 - Framework层的Binder(客户端篇)
  3. 玩转微派狼人杀成为高手必看攻略
  4. MongoDB 写安全(Write Concern)
  5. vue 解决重复点击导航路由报错 问题
  6. 5G NSA网络注册流程
  7. matplotlib基础(4)之饼图 pie
  8. tcp_timestamps tcp_tw_recycle引起的服务器连接不上问题
  9. cin.tie与sync_with_stdio加速I/O
  10. [FFmpeg] AVPacket 的使用记录(初始化、引用、解引用、释放)