diff --git a/handbook/development.xml b/handbook/development.xml index c56c69ca79..ee98265ca0 100644 --- a/handbook/development.xml +++ b/handbook/development.xml @@ -37,6 +37,172 @@ +
+ Developing externally using the Anjuta plugin + + + An Anjuta IDE plugin exists to make developing software within the Poky framework + easier for the application developer. It presents a graphical IDE from which the + developer can cross compile an application then deploy and execute the output in a QEMU + emulation session. It also supports cross debugging and profiling. + + + + + + + + + The Anjuta Poky SDK plugin showing an active QEMU session running Sato + + + + + + To use the plugin, a toolchain and SDK built by Poky is required along with Anjuta and the Anjuta + plugin. The Poky Anjuta plugin is available from the OpenedHand SVN repository located at + http://svn.o-hand.com/repos/anjuta-poky/trunk/anjuta-plugin-sdk/; a web interface + to the repository can be accessed at . + See the README file contained in the project for more information + about the dependencies and how to get them along with details of + the prebuilt packages. + + +
+ Setting up the Anjuta plugin + + Extract the tarball for the toolchain into / as root. The + toolchain will be installed into + /usr/local/poky. + + To use the plugin, first open or create an existing + project. If creating a new project the "C GTK+" project type + will allow itself to be cross-compiled. However you should be + aware that this uses glade for the UI. + + To activate the plugin go to + EditPreferences, + then choose General from the left hand side. Choose the + Installed plugins tab, scroll down to Poky + SDK and check the + box. The plugin is now activated but first it must be + configured. +
+ +
+ Configuring the Anjuta plugin + + The configuration options for the SDK can be found by choosing + the Poky SDK icon from the left hand side. The following options + need to be set: + + + + SDK root: this is the root directory of the SDK + for an ARM EABI SDK this will be /usr/local/poky/eabi-glibc/arm. + This directory will contain directories named like "bin", + "include", "var", etc. With the file chooser it is important + to enter into the "arm" subdirectory for this + example. + + Toolchain triplet: this is the cross compile + triplet, e.g. "arm-poky-linux-gnueabi". + + Kernel: use the file chooser to select the kernel + to use with QEMU + + Root filesystem: use the file chooser to select + the root filesystem image, this should be an image (not a + tarball) + + + + + + + + + Anjuta Preferences Dialog + + + + + +
+ +
+ Using the Anjuta plugin + + As an example, cross-compiling a project, deploying it into + QEMU and running a debugger against it and then doing a system + wide profile. + + Choose BuildRun + Configure or + BuildRun + Autogenerate to run "configure" + (or to run "autogen") for the project. This passes command line + arguments to instruct it to cross-compile. + + Next do + BuildBuild + Project to build and compile the + project. If you have previously built the project in the same + tree without using the cross-compiler you may find that your + project fails to link. Simply do + BuildClean + Project to remove the old + binaries. You may then try building again. + + Next start QEMU by using + ToolsStart + QEMU, this will start QEMU and + will show any error messages in the message view. Once Poky has + fully booted within QEMU you may now deploy into it. + + Once built and QEMU is running, choose + ToolsDeploy, + this will install the package into a temporary directory and + then copy using rsync over SSH into the target. Progress and + messages will be shown in the message view. + + To debug a program installed into onto the target choose + ToolsDebug + remote. This prompts for the + local binary to debug and also the command line to run on the + target. The command line to run should include the full path to + the to binary installed in the target. This will start a + gdbserver over SSH on the target and also an instance of a + cross-gdb in a local terminal. This will be preloaded to connect + to the server and use the SDK root to find + symbols. This gdb will connect to the target and load in + various libraries and the target program. You should setup any + breakpoints or watchpoints now since you might not be able to + interrupt the execution later. You may stop + the debugger on the target using + ToolsStop + debugger. + + It is also possible to execute a command in the target over + SSH, the appropriate environment will be be set for the + execution. Choose + ToolsRun + remote to do this. This will open + a terminal with the SSH command inside. + + To do a system wide profile against the system running in + QEMU choose + ToolsProfile + remote. This will start up + OProfileUI with the appropriate parameters to connect to the + server running inside QEMU and will also supply the path to the + debug information necessary to get a useful profile. + +
+
+ +
Developing externally in QEMU @@ -233,146 +399,6 @@ $ bitbake matchbox-desktop -c devshell
-
- Developing externally using the Anjuta plugin - - - An Anjuta IDE plugin exists to make developing software within the Poky framework - easier for the application developer. It presents a graphical IDE from which the - developer can cross compile an application then deploy and execute the output in a QEMU - emulation session. It also supports cross debugging and profiling. - - - - To use the plugin, a toolchain and SDK built by Poky is required along with Anjuta and the Anjuta - plugin. The Poky Anjuta plugin is available from the OpenedHand SVN repository located at - http://svn.o-hand.com/repos/anjuta-poky/trunk/anjuta-plugin-sdk/; a web interface - to the repository can be accessed at . - See the README file contained in the project for more information - about the dependencies and how to get them along with details of - the prebuilt packages. - - -
- Setting up the Anjuta plugin - - Extract the tarball for the toolchain into / as root. The - toolchain will be installed into - /usr/local/poky. - - To use the plugin, first open or create an existing - project. If creating a new project the "C GTK+" project type - will allow itself to be cross-compiled. However you should be - aware that this uses glade for the UI. - - To activate the plugin go - EditPreferences, - then choose General from the left hand side. Choose the - Installed plugins tab, scroll down to Poky - SDK and check the - box. The plugin is now activated but first it must be - configured.
- -
- Configuring the Anjuta plugin - - The configuration options for the SDK can be found by choosing - the Poky SDK icon from the left hand side. The following options - need to be set: - - - - SDK root: this is the root directory of the SDK - for an ARM EABI SDK this will be /usr/local/poky/eabi-glibc/arm. - This directory will contain directories named like "bin", - "include", "var", etc. With the file chooser it is important - to enter into the "arm" subdirectory for this - example. - - Toolchain triplet: this is the cross compile - triplet, e.g. "arm-poky-linux-gnueabi". - - Kernel: use the file chooser to select the kernel - to use with QEMU - - Root filesystem: use the file chooser to select - the root filesystem image, this should be an image (not a - tarball) - - -
- -
- Using the Anjuta plugin - - As an example, cross-compiling a project, deploying it into - QEMU and running a debugger against it and then doing a system - wide profile. - - Choose BuildRun - Configure or - BuildRun - Autogenerate to run "configure" - (or to run "autogen") for the project. This passes command line - arguments to instruct it to cross-compile. - - Next do - BuildBuild - Project to build and compile the - project. If you have previously built the project in the same - tree without using the cross-compiler you may find that your - project fails to link. Simply do - BuildClean - Project to remove the old - binaries. You may then try building again. - - Next start QEMU by using - ToolsStart - QEMU, this will start QEMU and - will show any error messages in the message view. Once Poky has - fully booted within QEMU you may now deploy into it. - - Once built and QEMU is running, choose - ToolsDeploy, - this will install the package into a temporary directory and - then copy using rsync over SSH into the target. Progress and - messages will be shown in the message view. - - To debug a program installed into onto the target choose - ToolsDebug - remote. This prompts for the - local binary to debug and also the command line to run on the - target. The command line to run should include the full path to - the to binary installed in the target. This will start a - gdbserver over SSH on the target and also an instance of a - cross-gdb in a local terminal. This will be preloaded to connect - to the server and use the SDK root to find - symbols. This gdb will connect to the target and load in - various libraries and the target program. You should setup any - breakpoints or watchpoints now since you might not be able to - interrupt the execution later. You may stop - the debugger on the target using - ToolsStop - debugger. - - It is also possible to execute a command in the target over - SSH, the appropriate environment will be be set for the - execution. Choose - ToolsRun - remote to do this. This will open - a terminal with the SSH command inside. - - To do a system wide profile against the system running in - QEMU choose - ToolsProfile - remote. This will start up - OProfileUI with the appropriate parameters to connect to the - server running inside QEMU and will also supply the path to the - debug information necessary to get a useful profile. - -
-
@@ -660,6 +686,17 @@ $ opreport -cl are installed onto the target device for OProfileUI interaction. + + + + + + + OProfileUI Viewer showing an application being profiled on a remote device + + + + In order to convert the data in the sample format from the target to the host the opimport program is needed. diff --git a/handbook/introduction.xml b/handbook/introduction.xml index 19a71fe327..1f56fd463d 100644 --- a/handbook/introduction.xml +++ b/handbook/introduction.xml @@ -74,6 +74,18 @@ using the GNOME Mobile stack, providing a well defined user experience. + + + + + + + The Sato Desktop - A screenshot from a machine running a Poky built image + + + + + Poky has a growing open source community backed up by commercial support provided by OpenedHand. diff --git a/handbook/screenshots/ss-anjuta-poky-1.png b/handbook/screenshots/ss-anjuta-poky-1.png new file mode 100644 index 0000000000..4e92012af5 Binary files /dev/null and b/handbook/screenshots/ss-anjuta-poky-1.png differ diff --git a/handbook/screenshots/ss-anjuta-poky-2.png b/handbook/screenshots/ss-anjuta-poky-2.png new file mode 100644 index 0000000000..2c9bfb3bbd Binary files /dev/null and b/handbook/screenshots/ss-anjuta-poky-2.png differ diff --git a/handbook/screenshots/ss-oprofile-viewer.png b/handbook/screenshots/ss-oprofile-viewer.png new file mode 100644 index 0000000000..fa7d1dfa4f Binary files /dev/null and b/handbook/screenshots/ss-oprofile-viewer.png differ diff --git a/handbook/screenshots/ss-sato.png b/handbook/screenshots/ss-sato.png new file mode 100644 index 0000000000..5a05709245 Binary files /dev/null and b/handbook/screenshots/ss-sato.png differ diff --git a/handbook/style.css b/handbook/style.css index fb95694f9c..e2b7572bf2 100644 --- a/handbook/style.css +++ b/handbook/style.css @@ -344,7 +344,8 @@ div.table p.title b{ .mediaobject .caption, .mediaobject .caption p { - text-align: left; + text-align: center; + font-size: 80%; padding-top: 0.5em; padding-bottom: 0.5em; }