90
SKKU Embedded Software Lab. 87 1 Tizen Porting on Odroid U3

Tizen Porting on Odroid U3...2. Change SDBD service file – Modified so that the script is running in the SDB service SDB: Activation [2/3] [Unit] Description=sdbd After=default.target

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

  • SKKU Embedded Software Lab.

    87

    1

    Tizen Porting on Odroid U3

  • SKKU Embedded Software Lab.

    87

    2

    • Building a kernel

    • Building a Tizen platform

    • Bootloader

    • Configuring Partitions & Platform Image Fusing

    • Configure platform

    • Working check

    • Trouble shooting

    Index

  • SKKU Embedded Software Lab.

    87

    3

    Building a kernel

  • SKKU Embedded Software Lab.

    87

    4

    • Setting for kernel build– Installing required libraries

    • Enter the following command in terminal

    • sudo apt-get install libncurses5-dev build-essential

    Default Environment Setting

  • SKKU Embedded Software Lab.

    87

    5

    • Source Code download– Gerrit (https://review.tizen.org/gerrit/#/)

    Kernel Check

    https://review.tizen.org/gerrit/#/

  • SKKU Embedded Software Lab.

    87

    6

    • Gerrit

    Kernel Download

  • SKKU Embedded Software Lab.

    87

    7

    • Kernel source download– git clone tizen:platform/kernel/linux-3.10

    • Set branch– Perform code version management

    – Check version list

    • “git branch –a” -> Run in target directory

    – Checkout to Tizen barnch

    • git checkout tizen

    Kernel Download

  • SKKU Embedded Software Lab.

    87

    8

    • Check cross toolchain– Arm architecture can be compiled in the X86 environment

    – Automatically installed with Tizen SDK

    • Path : ~/tizen-sdk/tools/arm-linux-gnueabi-gcc-4.5

    Cross Compile Configure

  • SKKU Embedded Software Lab.

    87

    9

    • Two Options1. Manual config – Export cross compile information

    • export ARCH=arm

    • export CROSS_COMPILE=/”SDK PATH”/tizen-sdk/tools/arm-linux-gnueabi-gcc-4.5/bin/arm-linux-gnueabi-

    2. Edit makefile

    • Various configuration options for compile or build

    • Edit makefile in kernel directory “gedit Makefile”

    • Edit ARCH & CROSS_COMPILE

    Cross Compile Configure

  • SKKU Embedded Software Lab.

    87

    10

    • Defconfig– Kernel configuration file

    – Position in ./arch/arm/configs/

    – Default tizen defconfig is “tizen_defconfig”

    • Apply odroid defconfig– make tizen_odroid_defconfig

    Apply Defconfig

  • SKKU Embedded Software Lab.

    87

    11

    • Change kernel config using make menuconfig

    Kernel Configuration

  • SKKU Embedded Software Lab.

    87

    12

    • Temperature problem in tizen default config– The temperature is too high in performance governor

    – Change governor from performance to ondemad– CPU Power Management -> CPU Frequency scaling -> Default CPUFreq

    governor

    Change CPU Governor

  • SKKU Embedded Software Lab.

    87

    13

    • Support Odroid WiFi module (RTL8192)– Networking support -> Wireless

    • Enable 80211 protocol support

    – Device Driver -> Network device support -> Wireless LAN

    • Wireless device driver config

    WiFi Support

  • SKKU Embedded Software Lab.

    87

    14

    • Enable Bluetooth support for tizen– Networking support > Bluetooth subsystem support

    – Bluetooth device drivers

    Bluetooth Support

  • SKKU Embedded Software Lab.

    87

    15

    • Enable Rfkill– Amall userspace tool to query the state of the rfkill switches,

    buttons and subsystem interfaces

    – Networking support

    Bluetooth Support 2

  • SKKU Embedded Software Lab.

    87

    16

    • Current CPU Driver version does not match with DDK

    • Default GPU driver version is changed in latest version– Change from R4P0 to R3P2 version

    Change Default GPU Driver [1/3]

  • SKKU Embedded Software Lab.

    87

    17Change Default GPU Driver [2/3]

    -Graphics support

    -ARM GPU configuration

    -Mali-400 support

  • SKKU Embedded Software Lab.

    87

    18Change Default GPU Driver [3/3]

    Change to R3P2 version

    -Select MALI Ver

  • SKKU Embedded Software Lab.

    87

    19

    • Make zImage– sudo make zImage –j 4

    – Set number of thread “-j 4”

    • Typically set about 1.5 times the number of CPU threads

    Kernel Build

  • SKKU Embedded Software Lab.

    87

    20

    • What is device tree– Data structure for describing hardware

    – Can be described in a data structure that is passed to the operating system at boot time

    – Data structure itself is a simple tree of named nodes and properties

    – File organization

    • dtsi : platform common

    • dts : board specific

    • dtb : binary file

    Device Tree

  • SKKU Embedded Software Lab.

    87

    21

    • Make Device Tree– make exynos4412-odroidu3.dtb

    • Make final zIamge– cat arch/arm/boot/zImage arch/arm/boot/dts/exynos4412-

    odroidu3.dtb > ./zImage

    – Created zImage in the root directory of the kernel

    Kernel Build

  • SKKU Embedded Software Lab.

    87

    22

    Building a Tizen platform

  • SKKU Embedded Software Lab.

    87

    23

    • Three image files– platform.img

    – data.img

    – ums.img

    • • Refer to “Tizen-Platform-Build” (Previous class)

    Tizen Platform Image

  • SKKU Embedded Software Lab.

    87

    24

    Bootloader

  • SKKU Embedded Software Lab.

    87

    25

    • Download Rpm package– u-boot-2014.10-16.1.armv7l.rpm

    http://download.tizen.org/live/Tizen:/Common/arm-wayland/armv7l/u-boot-2015.01-19.3.armv7l.rpm

    • Decompress Rpm pakage– rpm2cpio u-boot-2014.07-9.3.armv7l.rpm | cpio –idmv

    • Copy u-boot-mmc.bin from ./var/tmp/u-boot to current directory

    Tizen u-boot Binary Download

    http://download.tizen.org/live/Tizen:/Common/arm-wayland/armv7l/u-boot-2015.01-19.3.armv7l.rpm

  • SKKU Embedded Software Lab.

    87

    26

    • U-boot bootloader– Boot process

    • Rom(In SOC) -> bl1 -> bl2(->uboot.bin)

    Additional Binary Download

    Need Bl1.bin / bl2.bin

  • SKKU Embedded Software Lab.

    87

    27

    • Download binary & script – Only signed file can be executed for odroid

    • $ wget -q https://github.com/hardkernel/U-Boot/raw/odroid-v2010.12/sd_fuse/bl1.HardKernel

    • $ wget -q https://github.com/hardkernel/U-Boot/raw/odroid-v2010.12/sd_fuse/bl2.HardKernel

    • $ wget -q https://github.com/hardkernel/U-Boot/raw/odroid-v2010.12/sd_fuse/tzsw.HardKernel

    • $ wget -q https://github.com/hardkernel/U-Boot/raw/odroid-v2010.12/sd_fuse/sd_fusing.sh

    • Edit sd_fusing.sh – vi sd_fusing.sh

    Additional Binary Download

    if=../u-boot.bin

  • SKKU Embedded Software Lab.

    87

    28

    • Check device node after connecting sd reader– ls /dev/sd*

    – In general, node is set to sdb

    • Set execute permission– chmod +x sd_fusing.sh

    • Fusing – sudo ./sd_fusing.sh /dev/sdb

    Fusing

  • SKKU Embedded Software Lab.

    87

    29

    Configuring Partitions & Platform Image Fusing

  • SKKU Embedded Software Lab.

    87

    30

    • Tizen partition configuration– 7 partitions : mmcblk0p1 ~ mmcblk0p7

    – MBR(Master Boot Record) is only supports up to four partitions

    Partition Information

  • SKKU Embedded Software Lab.

    87

    31

    • Use important partitions– Boot, platform, data, ums

    Partition Information

    PartitionMountPoint

    Option Description

    /dev/mmcblk0p1 /csa Rw Configuration Saved Area

    /dev/mmcblk0p2 /boot Ro Kernel image

    /dev/mmcblk0p3 - - Reserved

    /dev/mmcblk0p4 /mnt/csc RwCustomer Software Configuration , default language, time, etc.

    /dev/mmcblk0p5 / Ro Platform

    /dev/mmcblk0p6 /opt Rw Data, App, etc

    /dev/mmcblk0p7 /opt/media rw User space

  • SKKU Embedded Software Lab.

    87

    32

    • Manually set partition by gparted– Install gparted

    • sudo apt-get install gparted

    – Create partition except first 2mb space

    • Space bootloader & MBR

    Partition Configuration 1

  • SKKU Embedded Software Lab.

    87

    33Partition Configuration 1

    Sapce for Uboot

  • SKKU Embedded Software Lab.

    87

    34

    • Automatic partition setup by using scripts– Create mkpar.sh file

    Partition Configuration 2

    #!/bin/bash

    DISK=$1SIZE=`sfdisk -s $DISK`SIZE_MB=$((SIZE >> 10))

    BOOT_SZ=128PLATFORM_SZ=2048DATA_SZ=3072let "UMS_SZ = $SIZE_MB - $BOOT_SZ - $PLATFORM_SZ - $DATA_SZ"

    BOOT=bootPLATFORM=platformDATA=dataUMS=ums

    if [[ $UMS_SZ -le 100 ]]then

    echo "We recommend to use more than 4GB disk"exit 0

    fi

    echo "Label dev size"echo $BOOT" " $DISK"1 " $BOOT_SZ "MB"echo $PLATFORM" " $DISK"2 " $PLATFORM_SZ "MB"echo $DATA" " $DISK"3 " $DATA_SZ "MB"echo $UMS" " $DISK"4 " $UMS_SZ "MB"

    MOUNT_LIST=`mount | grep $DISK | awk '{print $1}'`for mnt in $MOUNT_LISTdo

    umount $mntdone

    echo "Remove partition table..." dd if=/dev/zero of=$DISK bs=512 count=1 conv=notrunc

    sfdisk --in-order --Linux --unit M $DISK

  • SKKU Embedded Software Lab.

    87

    35

    • Set execute permission– chmod +x mkpar.sh

    • Execute script with node name– sudo ./mkpar.sh /dev/sdb

    Partition Configuration 2

  • SKKU Embedded Software Lab.

    87

    36

    • Use three platform images– platform.img / data.img / ums.img

    – Platform.img : 2nd partition

    – Data.img : 3rd partition

    – Ums.img : 4th partition

    • Use dd command– sudo dd if=./platform.img of=/dev/sdb2 bs=512k

    – sudo dd if=./data.img of=/dev/sdb3 bs=512k

    – sudo dd if=./ums.img of=/dev/sdb4 bs=512k

    Image Flash

  • SKKU Embedded Software Lab.

    87

    37

    • Resolve partition size problem by gparted– Partition size is not displayed properly because entire partition

    image

    – Use check function of gparted

    Partition Resize

  • SKKU Embedded Software Lab.

    87

    38

    • Perform same work for other partitions

    Partition Resize

    Displayed properly

  • SKKU Embedded Software Lab.

    87

    39

    • don’t need to flash kernel image if you use TizenUboot– Copy zImage to 1st boot partition

    Kernel Image Copy

  • SKKU Embedded Software Lab.

    87

    40

    • Kernel modules build & install– Execute in kernel build directory

    1. Module build

    • sudo make modules

    2. Module install

    • Make directory

    – mkdir platform

    • Mount platform partition

    – sudo mount /dev/sdb2 ./platform

    • Install modules

    – sudo make INSTALL_MOD_PATH=./platform modules_install

    Kernel Module Copy

  • SKKU Embedded Software Lab.

    87

    41

    Configure Platform

  • SKKU Embedded Software Lab.

    87

    42

    • Platform image mount– Make directory for mount

    • mkdir platform

    – Mount platform image

    • sudo mount /dev/sdb2 ./platform

    Prepare for Platform Configuration

  • SKKU Embedded Software Lab.

    87

    43

    • Change mount partition in systemd– Path : ./usr/lib/systemd/system/local-fs.target.wants

    – Mount special file system & storage

    – Delete unused mount service • Csa.mount

    • Boot.mount

    Mount Option

    Edit Edit

    Edit

  • SKKU Embedded Software Lab.

    87

    44

    • Chage mount device name in systemd– Change root partition

    • -.mount : /dev/mmcblk0p5 -> /dev/mmcblk0p2

    – Change data partition

    • Opt.mount : /dev/mmcblk0p6 -> /dev/mmcblk0p3

    – Change ums partition

    • Opt-usr.mount : /dev/mmcblk0p7 -> /dev/mmcblk0p4

    Mount Option

  • SKKU Embedded Software Lab.

    87

    45

    • Edit fstab– Specify the required mount operations

    – Path : /etc/fstab

    – Annotating all option

    Mount Option

  • SKKU Embedded Software Lab.

    87

    46

    • Samsung Debug Bridge (Similar function with ADB와)– Can connect ODROID-U3 with Host PC

    • Tizen on ODROID-U3:– Need to set SDB daemon.

    SDB

  • SKKU Embedded Software Lab.

    87

    47

    1. Create a script to run before starting SDBD1. Activate Sdb device

    – chmod +x pre-sdbd.sh

    SDB: Activation [1/3]

    #!/bin/bashecho sdb > /sys/class/usb_mode/usb0/funcs_fconfecho 1 > /sys/class/usb_mode/usb0/enablesdbd

    /bin/pre-sdbd.sh

  • SKKU Embedded Software Lab.

    87

    48

    2. Change SDBD service file– Modified so that the script is running in the SDB service

    SDB: Activation [2/3]

    [Unit]Description=sdbdAfter=default.target

    [Service]Type=forkingEnvironment=DISPLAY=:0PIDFile=/tmp/.sdbd.pidRemainAfterExit=yesExecStartPre=/bin/bash /bin/pre-sdbd.shExecStart=/usr/sbin/sdbd

    [Install]WantedBy=multi-user.target

    /usr/lib/systemd/system/sdbd.service

    script to perform before the start sdbd service

    Run after the multi-user.target

  • SKKU Embedded Software Lab.

    87

    49

    2. SDBD service activation– Select one of the following methods

    1) Manual activation

    Make a symbolic link to sdbd.service at /usr/lib/system/systemd/system/multi-user.target.wants

    2) Auto activation

    Enter the following command after connecting odroid via UART

    - systemctl enable sdbd.service

    SDB: Activation [3/3]

  • SKKU Embedded Software Lab.

    87

    50

    • Install USB driver for SDB– Install “SAMSUNG_USB_Driver_for_Mobile_Phones.exe”

    Install Device Driver [1/2]

  • SKKU Embedded Software Lab.

    87

    51

    • Install Uart device driver– Uart Interface driver

    – CP210xVCPInstaller_x64.exe

    Install Device Driver [2/2]

  • SKKU Embedded Software Lab.

    87

    52

    Working check

  • SKKU Embedded Software Lab.

    87

    53Hardware Connection

    AC Adapter

    Odroid VU Touch

    HDMI

    AC Adapter

    WiFI or Bluetooth

    UART

    SD Card

    USB

    Odroid U3

  • SKKU Embedded Software Lab.

    87

    54

    • Putty Intall– Linux

    • Apt-get install putty

    – Windows

    • http://the.earth.li/~sgtatham/putty/latest/x86/putty.exe

    • Putty Config– Linux

    – Windows

    • Device manager -> Check port number

    UART Connection by Putty

  • SKKU Embedded Software Lab.

    87

    55

    • Caution – Connect HDMI cable after power on

    • The following screen output to putty

    Odroid Boot

  • SKKU Embedded Software Lab.

    87

    56

    • When the booting is completed, you can connect to the device vi UART

    – Login ID : root

    Tizen Platform Login

  • SKKU Embedded Software Lab.

    87

    57

    • Install sdb– sudo apt-get install sdb

    • Connect odroid to PC with the USB cable

    • Check that the device has been recognized in vmware

    – Connect “Samsung slp” device

    SDB Connection 1

  • SKKU Embedded Software Lab.

    87

    58

    • Check sdb connection– “sdb devices”

    – “sdb shell”

    SDB Connection 2

  • SKKU Embedded Software Lab.

    87

    59

    Trouble shooting

  • SKKU Embedded Software Lab.

    87

    60

    • • Hardware platforms are different

    Change Various Settings for Odroid

    RD-PQTizen reference phone

    Odroid U3

    StorageDisplay Input

  • SKKU Embedded Software Lab.

    87

    61

    • If there is no input for a certain period of time, device enters sleep state

    – Can’t use sdb, UART in sleep state

    – Activated by pressing the power button

    • Disable power-manager.service order to avoid entering entering into a sleep state– Remove symbolic link “power-manager.service” in

    /usr/lib/system/systemd/system/multi-user.target.wants

    • • Or should change the power-manager service

    Power Management Features

  • SKKU Embedded Software Lab.

    87

    62

    • Search source code in gerrit

    • Download source code

    • Check & change branch

    0. Edit Power-manager Service [1/5]

  • SKKU Embedded Software Lab.

    87

    63

    • Pm_core.c code– Trans_table: operations in power states

    – Change action of sleep state from sleep to LCDOFF

    0. Edit Power-manager Service [2/5]

  • SKKU Embedded Software Lab.

    87

    64

    • Build with GBS

    • Check package

    – Power-manager-1.3.23-9.armv7l.rpm

    • Output

    – Power-manager-debuginfo-1.3.23-9.armv7l.rpm

    • For debug

    – Power-manager-debugsource-1.3.23-9.armv7l.rpm

    • Source code

    0. Edit Power-manager Service [3/5]

  • SKKU Embedded Software Lab.

    87

    65

    • Copy the package file to odroid via sdb

    • Install package

    – Uvh : File update

    – Force : Force install

    – Nodeps : disregard dependency

    • Check installed package

    • To remove package

    0. Edit Power-manager Service [4/5]

  • SKKU Embedded Software Lab.

    87

    66

    • Use systemctl– Can check the current status of the service that are managed

    by the Systemd

    – Check power-manager

    0. Edit Power-manager Service [5/5]

    Service name state descryption

  • SKKU Embedded Software Lab.

    87

    67

    • Device Dependent X– Is connected to the display on the Xorg

    – DDX in the tizen does not operate properly if there is no lcd.

    1. Display Output - Xorg DDX [1/2]

  • SKKU Embedded Software Lab.

    87

    68

    • Replace DDX– File name : exynos_drv.so

    • Download : https://drive.google.com/file/d/0B3hOqlhVI7BvbkdtNnM5alZlVDQ/view?usp=sharing

    – Copy the replacement file to under path• /usr/lib/xrog/module/driver/

    • Get sdb root permission & File push– sdb root on

    – sdb push exynos_drv.so /usr/lib/xorg/modules/drivers/

    • Reboot– sdb shell

    – reboot -f

    1. Display Output - Xorg DDX [2/2]

    https://drive.google.com/file/d/0B3hOqlhVI7BvbkdtNnM5alZlVDQ/view?usp=sharing

  • SKKU Embedded Software Lab.

    87

    69

    • With Odroid Vu, touch-coordinate error

    • Xorg provides its own touch calibration function– Path : /etc/X11/xorg.conf.d/input.conf

    – Add calibaration option to InputClass

    • Can know the correction values using xinput_calibrator

    2. Touch Screen Calibrate [1/2]

    Section "InputClass"Identifier "evdev touchscreen catchall"MatchIsTouchScreen "on"MatchDevicePath "/dev/input/event*"Driver "evdevmultitouch“Option "MultiTouch" "10"Option "Calibration" “Calibration Value"

    EndSection

  • SKKU Embedded Software Lab.

    87

    70

    • Xinput_calibrator– Push xinput_calibrator package by sdb push

    • Download : https://drive.google.com/file/d/0B3hOqlhVI7BvaGlCSldSSmtVYlk/view?usp=sharing

    – Install the package with sdb shell• rpm -Uvh --force --nodeps xinput_calibrator

    – Generally use this value in Odroid VU• Option "Calibration" "-1 1282 -4 888”

    2. Touch Screen Calibrate [2/2]

    https://drive.google.com/file/d/0B3hOqlhVI7BvaGlCSldSSmtVYlk/view?usp=sharing

  • SKKU Embedded Software Lab.

    87

    71

    • No support on the software key– Need hardware key such as home / back

    • Only one hardware keys(GPIO Buttion) in Odroid– Key mappings is required for other input

    – Path : ./etc/X11/Xmodmap

    – Modifying the values for key button

    3. Key Mapping [1/2]

    keycode 67 = XF86AudioRaiseVolumekeycode 68 = XF86AudioLowerVolumekeycode 69 = Cancelkeycode 70 = XF86Sendkeycode 71 = XF86Phonekeycode 72 = XF86Stopkeycode 73 = XF86Search

  • SKKU Embedded Software Lab.

    87

    72

    • Keycode can be checked using xev

    – Keyboard input example

    – Mapping the desired key• Can use function keys such as F1 ~ F12

    • Also you can use GPIO button (power button)

    3. Key Mapping [2/2]

    keycode

  • SKKU Embedded Software Lab.

    87

    73

    • WiFi firmware copy– For some devices, the device can load the firmware from

    outside in the initialization phase

    • Copy rtl8195 firmware to /lib/firmware directory

    • In odroid “lib/firmware/rtlwifi/WIFI_FIRMWARE”

    • Download : https://drive.google.com/file/d/0B3hOqlhVI7BvWFJlQTZzWV84c2c/view?usp=sharing

    • Should modify a shell script – /usr/bin/wlan.sh

    4. Platform Setting for WiFi [1/2]

    https://drive.google.com/file/d/0B3hOqlhVI7BvWFJlQTZzWV84c2c/view?usp=sharing

  • SKKU Embedded Software Lab.

    87

    74

    • /bin/echo wlan.sh [start] [stop] [softap] [p2p] [check_hw]– Can support hotspot / WiDi

    – Apply only regular net functionality

    4. wlan.sh Script [2/2]

    #!/bin/shIFACE_NAME=wlan0start(){

    /sbin/ifconfig ${IFACE_NAME} up}

    stop(){

    /sbin/ifconfig ${IFACE_NAME} down}

    case $1 in"start")start;;"stop")stop;;*)/bin/echo wlan.sh [start] [stop]exit 1;;esac

  • SKKU Embedded Software Lab.

    87

    75

    • Scripts for Bluetooth– Path

    • /usr/etc/bluetooth

    – Required files

    • bt-stack-up.sh

    – Bluetooth activate

    • bt-stack-down.sh

    – Bluetooth deactivate

    • bt-reset-env.sh

    – Reset Bluetooth environment

    • bt-set-addr.sh (Use original file of Tizen 2.2)

    – Create Bluetooth address

    5. Platform Setting for Bluetooth [1/4]

  • SKKU Embedded Software Lab.

    87

    76

    • Need the device initialization for USB type BT – No separate device-specific initialization is required

    5. Bt-stack-up.sh [2/4]

    #!/bin/sh

    ## Script for executing Bluetooth stack#

    # Register BT Device

    # Set BT address: This will internally check for the file presence/usr/bin/setbd

    # Activate BT Devicerfkill unblock bluetooth/usr/sbin/hciconfig hci0 up

    # dbus path settingexport DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/app/dbus/user_bus_socket

    # Execute BlueZ BT stack/usr/sbin/bluetoothd -d/usr/bin/bluetooth-share &

    exit 0

    Device activation -> Dbus Settings -> Daemon is running

  • SKKU Embedded Software Lab.

    87

    775. Bt-stack-down.sh [3/4]

    #!/bin/sh

    ## Script for stopping Bluetooth stack#

    # Remove BT device/usr/sbin/hciconfig hci0 downrfkill block bluetooth

    # Kill BlueZ bluetooth stackkillall obexd obex-clientkillall bt-syspopupkillall bluetooth-sharekillall bluetooth-pb-agentkillall bluetooth-map-agentkillall bluetooth-hfp-agentkillall bluetoothd

    # resultexit 0

    Device Disable -> Daemon & Services Stop

  • SKKU Embedded Software Lab.

    87

    785. Bt-reset-env.sh [4/4]

    #!/bin/sh

    # BT Stack and device stop/usr/sbin/hciconfig hci0 downrfkill block bluetooth

    # Remove BT files and settingrm -rf /opt/data/bluetooth/.bt_pairedrm -rf /var/lib/bluetooth/*

    # Initialize BT vconf valuesvconftool set -tf int db/bluetooth/status "0" -g 6520vconftool set -tf int file/private/bt-service/flight_mode_deactivated "0" -g 6520 -ivconftool set -tf string memory/bluetooth/sco_headset_name "" -g 6520 -ivconftool set -tf int memory/bluetooth/device "0" -g 6520 -ivconftool set -tf int memory/bluetooth/btsco "0" -g 6520 -ivconftool set -tf int file/private/libug-setting-bluetooth-efl/visibility_time "0" -g 6520vconftool set -tf bool memory/private/bluetooth-share/quickpanel_clear_btn_status FALSE -g 6520 -ivconftool set -tf bool memory/private/bluetooth-share/opp_server_init FALSE -g 6520 -i

    # Remove BT shared memorylist=`ipcs -m | awk '$1==0x0001000 {print $2}'`for i in $listdo

    ipcrm -m $idoneipcs -m | grep "0x00001000" | awk '{ print $2 }'

    Disable Device -> All Reset

  • SKKU Embedded Software Lab.

    87

    79

    • Some features and apps, including Bluetooth, cannot be run on a low battery– Odroid has no battery

    – Normal battery information is not displayed

    6. Battery Problem [1/3]

  • SKKU Embedded Software Lab.

    87

    80

    • Need to modify battery-related modules in the OAL(OEM Adaptation Layer)

    6. Battery Problem [2/3]

  • SKKU Embedded Software Lab.

    87

    81

    • Edit Device-manager-plugin-exynos– device_manager_plugin_exynos.c

    • Modifying the battery remaining capacity to 100%

    • Build & Install– Create Rpm package

    – Copy the package to device & install• rpm –Uvh --nodeps --force device-manager-plugin-exynos-0.0.26-

    0.armv7l.rpm

    6. Battery Problem [3/3]

  • SKKU Embedded Software Lab.

    87

    82

    • Tizen Sound System– ALSA : Kernel-level subsystems for sound support

    – Pulse Audio : Third-party open-source framework to provide more sound-related functions

    • Sound output device are different

    • Need to change sound settings – Check sound device

    • “aplay –l”

    7. Sound Problem [1/2]

    Card : 0 / Device : 1

  • SKKU Embedded Software Lab.

    87

    83

    • Change output device in Pulse Audio setting– path : /etc/pulse/system.pa

    – Change output device from hw:0,2 to hw:0,1

    7. Sound Problem [2/2]

  • SKKU Embedded Software Lab.

    87

    84

    • Library installation is required in order to use the OpenGL– Mali-D아

    – Download

    • https://wiki.tizen.org/wiki/Enable_3D_Acceleration_on_Tizen

    8. Install OpenGL Library for 3D Acceleration [1/3]

    https://wiki.tizen.org/wiki/Enable_3D_Acceleration_on_Tizen

  • SKKU Embedded Software Lab.

    87

    85

    • Library Configuration

    8. OpenGL Library [2/3]

    platform-independent API

    Open Graphics Library for Embedded System

  • SKKU Embedded Software Lab.

    87

    868. Install OpenGL Library [3/3]

    • Copy DDK files

    – Remove Virtual driver• rpm -e --nodeps opengl-es-virtual-drv

    – Install new package• rpm -ivh --force *.rpm

    – Sync & reboot• Sync ; reboot - f

  • SKKU Embedded Software Lab.

    87

    879. Notification Bar Problem [1/2]

    • In Quick panel operation, rotation problem occurs

    NormalRotation

    Forced rotation of 90 degrees

  • SKKU Embedded Software Lab.

    87

    88

    • • Edit the initialization codes related to rotation angle

    – quickpanel/daemon/quickpanel-ui.c

    – Comment out some initialization code

    9. Notification Bar Problem [2/2]

  • SKKU Embedded Software Lab.

    87

    89Porting is Completed

  • SKKU Embedded Software Lab.

    87

    90Remaining Issues

    • Movie Player Not Working

    • Screen Orientation

    • Software key