虛擬機器arm虛擬環境搭建

hhl_work發表於2018-09-08

【qemu】虛擬工具模擬A9開發板
1、sudo apt-get update
2、sudo apt-get install qemu qemu-system qemu-utils
3、qemu-system-arm --h //檢視

【gcc】交叉編譯器的安裝(下載
1、gcc-4.6.4.tar.xz 放到 ubuntu的目錄下 ~/work/fs4412/
2、cd ~/work/fs4412/
3、tar -xvf gcc-4.6.4.tar.xz
4、確認命令是否有: cd gcc-4.6.4/bin ls arm-none-linux-gnueabi-gcc
5、pwd 檢視絕對路徑 /home/work/fs4412/gcc-4.6.4/bin
6、vi ~/.bashrc
export PATH=/home/work/fs4412/gcc-4.6.4/bin:$PATH
7、把所有的終端視窗關閉,再新開就有了。
8、確認命令是否存在 arm-none-linux-gnueabi-gcc -V

【寫程式碼】
新建一個目錄:
mkdir /home/mydir/armcode
cd armcode

vim test.S

.global _start
_start:
mov r1, #3
nop

【程式編譯】
arm-none-linux-gnueabi-gcc test.S -o test.o -c -g
arm-none-linux-gnueabi-ld -Ttext 0x00000000 test.o -o test.elf
//連結

【開啟虛擬目標板】
在第一個終端執行下面命令:
qemu-system-arm -machine vexpress-a9 -m 256M -serial stdio -kernel test.elf -S -s

【除錯端】
在另外一個終端 執行下面命令:
arm-none-linux-gnueabi-gdb test.elf
進入GDB後,執行
(gdb) target remote localhost:1234
(gdb) s
p $r1

命令解釋:
s: 單步除錯
b: 設定斷點
c: 繼續執行
p: 顯示變數值
x: 顯示記憶體值 如要顯示記憶體地址0x10 開始的10塊連續地址 x/10 0x10

相關文章