cover slide title...• use cross toolchain and sysroot built by yocto project • sysroot kernel...

30
Yocto Project ADT, Eclipse plug-in and Developer Tools Jessica Zhang LinuxCon - Japan Tokyo 2013

Upload: others

Post on 24-Mar-2021

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Cover Slide Title...• Use cross toolchain and sysroot built by Yocto Project • Sysroot kernel match target and must contain kernel devs • E.g. core-image-sato-sdk • Or in local.conf

Yocto Project ADT, Eclipse

plug-in and Developer Tools

Jessica Zhang

LinuxCon - Japan Tokyo 2013

Page 2: Cover Slide Title...• Use cross toolchain and sysroot built by Yocto Project • Sysroot kernel match target and must contain kernel devs • E.g. core-image-sato-sdk • Or in local.conf

2

Agenda

• The Application Development Toolkit

• Usage Flow And Roles

• Yocto Project Eclipse Plug-in

• Interacts With Yocto Project Tools

• Self Guided Hands-on Labs

• For Cross Develop Kernel Module

• Q&A

Page 3: Cover Slide Title...• Use cross toolchain and sysroot built by Yocto Project • Sysroot kernel match target and must contain kernel devs • E.g. core-image-sato-sdk • Or in local.conf

3

The Application Development Toolkit

Page 4: Cover Slide Title...• Use cross toolchain and sysroot built by Yocto Project • Sysroot kernel match target and must contain kernel devs • E.g. core-image-sato-sdk • Or in local.conf

4

ADT Setup

• Toolchain + sysroot

• SDK tarball

• Extract target rootfs as sysroot

• ADT installer

• Customize sysroot and toolchain setup using a configuration file

• Require a pre-setup repo

• Embedded in your build tree

• Bitbake meta-ide-support

• Extract target rootfs as sysroot

Page 5: Cover Slide Title...• Use cross toolchain and sysroot built by Yocto Project • Sysroot kernel match target and must contain kernel devs • E.g. core-image-sato-sdk • Or in local.conf

5

ADT Improvements

• Relocatable

• Toolchain can be installed at user specified location

• Generate image matching SDK

• bitbake image-name –c populate_sdk

Page 6: Cover Slide Title...• Use cross toolchain and sysroot built by Yocto Project • Sysroot kernel match target and must contain kernel devs • E.g. core-image-sato-sdk • Or in local.conf

6

Usage Flow And Roles

Page 7: Cover Slide Title...• Use cross toolchain and sysroot built by Yocto Project • Sysroot kernel match target and must contain kernel devs • E.g. core-image-sato-sdk • Or in local.conf

7

Yocto Project Eclipse Plug-in

• Built on top via extensions of existing widely adopted eclipse

plug-ins

• CDT, Linux Tools Project, RSE, TCF

• Integrates Yocto Project ADT cross development setup into CDT

• For gnu autotool based projects

• Leverage RSE over SSH or TCF and remote agent achieve

remote target interaction within IDE

• CDT for cross platform build, deploy, run, debug

• Remote tools interaction, e.g. powertop, latencytop, etc.

Page 8: Cover Slide Title...• Use cross toolchain and sysroot built by Yocto Project • Sysroot kernel match target and must contain kernel devs • E.g. core-image-sato-sdk • Or in local.conf

8

Eclipse IDE for Application Developer

• Configure IDE wise Yocto Project ADT cross setup

Page 9: Cover Slide Title...• Use cross toolchain and sysroot built by Yocto Project • Sysroot kernel match target and must contain kernel devs • E.g. core-image-sato-sdk • Or in local.conf

9

Eclipse IDE for Application Developer

• ADT Project Templates

Page 10: Cover Slide Title...• Use cross toolchain and sysroot built by Yocto Project • Sysroot kernel match target and must contain kernel devs • E.g. core-image-sato-sdk • Or in local.conf

10

Eclipse IDE for Application Developer

• Project cross build using ADT setup

Page 11: Cover Slide Title...• Use cross toolchain and sysroot built by Yocto Project • Sysroot kernel match target and must contain kernel devs • E.g. core-image-sato-sdk • Or in local.conf

11

Eclipse IDE for Application Developer

• Cross debugging against qemu

Page 12: Cover Slide Title...• Use cross toolchain and sysroot built by Yocto Project • Sysroot kernel match target and must contain kernel devs • E.g. core-image-sato-sdk • Or in local.conf

12

Eclipse IDE for System Developer

• Bitbake Commander Project

Page 13: Cover Slide Title...• Use cross toolchain and sysroot built by Yocto Project • Sysroot kernel match target and must contain kernel devs • E.g. core-image-sato-sdk • Or in local.conf

13

Eclipse IDE for System Developer

• Meta data editor with syntax highlight and variable

hover capability

Page 14: Cover Slide Title...• Use cross toolchain and sysroot built by Yocto Project • Sysroot kernel match target and must contain kernel devs • E.g. core-image-sato-sdk • Or in local.conf

14

Interacts With Yocto Project Tools

• Hob

• A GUI tool for bitbake for easy customize build configuration

• Yocto-bsp

• A tool for quickly create a standard bsp layer, contains

• Machine configuration, supporting recipes and README files.

• allows the user to add (and remove) patches and kernel config fragments to a linux-yocto kernel without having to edit or learn the sordid details of the linux-yocto meta-data

• Target Analytical Tools

• Powertop, latencytop, perf,oprofile,lttng,systemtap

Page 15: Cover Slide Title...• Use cross toolchain and sysroot built by Yocto Project • Sysroot kernel match target and must contain kernel devs • E.g. core-image-sato-sdk • Or in local.conf

15

Interacts with Yocto Project Tools

• Launch hob to build against bitbake commander

project meta-data

Page 16: Cover Slide Title...• Use cross toolchain and sysroot built by Yocto Project • Sysroot kernel match target and must contain kernel devs • E.g. core-image-sato-sdk • Or in local.conf

16

Use Hob To Do Customization

• Edit Image to customize recipe and package selection

Page 17: Cover Slide Title...• Use cross toolchain and sysroot built by Yocto Project • Sysroot kernel match target and must contain kernel devs • E.g. core-image-sato-sdk • Or in local.conf

17

Use Hob To Build Image

Page 18: Cover Slide Title...• Use cross toolchain and sysroot built by Yocto Project • Sysroot kernel match target and must contain kernel devs • E.g. core-image-sato-sdk • Or in local.conf

18

Yocto-bsp plug-in

• Wizard like flow for ease of use

Page 20: Cover Slide Title...• Use cross toolchain and sysroot built by Yocto Project • Sysroot kernel match target and must contain kernel devs • E.g. core-image-sato-sdk • Or in local.conf

20

ADT And Eclipse For Cross Compile Kernel Modules

• Use cross toolchain and sysroot built by Yocto Project

• Sysroot kernel match target and must contain kernel devs

• E.g. core-image-sato-sdk

• Or in local.conf IMAGE_INSTALL_append = “ kernel_dev”

• Under sysroot/usr/src/kernel do:

• make oldconfig ARCH=<arch>

• make scripts ARCH=<arch>

Page 21: Cover Slide Title...• Use cross toolchain and sysroot built by Yocto Project • Sysroot kernel match target and must contain kernel devs • E.g. core-image-sato-sdk • Or in local.conf

21

ADT And Eclipse For Cross Compile Kernel Modules

• In Eclipse IDE

• New project -> C Project -> Makefile Project ->Empty Project

(Linux GCC as Toolchains)

• In newly created project, e.g. hello, create 2 new files:

hello.c

Makefile

Page 22: Cover Slide Title...• Use cross toolchain and sysroot built by Yocto Project • Sysroot kernel match target and must contain kernel devs • E.g. core-image-sato-sdk • Or in local.conf

22

ADT And Eclipse For Cross Compile Kernel Modules

hello.c

Page 23: Cover Slide Title...• Use cross toolchain and sysroot built by Yocto Project • Sysroot kernel match target and must contain kernel devs • E.g. core-image-sato-sdk • Or in local.conf

23

• Makefile

ADT And Eclipse For Cross Compile Kernel Modules

Page 24: Cover Slide Title...• Use cross toolchain and sysroot built by Yocto Project • Sysroot kernel match target and must contain kernel devs • E.g. core-image-sato-sdk • Or in local.conf

24

For Cross Develop Kernel Modules • Cmdline

• source environment-setup file

• echo $PATH

• Eclipse IDE

• Project Properties -> C/C++ Build Environment, Add PATH value equal

your cmdline path value

• Cross build your kenel module

• Use RSE to deploy hello.ko

• Remote terminal:

• insmod hello.ko

• rmmod hello

• cat /proc/modules, tail /var/log/messages

Page 25: Cover Slide Title...• Use cross toolchain and sysroot built by Yocto Project • Sysroot kernel match target and must contain kernel devs • E.g. core-image-sato-sdk • Or in local.conf

25

Questions?

Page 26: Cover Slide Title...• Use cross toolchain and sysroot built by Yocto Project • Sysroot kernel match target and must contain kernel devs • E.g. core-image-sato-sdk • Or in local.conf

Yocto Project ADT, Eclipse plug-in and

Developer Tools

Page 27: Cover Slide Title...• Use cross toolchain and sysroot built by Yocto Project • Sysroot kernel match target and must contain kernel devs • E.g. core-image-sato-sdk • Or in local.conf

Yocto Project ADT, Eclipse plug-in and

Developer Tools

Page 28: Cover Slide Title...• Use cross toolchain and sysroot built by Yocto Project • Sysroot kernel match target and must contain kernel devs • E.g. core-image-sato-sdk • Or in local.conf

Yocto Project ADT, Eclipse plug-in and

Developer Tools

Page 29: Cover Slide Title...• Use cross toolchain and sysroot built by Yocto Project • Sysroot kernel match target and must contain kernel devs • E.g. core-image-sato-sdk • Or in local.conf

Yocto Project ADT, Eclipse plug-in and

Developer Tools

Page 30: Cover Slide Title...• Use cross toolchain and sysroot built by Yocto Project • Sysroot kernel match target and must contain kernel devs • E.g. core-image-sato-sdk • Or in local.conf

Thank you for your

participation!