sse3052: embedded systems practice - androbenchcsl.skku.edu/uploads/sse3052s19/01-intro.pdf ·...

39
SSE3052: Embedded Systems Practice, Spring 2019, Jinkyu Jeong ([email protected]) SSE3052: Embedded Systems Practice Jinkyu Jeong [email protected] Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu

Upload: others

Post on 09-Aug-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SSE3052: Embedded Systems Practice - AndroBenchcsl.skku.edu/uploads/SSE3052S19/01-intro.pdf · 2019-03-19 · SSE3052: Embedded Systems Practice, Spring 2019, Jinkyu Jeong (jinkyu@skku.edu)

SSE3052: Embedded Systems Practice, Spring 2019, Jinkyu Jeong ([email protected])

SSE3052: Embedded Systems Practice

Jinkyu Jeong

[email protected]

Computer Systems Laboratory

Sungkyunkwan University

http://csl.skku.edu

Page 2: SSE3052: Embedded Systems Practice - AndroBenchcsl.skku.edu/uploads/SSE3052S19/01-intro.pdf · 2019-03-19 · SSE3052: Embedded Systems Practice, Spring 2019, Jinkyu Jeong (jinkyu@skku.edu)

SSE3052: Embedded Systems Practice, Spring 2019, Jinkyu Jeong ([email protected]) 2

X11 forward

• You have to connect to server

– $ssh –X [UserID]@[IP address]

• UserID

– esp[1-5]

• IP address

– A: 115.145.208.227

– B: 115.145.208.228

esp1 esp2 esp3 esp4 esp5

X X X 김성윤 박세진 X 송민찬 신준호 X 정유석 정진섭 X 주상현 X X

A B A B A B A

Page 3: SSE3052: Embedded Systems Practice - AndroBenchcsl.skku.edu/uploads/SSE3052S19/01-intro.pdf · 2019-03-19 · SSE3052: Embedded Systems Practice, Spring 2019, Jinkyu Jeong (jinkyu@skku.edu)

SSE3052: Embedded Systems Practice, Spring 2019, Jinkyu Jeong ([email protected]) 3

Environment Setup

• (Virtual) Device

• Compiler

• Kernel

Page 4: SSE3052: Embedded Systems Practice - AndroBenchcsl.skku.edu/uploads/SSE3052S19/01-intro.pdf · 2019-03-19 · SSE3052: Embedded Systems Practice, Spring 2019, Jinkyu Jeong (jinkyu@skku.edu)

SSE3052: Embedded Systems Practice, Spring 2019, Jinkyu Jeong ([email protected]) 4

Environment Setup

• (Virtual) Device

– Download Android Studio

– Create an AVD (Android Virtual Device)

• Compiler

• Kernel

Page 5: SSE3052: Embedded Systems Practice - AndroBenchcsl.skku.edu/uploads/SSE3052S19/01-intro.pdf · 2019-03-19 · SSE3052: Embedded Systems Practice, Spring 2019, Jinkyu Jeong (jinkyu@skku.edu)

SSE3052: Embedded Systems Practice, Spring 2019, Jinkyu Jeong ([email protected]) 5

(Virtual) Device

Install required libraries

1. Open Terminal. (Ctrl + Alt + 't')

2. sudo apt-get install libc6:i386 libncurses5:i386

libstdc++6:i386 lib32z1 libbz2-1.0:i386

Page 6: SSE3052: Embedded Systems Practice - AndroBenchcsl.skku.edu/uploads/SSE3052S19/01-intro.pdf · 2019-03-19 · SSE3052: Embedded Systems Practice, Spring 2019, Jinkyu Jeong (jinkyu@skku.edu)

SSE3052: Embedded Systems Practice, Spring 2019, Jinkyu Jeong ([email protected]) 6

(Virtual) Device

Download Android Studio

– Go to https://developer.android.com/studio.

– Download.

Page 7: SSE3052: Embedded Systems Practice - AndroBenchcsl.skku.edu/uploads/SSE3052S19/01-intro.pdf · 2019-03-19 · SSE3052: Embedded Systems Practice, Spring 2019, Jinkyu Jeong (jinkyu@skku.edu)

SSE3052: Embedded Systems Practice, Spring 2019, Jinkyu Jeong ([email protected]) 7

(Virtual) Device

1. $cd ~/Downloads

2. $mv android-studio-ide-182.5314842-linux.zip [Yo

ur Workspace]

3. $unzip android-studio-ide-182.5314842-linux.zip

4. $cd android-studio/bin

5. $./studio.sh

Page 8: SSE3052: Embedded Systems Practice - AndroBenchcsl.skku.edu/uploads/SSE3052S19/01-intro.pdf · 2019-03-19 · SSE3052: Embedded Systems Practice, Spring 2019, Jinkyu Jeong (jinkyu@skku.edu)

SSE3052: Embedded Systems Practice, Spring 2019, Jinkyu Jeong ([email protected])

Page 9: SSE3052: Embedded Systems Practice - AndroBenchcsl.skku.edu/uploads/SSE3052S19/01-intro.pdf · 2019-03-19 · SSE3052: Embedded Systems Practice, Spring 2019, Jinkyu Jeong (jinkyu@skku.edu)

SSE3052: Embedded Systems Practice, Spring 2019, Jinkyu Jeong ([email protected])

Page 10: SSE3052: Embedded Systems Practice - AndroBenchcsl.skku.edu/uploads/SSE3052S19/01-intro.pdf · 2019-03-19 · SSE3052: Embedded Systems Practice, Spring 2019, Jinkyu Jeong (jinkyu@skku.edu)

SSE3052: Embedded Systems Practice, Spring 2019, Jinkyu Jeong ([email protected])

Page 11: SSE3052: Embedded Systems Practice - AndroBenchcsl.skku.edu/uploads/SSE3052S19/01-intro.pdf · 2019-03-19 · SSE3052: Embedded Systems Practice, Spring 2019, Jinkyu Jeong (jinkyu@skku.edu)

SSE3052: Embedded Systems Practice, Spring 2019, Jinkyu Jeong ([email protected])

Page 12: SSE3052: Embedded Systems Practice - AndroBenchcsl.skku.edu/uploads/SSE3052S19/01-intro.pdf · 2019-03-19 · SSE3052: Embedded Systems Practice, Spring 2019, Jinkyu Jeong (jinkyu@skku.edu)

SSE3052: Embedded Systems Practice, Spring 2019, Jinkyu Jeong ([email protected])

Page 13: SSE3052: Embedded Systems Practice - AndroBenchcsl.skku.edu/uploads/SSE3052S19/01-intro.pdf · 2019-03-19 · SSE3052: Embedded Systems Practice, Spring 2019, Jinkyu Jeong (jinkyu@skku.edu)

SSE3052: Embedded Systems Practice, Spring 2019, Jinkyu Jeong ([email protected])

Page 14: SSE3052: Embedded Systems Practice - AndroBenchcsl.skku.edu/uploads/SSE3052S19/01-intro.pdf · 2019-03-19 · SSE3052: Embedded Systems Practice, Spring 2019, Jinkyu Jeong (jinkyu@skku.edu)

SSE3052: Embedded Systems Practice, Spring 2019, Jinkyu Jeong ([email protected])

Page 15: SSE3052: Embedded Systems Practice - AndroBenchcsl.skku.edu/uploads/SSE3052S19/01-intro.pdf · 2019-03-19 · SSE3052: Embedded Systems Practice, Spring 2019, Jinkyu Jeong (jinkyu@skku.edu)

SSE3052: Embedded Systems Practice, Spring 2019, Jinkyu Jeong ([email protected])

Page 16: SSE3052: Embedded Systems Practice - AndroBenchcsl.skku.edu/uploads/SSE3052S19/01-intro.pdf · 2019-03-19 · SSE3052: Embedded Systems Practice, Spring 2019, Jinkyu Jeong (jinkyu@skku.edu)

SSE3052: Embedded Systems Practice, Spring 2019, Jinkyu Jeong ([email protected])

Page 17: SSE3052: Embedded Systems Practice - AndroBenchcsl.skku.edu/uploads/SSE3052S19/01-intro.pdf · 2019-03-19 · SSE3052: Embedded Systems Practice, Spring 2019, Jinkyu Jeong (jinkyu@skku.edu)

SSE3052: Embedded Systems Practice, Spring 2019, Jinkyu Jeong ([email protected])

Page 18: SSE3052: Embedded Systems Practice - AndroBenchcsl.skku.edu/uploads/SSE3052S19/01-intro.pdf · 2019-03-19 · SSE3052: Embedded Systems Practice, Spring 2019, Jinkyu Jeong (jinkyu@skku.edu)

SSE3052: Embedded Systems Practice, Spring 2019, Jinkyu Jeong ([email protected])

Page 19: SSE3052: Embedded Systems Practice - AndroBenchcsl.skku.edu/uploads/SSE3052S19/01-intro.pdf · 2019-03-19 · SSE3052: Embedded Systems Practice, Spring 2019, Jinkyu Jeong (jinkyu@skku.edu)

SSE3052: Embedded Systems Practice, Spring 2019, Jinkyu Jeong ([email protected])

Page 20: SSE3052: Embedded Systems Practice - AndroBenchcsl.skku.edu/uploads/SSE3052S19/01-intro.pdf · 2019-03-19 · SSE3052: Embedded Systems Practice, Spring 2019, Jinkyu Jeong (jinkyu@skku.edu)

SSE3052: Embedded Systems Practice, Spring 2019, Jinkyu Jeong ([email protected])

Page 21: SSE3052: Embedded Systems Practice - AndroBenchcsl.skku.edu/uploads/SSE3052S19/01-intro.pdf · 2019-03-19 · SSE3052: Embedded Systems Practice, Spring 2019, Jinkyu Jeong (jinkyu@skku.edu)

SSE3052: Embedded Systems Practice, Spring 2019, Jinkyu Jeong ([email protected])

Page 22: SSE3052: Embedded Systems Practice - AndroBenchcsl.skku.edu/uploads/SSE3052S19/01-intro.pdf · 2019-03-19 · SSE3052: Embedded Systems Practice, Spring 2019, Jinkyu Jeong (jinkyu@skku.edu)

SSE3052: Embedded Systems Practice, Spring 2019, Jinkyu Jeong ([email protected])

Page 23: SSE3052: Embedded Systems Practice - AndroBenchcsl.skku.edu/uploads/SSE3052S19/01-intro.pdf · 2019-03-19 · SSE3052: Embedded Systems Practice, Spring 2019, Jinkyu Jeong (jinkyu@skku.edu)

SSE3052: Embedded Systems Practice, Spring 2019, Jinkyu Jeong ([email protected]) 23

(Virtual) Device

Create an AVD (Android Virtual Device)

– (Menu) Tools –Android –AVD Manager

Page 24: SSE3052: Embedded Systems Practice - AndroBenchcsl.skku.edu/uploads/SSE3052S19/01-intro.pdf · 2019-03-19 · SSE3052: Embedded Systems Practice, Spring 2019, Jinkyu Jeong (jinkyu@skku.edu)

SSE3052: Embedded Systems Practice, Spring 2019, Jinkyu Jeong ([email protected])

Page 25: SSE3052: Embedded Systems Practice - AndroBenchcsl.skku.edu/uploads/SSE3052S19/01-intro.pdf · 2019-03-19 · SSE3052: Embedded Systems Practice, Spring 2019, Jinkyu Jeong (jinkyu@skku.edu)

SSE3052: Embedded Systems Practice, Spring 2019, Jinkyu Jeong ([email protected])

Page 26: SSE3052: Embedded Systems Practice - AndroBenchcsl.skku.edu/uploads/SSE3052S19/01-intro.pdf · 2019-03-19 · SSE3052: Embedded Systems Practice, Spring 2019, Jinkyu Jeong (jinkyu@skku.edu)

SSE3052: Embedded Systems Practice, Spring 2019, Jinkyu Jeong ([email protected])

Page 27: SSE3052: Embedded Systems Practice - AndroBenchcsl.skku.edu/uploads/SSE3052S19/01-intro.pdf · 2019-03-19 · SSE3052: Embedded Systems Practice, Spring 2019, Jinkyu Jeong (jinkyu@skku.edu)

SSE3052: Embedded Systems Practice, Spring 2019, Jinkyu Jeong ([email protected])

Page 28: SSE3052: Embedded Systems Practice - AndroBenchcsl.skku.edu/uploads/SSE3052S19/01-intro.pdf · 2019-03-19 · SSE3052: Embedded Systems Practice, Spring 2019, Jinkyu Jeong (jinkyu@skku.edu)

SSE3052: Embedded Systems Practice, Spring 2019, Jinkyu Jeong ([email protected])

Page 29: SSE3052: Embedded Systems Practice - AndroBenchcsl.skku.edu/uploads/SSE3052S19/01-intro.pdf · 2019-03-19 · SSE3052: Embedded Systems Practice, Spring 2019, Jinkyu Jeong (jinkyu@skku.edu)

SSE3052: Embedded Systems Practice, Spring 2019, Jinkyu Jeong ([email protected])

Page 30: SSE3052: Embedded Systems Practice - AndroBenchcsl.skku.edu/uploads/SSE3052S19/01-intro.pdf · 2019-03-19 · SSE3052: Embedded Systems Practice, Spring 2019, Jinkyu Jeong (jinkyu@skku.edu)

SSE3052: Embedded Systems Practice, Spring 2019, Jinkyu Jeong ([email protected])

Page 31: SSE3052: Embedded Systems Practice - AndroBenchcsl.skku.edu/uploads/SSE3052S19/01-intro.pdf · 2019-03-19 · SSE3052: Embedded Systems Practice, Spring 2019, Jinkyu Jeong (jinkyu@skku.edu)

SSE3052: Embedded Systems Practice, Spring 2019, Jinkyu Jeong ([email protected]) 31

Environment Setup

• (Virtual) Device

• Compiler

• Kernel

Page 32: SSE3052: Embedded Systems Practice - AndroBenchcsl.skku.edu/uploads/SSE3052S19/01-intro.pdf · 2019-03-19 · SSE3052: Embedded Systems Practice, Spring 2019, Jinkyu Jeong (jinkyu@skku.edu)

SSE3052: Embedded Systems Practice, Spring 2019, Jinkyu Jeong ([email protected]) 32

Compiler

1. cd ~

2. git clone https://android.googlesource.com/platfo

rm/prebuilts/gcc/linux-x86/x86/x86_64-linux-andro

id-4.9

Page 33: SSE3052: Embedded Systems Practice - AndroBenchcsl.skku.edu/uploads/SSE3052S19/01-intro.pdf · 2019-03-19 · SSE3052: Embedded Systems Practice, Spring 2019, Jinkyu Jeong (jinkyu@skku.edu)

SSE3052: Embedded Systems Practice, Spring 2019, Jinkyu Jeong ([email protected]) 33

Environment Setup

• (Virtual) Device

• Compiler

• Kernel

– Download source code

– Build

– Run

Page 34: SSE3052: Embedded Systems Practice - AndroBenchcsl.skku.edu/uploads/SSE3052S19/01-intro.pdf · 2019-03-19 · SSE3052: Embedded Systems Practice, Spring 2019, Jinkyu Jeong (jinkyu@skku.edu)

SSE3052: Embedded Systems Practice, Spring 2019, Jinkyu Jeong ([email protected]) 34

Kernel

Download source code

1. git clone https://android.googlesource.com/kernel

/goldfish

2. cd goldfish

3. git checkout –b android-goldfish-3.10 origin/andr

oid-goldfish-3.10

Page 35: SSE3052: Embedded Systems Practice - AndroBenchcsl.skku.edu/uploads/SSE3052S19/01-intro.pdf · 2019-03-19 · SSE3052: Embedded Systems Practice, Spring 2019, Jinkyu Jeong (jinkyu@skku.edu)

SSE3052: Embedded Systems Practice, Spring 2019, Jinkyu Jeong ([email protected]) 35

Kernel

Build

1. export ARCH=x86_64

2. export CROSS_COMPILE=~/x86_64-linux-android-4.9/b

in/x86_64-linux-android-

3. make x86_64_ranchu_defconfig

4. make -j4

Page 36: SSE3052: Embedded Systems Practice - AndroBenchcsl.skku.edu/uploads/SSE3052S19/01-intro.pdf · 2019-03-19 · SSE3052: Embedded Systems Practice, Spring 2019, Jinkyu Jeong (jinkyu@skku.edu)

SSE3052: Embedded Systems Practice, Spring 2019, Jinkyu Jeong ([email protected]) 36

Kernel

Run

1. cd ~/Android/Sdk/system-images/android-24/google_

apis/x86_64

2. mv kernel-ranchu kernel-ranchu.bak

3. cp ~/goldfish/arch/x86/boot/bzImage kernel-ranchu

4. (Run!)

Page 37: SSE3052: Embedded Systems Practice - AndroBenchcsl.skku.edu/uploads/SSE3052S19/01-intro.pdf · 2019-03-19 · SSE3052: Embedded Systems Practice, Spring 2019, Jinkyu Jeong (jinkyu@skku.edu)

SSE3052: Embedded Systems Practice, Spring 2019, Jinkyu Jeong ([email protected])

Page 38: SSE3052: Embedded Systems Practice - AndroBenchcsl.skku.edu/uploads/SSE3052S19/01-intro.pdf · 2019-03-19 · SSE3052: Embedded Systems Practice, Spring 2019, Jinkyu Jeong (jinkyu@skku.edu)

SSE3052: Embedded Systems Practice, Spring 2019, Jinkyu Jeong ([email protected])

Page 39: SSE3052: Embedded Systems Practice - AndroBenchcsl.skku.edu/uploads/SSE3052S19/01-intro.pdf · 2019-03-19 · SSE3052: Embedded Systems Practice, Spring 2019, Jinkyu Jeong (jinkyu@skku.edu)

SSE3052: Embedded Systems Practice, Spring 2019, Jinkyu Jeong ([email protected]) 39

Questions?