Demo_lab Qemu Simulator & Symbian Foundation

  • June 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Demo_lab Qemu Simulator & Symbian Foundation as PDF for free.

More details

  • Words: 906
  • Pages: 21
QEMU Simulator & Symbian Foundation Johnathan White Accenture

Copyright © 2009 Accenture. All Rights Reserved.

1

QEMU Simulator & Symbian Foundation Johnathan White SEE October 2009

Copyright © 2009 Accenture. All Rights Reserved. Accenture, its logo, and High Performance Delivered are trademarks of Accenture.

Agenda •  Simulator Introduction & Architecture •  Running Simulator •  Building/Debugging Simulator •  Simulator Features/Demo •  GUI environment •  Questions Copyright © 2009 Accenture. All Rights Reserved.

3

Simulator not Symbian Emulator •  Existing Symbian Emulator is x86 based –  Requires entire environment built for x86 –  Requires different tool chain –  Often doesn’t accurately map hardware leading to integration issues •  Simulator is ARM based –  Single environment and tool chain required –  Accurate mapping of hardware environment

Copyright © 2009 Accenture. All Rights Reserved.

4

What is QEMU ? •  QEMU is a machine emulator which enables guest (Symbian) to run on host environment •  Emulates full hardware platform including CPU and peripherals •  QEMU is open source (http://www.qemu.org/) •  Wide QEMU usage in the industry

Copyright © 2009 Accenture. All Rights Reserved.

5

Baseport •  Symbian baseport (Syborg) required for Symbian to function on QEMU virtual hardware platform •  Baseport comprises of ASSP/Variant code as well drivers and kernel extensions •  Code above baseport is common between Simulator and other target hardware

Copyright © 2009 Accenture. All Rights Reserved.

6

Overall Architecture USER SPACE EUSER

KERNEL SPACE

Symbian SYBORG BASEPORT KERNEL

ARM

QEMU

NANO KERNEL

ASSP / VARIANT

KERNEL EXTENSIONS

SYBORG BOARD MODEL

BINARY TRANSLATION

DEVICE DRIVERS

PERIPHERALS

HOST

HOST ENV – Windows, Linux, MAC

HOST OS API’s

Host Hardware Copyright © 2009 Accenture. All Rights Reserved.

7

Simulator – EPL Kernel kit All “ingredients” required to create and run a basic Symbian image in QEMU are released under EPL and thus available to all

Pre-compiled Syborg baseport provided (\epoc32\release\armv5\urel &udeb)

Symbian Syborg source code provided (\sf\adaptation\qemu\baseport\syborg) Binaries Required to create Symbian TextShell Rom Image

QEMU

Host

Pre-compiled QEMU (\symbian-qemu-0.9.1\bin) QEMU source code provided (\sf\adaptation\qemu\symbian-qemu-0.9.1-12) QEMU environment compiled for win32 environment

SF Mercurial repo - http://developer.symbian.org/oss/FCL/sf/adaptation/qemu Copyright © 2009 Accenture. All Rights Reserved.

8

QEMU Simulator … its alive ! •  First build a textshell Symbian ROM \sf\os\kernelhwsrv\kernel\eka\rombuild> rom -v syborg -i armv5 -b udeb

Creates debug textshell ROM image file

•  Then run ROM image in QEMU \symbian-qemu-0.9.1\bin> arm-none-symbianelf-qemu-system.exe -kernel \sf\os\kernelhwsrv\kernel\eka\rombuild\syborgarmv5d.img -M \sf\adaptation\qemu\baseport\syborg\syborg.dtb -serial COM2

Copyright © 2009 Accenture. All Rights Reserved.

Launches ROM image in QEMU simulator

9

PRACTICAL 1

Instructions for Practical 1 & 2 & 3

Copyright © 2009 Accenture. All Rights Reserved.

10

QEMU – Output … and how it works Debug Port Kernel code -> Debug Handler -> Syborg UART -> Host UART -> Host UART

Display EShell -> Console Windows Server -> Screen Driver -> LCD Driver -> Frame Buffer -> Host Copyright © 2009 Accenture. All Rights Reserved.

Board Model Configuration controlled by DTS file

11

Rebuilding Syborg •  Altering screen size Modify KConfigLcdHeight to be 100 in \sf\adaptation\qemu\baseport\syborg\fb\Syborg_fb.h

•  Adding debug print Add Kern::Printf(“Hello World”) to void TPointerRv::Init3() in \sf\adaptation\baseport\syborg\pointer\syborg_pointer.cpp

•  Building baseport \sf\adaptation\qemu\baseport\syborg> sbs -b bld.inf -c armv5_udeb –j 1

•  Shows the ease of modification of the environment

Copyright © 2009 Accenture. All Rights Reserved.

12

PRACTICAL 2

Copyright © 2009 Accenture. All Rights Reserved.

13

Debugging Simulator •  GDB Stop Mode Debugging QEMU contains GDB stub which allows simulation environment to be controlled by GDB debugger GDB only understands ELF -> need to convert from Symbian E32 image

•  Command Line -> Use Eclipse GUI Further info http://developer.symbian.org/wiki/index.php/QEMU_&_Syborg_Debugging & \sf \adaption\qemu\docs directory

Copyright © 2009 Accenture. All Rights Reserved.

14

Simulator Features •  •  •  •  •  •  •  • 

Display driver Keyboard /keymapping Pointer driver Serial Pdd Ethernet Pdd Sound Pdd (dummy) Host file system (fsy + driver) Debug Monitor

Copyright © 2009 Accenture. All Rights Reserved.

15

Simulator Features Demo (1) •  Simple Console Application •  Source code - \sf\adaptation\qemu\applications\SymbianLogo_TextShell •  Build using command - sbs -b bld.inf -c armv5 –j 1 •  Add application into ROM Modiify \sf\os\kernelhwsrv\kernel\eka\rombuild\Tshell.oby to include line ‘ #include

•  Build ROM / Start ROM in QEMU

Copyright © 2009 Accenture. All Rights Reserved.

16

PRACTICAL 3

Copyright © 2009 Accenture. All Rights Reserved.

17

Simulator Features Demo (2) •  Type “symbianlogo” from prompt Host File System Pointer Driver Keyboard Driver Display Driver

•  Where next with the demo Have a play … -  Learning -  Port image codec onto Symbian -  Port audio assets, implement hooks to QEMU audio hardware -  Don’t use console Wserv, create own implementation for direct input events, create own UI

Copyright © 2009 Accenture. All Rights Reserved.

18

GUI environment … SF GUI image configuration running in QEMU … not just Text shell SFL code plus configuration required to allow GUI to boot All user space code is common allowing for rapid prototyping of product images

Copyright © 2009 Accenture. All Rights Reserved.

19

QT UI environment … QT apps running on top of SF GUI image Open source QT from http://pepper.troll.no/ s60prereleases/ QT libs and example apps built from source then included in Syborg ROM Excellent usage of prototyping future technology

Copyright © 2009 Accenture. All Rights Reserved.

20

Next Steps … •  This is just the beginning… –  New/enhanced drivers & board model peripherals –  Configurations & new directions –  Contributions •  Questions ? •  Further information - \sf\adaptation\qemu\docs\ - developer.symbian.org –wiki,forum,articles

Copyright © 2009 Accenture. All Rights Reserved.

21

Related Documents