開源Cortex M模擬器QEMU的使用方法

2021-07-09 15:27:37 字數 3296 閱讀 9948

qemu是開源、跨平台、支援多種目標架構的模擬器,包括cortex-m架構。開源cortex-m模擬器qemu支援兩款開發板,分別為stellaris lm3s811evb和stellaris lm3s6965evb。

原文:mingdu.zhengatgmaildotcom

這裡給出ubuntu下的安裝命令。

sudo apt-get install qemu
這會安裝好多個不同架構的qemu,如qemu-system-i386、qemu-system-arm等,如果只需要安裝某個架構的qemu,那麼可以使用下面的命令。

sudo apt-get install qemu-system-arm
僅安裝arm架構的qemu模擬器。

qemu-system-arm -machine lm3s811evb -kernel firmware.elf
-machine lm3s811evb:指定模擬的開發板。

-kernel firmware.elf:指定目標韌體程式檔案,必須是elf格式的。

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之間是兩個冒號。

arm-none-eabi-gdb firmware.elf

(gdb)target remote localhost:9000

(gdb)b main

(gdb)c

位址範圍

外設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)

位址範圍

外設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)

安卓模擬器 exagear模擬器安卓模擬器

讓android 裝置使用者重溫經典 pc 遊戲,來自俄羅斯的初創公司 eltechs發布了一款全新的 android 遊戲模擬器 exagear strategies。該遊戲模擬器的主要功能就是將經典的 pc 遊戲帶到 android 智慧型手機或平板電腦上來。1.exagear軟體和遊戲,完全免...

模擬器除錯

懶書生 發表於 2009 10 29 20 13 00 52rd上曾有朋友讓我寫一些除錯技巧方面的文章.除錯對於軟體是十分重要的,但卻不是一篇二篇文章能講清楚的.有很多除錯技巧都是零零碎碎的東西,用的時候能很容易使用,但要寫出來時,卻還是比較麻煩的.mtk的除錯一般來說可以分為 除錯與手機除錯.這兩...

溶液模擬器

寫 ing o o哈哈 這題很燒腦 啊啊啊啊 解題步驟已在 的注釋裡面 輸入 如下 1行原始溶液 濃度 3行往原始溶液中加入了 x溶劑 濃度的溶液 z 表示撤銷為上一步 輸出 如下 1.原v 現在的v 原v 濃度 濃度 現在的體積 原來的體積 include include include usin...