GNU ARM eclipse / QEMU arm 模擬器 - 安裝

eclipse 基金會

Eclipse最初是由IBM公司開發的替代商業軟體Visual Age for Java的下一代IDE開發環境,2001年11月貢獻給開源社群,現在它由非營利軟體供應商聯盟Eclipse基金會(Eclipse Foundation)管理。

Eclipse基金會的宗旨在於打造開放源碼的開發平台,最著名的專案為
Eclipse整合開發環境(IDE), 包括IBM、Google、甲骨文(Oracle)、
微軟(Microsoft) 及紅帽(Red Hat)都是該基金會的會員。


安裝  eclipse


可從 eclipse 官網 下載安裝




=====

From Wiki

QEMU 是一套由Fabrice Bellard所編寫的模擬處理器的自由軟體。

QEMU有兩種主要運作模式:

(1) User mode模擬模式,亦即是使用者模式。

      QEMU能啟動那些為不同中央處理器編譯的Linux程式。
       而Wine及Dosemu是其主要目標。

(2) System mode模擬模式,亦即是系統模式。

      QEMU能模擬整個電腦系統,包括中央處理器及其他週邊裝置。
      它使得為系統源代碼進行測試及除錯工作變得容易。
      其亦能用來在一部主機上虛擬數部不同虛擬電腦。


===



GNU ARM eclipse

Hello World 範例




(1) 安裝 CDT 

Add Name: Kepler, 
    Address: http://download.eclipse.org/releases/kepler

我加入 : 

   C/C++ Call Grsaph Visualization

   C/C++ Development Tools

   Eclipse XML Editors and Tools




(2) Install for GNU ARM
- 把 Install icon 拉進 Eclipse workspace, 就會開始安裝




(3) 安裝 qemu package - 

The package is installed in: 
  • /Applications/GNU ARM Eclipse/QEMU/${version}




偏好設定







==

編輯 上述 Hello World 範例








按右上榔頭 build, 很快會 build 完成






====

問題: dyld: Library not loaded: /opt/macports/lib/liblzo2.2.dylib

解決: brew update
     brew install lzo


===

QEMU debugging

Associate Device to A project

QEMU debugging plug in 

Install - 重新 download pkg 安裝


按照內容 debug 設定即可. 

可設斷點 / 顯示 registers / 可用 trace_printf


eclipse 用的是這一套 : 可以這樣下, 在 shell 可以看到. 

./qemu-system-gnuarmeclipse -mcu STM32F107VC --image /Users/neojou/Documents/workspace/hello1/Debug/hello1.elf 




file ../hello.elf
../hello.elf: ELF 32-bit LSB executable, ARM, version 1 (SYSV), statically linked, not stripped

file ./demos/blink_flash/main.elf 
./demos/blink_flash/main.elf: ELF 32-bit LSB executable, ARM, version 1 (SYSV), statically linked, not stripped
---

Profiling 

DWT registers


google benchmark

RTEMS project

https://github.com/RTEMS/rtems/tree/master/testsuites/rhealstone




其他: 

  M7 support

  CMSIS++

  



---

Pebble : https://github.com/pebble/qemu.git



---

測試 : 從無到有開發 C 編譯器

git clone https://github.com/jserv/amacc.git


Linaro ARM toolchain

https://github.com/Illuminux/ct-ng-linaro-mac

安裝 MacTex


linux-gnueabi and linux-gnueabihf which indicate soft float, and hard float respectively.

---

openstack on ARM

---

Jailhouse

----

---
MAC 安裝 : 
 (1) brew install qemu
 (2) brew install pkg-config
 (3) libfdi : brew install dtc
  • download dtc from its repository and extract the tarball to qemu/dtc/.
  • Compile dtc from source using make
  • Restart configuring qemu using ./configure when in qemu directory.
1. 版本
$ qemu-system-arm -version
QEMU emulator version 2.6.0, Copyright (c) 2003-2008 Fabrice Bellard
2. 看支援平台
$ qemu-system-arm -M ?
安裝 stm32 for qemu
git clone
cd qemu_stm32
./configure --disable-werror --enable-debug \
    --target-list="arm-softmmu" \
    --extra-cflags=-DDEBUG_CLKTREE \
    --extra-cflags=-DDEBUG_STM32_RCC \
    --extra-cflags=-DDEBUG_STM32_UART \
    --extra-cflags=-DSTM32_UART_NO_BAUD_DELAY \
    --extra-cflags=-DSTM32_UART_ENABLE_OVERRUN
make
Test : 
    make check-qtest-arm




---

git clone git://github.com/beckus/qemu_stm32.git

make all
make blink_flash_QEMURUN
make button_QEMURUN
make uart_echo_QEMURUN
---
指令 

info registers : 顯示 cpu 狀態

quit : 離開

stop : 停止模擬

cont : 繼續模擬


---
make blink_flash_QEMURUN








留言

熱門文章