LoginSignup
4
2

More than 5 years have passed since last update.

純正の ARMv8アーキテクチャシミュレータを使用する

Last updated at Posted at 2015-11-11

はじめに

ARM が純正で ARMv8 アーキテクチャのシミュレータを配布していることを知ったので、さっそく動かしてみた。

動作確認環境

  • Ubuntu 12.04.4 LTS 64bit 版

シミュレータのダウンロード

公式サイト からダウンロードできるが、ユーザ登録が必要。それが済むと、ARM V8 Foundation Platform (Linux) というところに Download ボタンがあるので、そこからダウンロードできる。このときに住所とか入力フォームが出てくるが、必須ではないのでそのまま次に進める。

実行してみる

展開すると Foundation_Platformpkg というディレクトリができる。

内容はこんな感じ

$ tree
Foundation_Platformpkg
├── doc
│   ├── DUI0677E_foundation_platform_ug.pdf
│   └── FoundationPlatform_Readme.txt
├── examples
│   ├── foundation-platform.dts
│   ├── hello.axf
│   ├── hello.c
│   └── Makefile
├── LES-PRE-20164-V5_0_-_Foundation_Platform.txt
└── models
    └── Linux64_GCC-4.1
        ├── Foundation_Platform
        ├── libarmctmodel.so
        └── libMAXCOREInitSimulationEngine.so.2

4 directories, 10 files

example に ELF があることが確認できる。
中身は、printf するだけ。

hello.c
#include <stdio.h>

int main(int argc, char *argv[])
{
    printf("Hello, 64-bit world!\n");
    return 0;
}

Foundation_Platformpkg/models/Linux64_GCC-4.1/Foundation_Platform がシミュレータ本体っぽいので、これを実行してみる。

$ ./Foundation_Platform --image=../../examples/hello.axf                                                                                                                                       
terminal_0: Listening for serial connection on port 5000
terminal_1: Listening for serial connection on port 5001
terminal_2: Listening for serial connection on port 5002
terminal_3: Listening for serial connection on port 5003
Simulation is started
Hello, 64-bit world!

期待通り動いていそう。シリアルがどうとか出力されるので、UART とかで出力は出来そう。

おわりに

今回はとりあえず動かすところだけだが、これだけでは全く面白くないので、自分で作ったプログラムを動かしたい。armcc は有償なので、gcc か llvm で出来ればよいかなと思っている。

4
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2