Download presentation
Presentation is loading. Please wait.
Published byLee Bradford Modified over 9 years ago
1
Embedded Software Lab. @ SKKU 18 1 Tizen Project Example: Remote Key Framework
2
Embedded Software Lab. @ SKKU 18 2 Motivation and Concept Requirements Design Implementation – Virtual Input Device Driver – Tizen Service Development Source code management on Github Contents
3
Embedded Software Lab. @ SKKU 18 3 No home key, back key and menu key in ODROID-U3 & ODROID-VU. Motivation ? ?
4
Embedded Software Lab. @ SKKU 18 4 A framework to control Tizen device through remote Android smartphones. Concept
5
Embedded Software Lab. @ SKKU 18 5 Wireless connection between Android device and Tizen device – Bluetooth and RFCOMM protocols – Bluetooth frameworks in Tizen and Android Virtual key input event on Tizen device – Virtual input device driver is required Background process – Register a Tizen service on Systemd Easy debugging – Use dlog as a debugging tool Easy deployment – Make as a RPM package Requirements
6
Embedded Software Lab. @ SKKU 18 6 Client (Android Application) – UI and connection with Tizen device via Bluetooth Server Service (Tizen Framework Service) – Connection with Android device via Bluetooth Virtual Input Device Driver (Kernel Module) – If a command come from service, it creates an input event. Design
7
Embedded Software Lab. @ SKKU 18 7 Host driver – Connected to evdev(event device driver) – In this project, make a new host driver for making virtual key events. evdev – Sends events to udev udev – Sends device events to xinput xinput (in X server) – Sends events to X clients Virtual Input Device Driver
8
Embedded Software Lab. @ SKKU 18 8 Host Device Driver (1/2) Register a platform device Register a sysfs entry Allocate an input device data structure Register an entry to keymap Register an input device to evdev
9
Embedded Software Lab. @ SKKU 18 9 Host Device Driver (2/2) Make a KEY_XFER (code=147) input event. Synchronize the input event. Register an entry to sysfs, a trigger to make input events.
10
Embedded Software Lab. @ SKKU 18 10 1.Make a new Git repository 2.Make configuration files 1.RPM package specification 2.Build configuration(CMakelists.txt) 3.Pkgconfig configuration 4.SMACK manifest 5.Systemd service 3.Coding 4.Build 5.Install the package Tizen Service Development (1/8)
11
Embedded Software Lab. @ SKKU 18 11 1.Make a new Git repository 1.$ mkdir remote-key-framework 2.$ cd remote-key-framework 3.$ git init Tizen Service Development (2/8) Initialized empty Git repository in /home/user/repository/tizen/2.2/framework/system/remote-key-framework/.git/
12
Embedded Software Lab. @ SKKU 18 12 2.Make configuration files – Red files are required at least. Tizen Service Development (3/8) AUTHORS: Author list LICENSE: License information CMakeLists.txt: cmake configuration file about this directory’s build.manifest: SMACK manifest file packaging.manifest: SMACK manifest file.spec: RPM package specification file CMakeLists.txt include Header files src Source code files,, …
13
Embedded Software Lab. @ SKKU 18 13 ex. Remote Key Framework Service Project (Link)Link Tizen Service Development (4/8) AUTHORS: Author list LICENSE: License information CMakeLists.txt: cmake configuration file about this directory’s build remote-key-framework.manifest: SMACK manifest file packaging remote-key-framework.manifest: SMACK manifest file remote-key-framework.spec: RPM package specification file remote-key-framework.service: systemd service configuration file server CMakeLists.txt include common.h: Common header file src main.cpp: Main source code common.cpp: Source code of dlog connector
14
Embedded Software Lab. @ SKKU 18 14 3.Coding – Refer to existing code in Tizen framework. – References of Remote Key Service Framework: Bluetooth Native API (framework/api/bluetooth) – RFCOMM/Bluetooth support as Android does – API header files (framework/api/bluetooth/include) – Test case code (framework/api/bluetooth/test): practical example using API Bluetooth WRT API (framework/web/wrt-plugin- tizen/bluetooth) Bluetooth Framework (framework/connectivity/bluetooth- frwk) Tizen Service Development (5/8)
15
Embedded Software Lab. @ SKKU 18 15 4.Build – Build the working directory $ gbs build -A armv7l --include-all – Build the most recent version in Git repository $ gbs build -A armv7l Tizen Service Development (6/8)
16
Embedded Software Lab. @ SKKU 18 16 5.Install the package – Package files are located in: ~/GBS-ROOT/local/repos/tizen2.2/armv7l/RPMS/ – Send package files to target board through SDB – Install the packages by RPM tool Tizen Service Development (7/8)
17
Embedded Software Lab. @ SKKU 18 17 1.Connect to ODROID-U3 via USB – How to check connection: $ sdb devices – Caution: If you are using VMWare, check the connection of ‘removable device’ 2.Enter to SDB root mode $ sdb root on 3.Send package file to target board through SDB $ sdb push package_name-version.arch.rpm / 4.Install the package $ sdb shell rpm -ivh --nodeps --force package_name- version.arch.rpm 5.Reboot your target board $ adb shell sync; sdb shell reboot -f Tizen Service Development (8/8)
18
Embedded Software Lab. @ SKKU 18 Source code of External Hardware Framework is uploaded to Github. – Android Client Application https://github.com/SKKU-ESLAB-Tizen/remote-key- framework-client – Tizen Remote Key Server Service https://github.com/SKKU-ESLAB-Tizen/remote-key- framework-service – Tizen Virtual Key Device Driver https://github.com/SKKU-ESLAB-Tizen/virtual_inputdevice Source Code on Github
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.