Home
TimeStorm User`s Manual - LinuxLink
Contents
1. 73 Opon Td eterna e xU E UE eM I MM M I Ne MU LUE Ie Nai 74 ETT ET 75 Analyzing tbe Profled Datdsdiaswtspetent a Dos em air edes spe b uad cu qo Orcus ppl S sU oda us 77 Profe SettnsssVIB W acsdasetol Quent d recs a A 79 Iriporting OProtile Dataucsqoncondid esie een dives Vr die Bead n ced Ho Ye YO die rest ia VR Ue ee 80 Comparing Pol ge SessiIOTiSsessssstenh t dn Me issake boi ce a teri Ema BEteia leap eta Eon tosta ted od ete ae te Su No Essa tabu dde 81 Valgrind Remote SUpDOLDES seed rete reo MERi r aad MN E IL EM 83 Profiling using Valerna ss eoe iio epu bons seme c onc co paese ebete wipes Da iste ou pe d bo eH Mod DeC LU uraE 83 DI HP MN TEN tintin Gales 85 Advanced TODI CS usi Ee Duis slo Nes ere ee ee De EUM cee EMIL III Recibe dE 86 Building komihe Command Ee users eua tte platulcc euis a iei De epit ic neesegus ore pd ccu te ORE eIa ic apt 86 Auxiliary Pesce ehe esaet oA aaa sth tatu ente n aue deu ote e dE nM IE 87 Using Source Code Control from the Command line sss sss sss sese eee 88 POO UIE WES EID RR ROUEN REN 89 TimeStorm User s Manual TimeStorm Overview TimeStorm is an Eclipse based integrated development environment IDE for embedded application development TimeStorm 4 4 0 is based on Eclipse Kepler Eclipse 4 3 0 and C C Development Tools 8 2 0 TimeStorm supports e C C application development e Qt application development e Kernel Development e Kernel Module Development e Too
2. User s Manual TimeStorm Version 4 4 0 Embedded Linux from a Trusted Source TimeStorm User s Manual Contents Oaa E a Ee n i necesse T HH 1 FS CNS TIE SEDET pE Oi vdd tvispise ines iaculo dbi de neu seme e Ribes i LUE 2 Host System Reqgulr moehnts rore arbre Sa EN ea FAT YES EPEASR ER YR PEE EXER UEEVE E EUE RETE CURVE RUE UTER EVEN TM NUER IY EE VEN DER SUE VR 2 WV aE WMS SEO v 19 e all RR E T T 2 license Managemen Teesi motor iae ek Cxtebepeidtblet teat obedt interd tas uber uiuo ode des vbi Fist e iaa bei DET ENS 2 Creating a Te term HICENSE eemrntiri tort ieEEnECbrI DU Pe CU MUERE R CORR RPIT EUER CU IP Erin iati Ped F LUUD dd pKE CPI ISDN 3 PAG CNET WIV BIS T 4 Maite RR TNS SCO 02 RR 4 Dini sy OE e B ad E earn me tence Rie ETT 6 Seis TEPMINOO SY ENTRE 6 OT 6 d ejzscfT I T m mm 6 clo M 6 MUTE NC T 6 MIENWS Hd l 2 e osse iuRatendddaoetsedumeidumet betae Edd Creme ERU adem du M Me uda URP TEE URN 7 xz CI i em 8 Source Code Control SUVSTeITIS i oassescuo se vekS aquia pate eoa eras Eare Ees SF o US Exin e ON TURAE SER HUE du UnF Ia er lxp YD a Sac eb ANENE 8 Using Your Own Source Code Control System esse eee ee eee eee 8 Using Source Code Control PIUB II sisi sies peas tette iv EE E Sek YuE a YE FUE E oak YE rtv
3. When debugging on the development host select Run Debug Configurations from the main menu and use the C C Application configuration from the debug run configuration dialog This run configuration shares many of the same panels as the C C Remote Run configuration and works in much the same way Just like with the C C Remote Run configuration the user needs to specify what project and application will be used for debugging and has control over the environment variables and source code locations Development Host Debugging Strategies Since it may not be possible to create a complete environment for running a program on the host machine the recommended strategy is to build scaffolding code to emulate the target device and create an environment similar to the target To minimize the development efforts for this scaffolding code engineers will not put effort into creating a high fidelity emulation but one good enough to exercise the code in question In addition the host machine is frequently configured to be similar in file structure as the remote machine or a directory is created to resemble the root file system of the target and the program performs a chroot when starting Following this strategy allows the developer to create a separate environment that is closer to that of the target that is with the same set of files permissions libraries and device nodes without interfering with the host machine s configuration The chroot
4. cP Profiling Mo 8 7 D J L amp B K 21 192 168 3 58 v S 10 0 0 10 BS Mon Jun 24 12 39 25 EDT 2013 BS Importing profiled data Figure 64 Status messages in Profiling Monitor view 76 TimeStorm User s Manual Analyzing the Profiled Data To view and analyze a successfully completed profiling session right click on the session and click on Analyze as shown in figure 65 Alternatively you can also double click on the session This will open the profile analysis view and display the profiled data Ba C C Projects lt P Profiling Mo 93 7 T Y ED lps_project gt El 192 168 3 58 Y El 10 0 0 10 Be Mon Jun 24 12 39 25 EDT 2013 B Mon Jun 24 12 45 32 EDT 2013 Profile Settings Rename Delete Refresh Compare Import Resource Configurations d Figure 65 Selecting Analyze option The profile analysis view displays the session name and the profiled events in a drop down Selecting a profile event will display the total profile count for that event and the applications libraries and functions that are profiled for that event When an executable includes debug information the filename and the line number are also displayed For example in the figure CPU CLK HALTED event is selected multithread application is profiled the thread func has the highest profile count at line number 26 77 TimeStorm User s Manual amp Prarie A nahas E 13 11 E DT E G l E WEE C PU CL R UHHALTE D hameiruncDion x US L
5. Linux Profiling Suite for easily profiling applications using OProfile Linux Profiling Suite is explained in the next section Valgrind A powerful tool that can be used from TimeStorm for profiling applications TimeStorm adds support to use valgrind on a remote target TimeStorm User s Manual Linux Profiling Suite LPS TimeStorm supplements the Eclipse OProfile tool with its own Linux Profiling Suite LPS LPS is easy to use and well integrated with TimeStorm hardware targets management LPS allows embedded developers to find performance bottlenecks in their code LPS uses OProfile which is Open Source profiler for Linux systems OProfile collects information about kernel and all running applications OProfile profiles your code by recording the output from hardware registers that counts events such as CPU cycles LPS provides statistical analysis of profile results and annotated source code view helps in identifying any performance issues easily and quickly For more information about OProfile refer to the OProfile Manual found at http oprofile sourceforge net doc index html Note You must have OProfile installed on target for remote profiling or on host machine for local profiling LPS Perspective Select Window gt Open Perspective gt Other option from main menu and choose Linux Profiling Suite from Open Perspective window shown in Figure 54 69 TimeStorm User s Manual Oe C C LUCI aut Ba CVS Rep
6. scanned and TimeStorm translates errors and warnings for files into markers that appear next to the offending line and in the problems view Changing the Toolchain for an Existing Project If you want to switch to a different cross toolchain or if you want to check if your code compiles with a native toolchain you can change the toolchain used by a project after creating it To change the toolchain shown in Figure 27 1 Right click on the project and then click Properties 2 Inthe Properties window expand C C build and click Settings The project s build settings is displayed in the right hand side 3 Click the Cross toolchain tab and select the toolchain you want to use with the project NOTE The toolchain you are changing is for the build configuration displayed at the top of the page 4 Make sure to Clean and Build the project after you change the toolchain Applications Places Mon Apr 23 10 38 AM o ti m timesys File Edit So riv Settings lt E fe X gt Resource l l x 3 DM ET o Builders Configuration Debug Active Manage Configurations Y C C Build rE a S Build Variables amp T i 2 ly wow e gt i l Cross Toolchain S Bui j j i nativec Discovery Options i Tool Settings Build Steps Build Artifact Binary Parsers Error Parsers dioh Environment Cross Toolchain SDK beagleboard GCC 4 4 5 armv7l timesys linux uclibcgnueabi Y dlib h Log
7. strategy also helps reduce regressions that can happen when recompiling and testing the program on the target machine 40 TimeStorm User s Manual Building Related Projects in a Workspace In TimeStorm projects are not hierarchical This is much different than other systems where a project is frequently structured as a top level directory with a directory for each component with those directories nesting downward For example top level dir application shared lib 1 static lib 1 static lib 2 shared lib 2 static lib 1 static lib 2 In this project the user would typically write a make file that built the projects in the following order shared lib 2 static lib 2 shared lib 2 static lib 1 shared lib 1 static lib 2 shared lib 1 static lib 1 application In TimeStorm since all of the projects are peers of each other enforcing the build order would occur through Project References which is part of the project properties To access the Project References 1 Openthe Project Properties dialog by right clicking and selecting Properties 2 Select the Project References entry on the left The dialog will look like the following shown in Figure 28 41 TimeStorm User s Manual T Properties for printenv type filter text Project References ge E Projects may refer to other projects in the workspace Builders Use this page to specify what other projects are gt C C 4 Build refer
8. your toolchain has acceptable default values modifying the name and description information is optional Add toolchain Specify additional toolchain information Please specify a name description and ID for this toolchain Name armv5l timesys linux gnueabi Description Toolchain for armv5l timesys linux gnueabi development ID User armv5l timesys linux gnueabi 9 Back R Finish Cancel Figure 5 Toolchain Management Name and ID Managing Build Configurations and Managed Makefiles TimeStorm uses build configurations to control how TimeStorm C and C projects are compiled and built A build configuration is a collection of build settings associated with a project that contains the following information e Compiler What compiler to use to build the software TimeStorm projects have the added benefit of enabling the user to create Build Configurations that use a cross compiler e Compiler Settings Settings such as the optimization level ANSI compliance and warnings e Linker Settings Settings that specify what libraries to use and where they can be found By switching from one build configuration to another you can quickly and easily change the build settings for your project 13 TimeStorm User s Manual Types of makefile Management TimeStorm has two different ways of managing the make files in a project as outlined below 1 C C Executable Shared Librar
9. Au Path containing tools qmake uic rcc etc gt Usage Data Collector Valgrind Include Path home timesys timesys dm3730 evm toolchain include Browse ea 2 Path containing the include pathes QtCore QtGui etc c rp Oit v De Type D Cancel Finish n 0 items selected Figure 49 Configuring Ot 3 Enter a name for the Qt version 4 Select the Bin Path Click Browse to select the bin folder of the toolchain that includes Ot 5 Include Path The include path will be automatically set you need not change it 61 TimeStorm User s Manual 6 Click the Finish Button Now TimeStorm is set to use the Ot version you have added To Create a Qt project and develop a Qt application 1 Click File New Project Qt Qt Console Project Qt Gui Project to launch the project wizard 2 Fillin the project name and other details 3 Click the Finish button During development you may want to first develop and debug your Qt apps on the host and then rebuild them for the target board To switch the Qt version 1 Right click on the project and click Properties Qt Properties 2 Select the Ot version you want to use as shown in Figure 50 r aa Lj Properties for qtGuiApp Gl Qt Properties K Resource Default Builders Use Qt Version dm3730 qt K C C General C C Include Paths ar C C Make Project C C Project Paths Logging Project References s k S Run gmake when pro fi
10. IP 192 168 3 58 Local Figure 58 LPS Configuration Target Tab Project Tab The project tab is shown in figure 59 LPS organizes profiling sessions into projects and sessions You can create a new profiling project or choose an existing one The session name is optional If session name is left blank TimeStorm creates a session using the date and time W Target i Project Run C Options id Events LPS Project lps project Session Figure 59 LPS Configuration Project Tab Run Tab The run tab is shown in figure 60 LPS allows you to profile an application or the whole system for a specified duration Application If you want to profile an application select it from either your workspace or file system by clicking the Browse button If you want to skip profiling during application startup you can delay the OProfile startup by setting the delay time Timed Select this option to profile the whole system for specific duration 73 TimeStorm User s Manual 8 Target i Project amp amp Run amp Options 00 Events 9 Application Application Browse Arguments Delay profiling on application startup Startup delay Minutes Seconds Timed Profile Time Minutes 0 Seconds 30 Figure 60 LPS Configuration Run Tab Options Tab This tab allows you to configure OProfile 74 Kernel image vmlinux If you want to profile the kernel select the vmlinux kernel image
11. Select Configurations panel shown in Figure 23 C Project C Project lt gt Create C project of selected type Project name test program 4 Use default location Project type Toolchains Executable Linux GCC e Hello World ANSI C Project Multithread C Program gt Shared Library b Static Library gt Makefile project Show project types and toolchains only if they are supported on the platform D lt Back Next gt Cancel Figure 22 New C C Project Wizard 33 TimeStorm User s Manual Select Build Configuration Panel In this panel TimeStorm will suggest creating three build configurations that contain the compilation settings for the project Build configurations work together with the toolchain and project to create the makefile that TimeStorm uses for the build For more information on Build Configurations please see the How TimeStorm Builds a Project section C Project Select Configurations Select platforms and configurations you wish to deploy on Project type Executable Toolchains TimeStorm Cross Compile Toolchain Configurations amp ZS Debug amp 3 GnuProfiler amp 23 Release Deselect all Select all Advanced settings Use Advanced settings button to edit project s properties Additional configurations can be added after project creation Use Manage configuratio
12. TimeStorm is bundled with the Ot Eclipse integration plugins These plugins will help in developing Ot applications using a Timesys SDK and remotely running and debugging the Ot applications on target Timesys SDKs that include Qt are configured to work easily with TimeStorm These are a few main steps that get you started developing Ot applications using TimeStorm 1 Switch to Qt perspective Click Window gt Open Perspective gt Other gt Qt C 2 Configure TimeStorm for Qt To create Qt projects and develop Qt applications you have to configure TimeStorm for Qt by adding the Qt version you want to use You can add multiple Qt versions to TimeStorm native Qt Qt specific to your board To add a Qt version click Window gt Preferences gt Qt gt Add A dialog as shown below in Figure 49 is opened LI File Edit Navigate Search Project Run Window Help iv n Es El ev 6 C v Gr tv Or U e e wy ES fj Fie lo qa Qt das E D 90D9 EI gt General i Qt Versions KZ K C C nnn An outline is not available ChangeLog Name Bin Path Include Path Add v Help Install Update Java v v Library Hover gt Mylyn Qt Add new Qt version Remote Systems y Specify the Name and Bin Include Pathes of the Qt version gt Run Debug gt Specfile Editor Version Name dm3730 qt K SystemTap gt Team gt TimeStorm Au Bin Path home timesys timesys dm3730_evm toolchain bin Browse Tracing amp
13. a sub directory to a project right click on the project choose New to see different file options Give the appropriate file extension when specifying the file name To build the application select Project Build Project from the menu TimeStorm will build the project with the active build configuration and display any errors or warnings in the problems view During the build process TimeStorm generates a make file for the project based on the active build configuration as described below in the How TimeStorm Builds a Project section of the manual A project created by a TimeStorm wizard is designed to build without any errors or warnings 37 TimeStorm User s Manual How TimeStorm Builds a Project TimeStorm uses Build Configurations to control the project build process When creating a project using a wizard several build configurations will be created by TimeStorm and associated with the project One of these build configurations is the active configuration as illustrated by the star in the illustration below and that will be used by default when creating a build Any build configuration can be selected as the active configuration as this concept exists so the user does not need to select which build settings to use when creating a build Figure 26 below shows the relationship between the project build configurations toolchains and the make files generated by TimeStorm Build Configuration A Build Configuration
14. code in the Profiling Monitor view right click in the view and select Compare The Compare Profile Sessions window opens with other sessions Select and double click the other session 81 TimeStorm User s Manual you want to compare to The Compare Profile Sessions window compares and displays the profiling results side by side as shown in Figure 71 Compare Profile Sessions with Mon Jun 24 12 45 32 EDT 2013 He Profile Events Sessions Y v5 timer B Mon Jun 24 12 39 25 EDT 2013 4B bash Be Mon Jun 24 13 05 13 EDT 2013 Ex cat 45 d 2 15 s0 4 libc 2 15 s0 no vmlinux Ea oprofiled Text Compare Ame S58 4 Session Mon Jun 24 12 45 32 EDT 201 3 Event timer Session Mon Jun 24 12 39 25 EDT 201 3 Event timer timer timer Count 3384 Count 3570 bash 58 bash 53 busybox 1 busybox 1 cat 1 ld 2 15 s0 11 ld 2 15 s0 13 libc 2 15 s0 27 libc 2 15 s0 33 no vmlinux 3477 no vmlinux 3278 oprofiled 1 Left 13 1 Right 13 1 conflicting change 1 Left 2 12 Right 2 12 Q a Figure 71 LPS Comparing two sessions side by side The profile events and the application library names are displayed in the Profile Events pane You can double click on the name to just display the profile count for that application 82 TimeStorm User s Manual Valgrind Remote Support TimeStorm adds Remote target support to the Valgrind tools from Eclipse Valgrind
15. configuration that you want in the Configurations list and click New icon or double click the Configuration type to add a new configuration Then use the tabbed panels on the right to select and configure the run options Different options appear depending on the type of run configuration that you create TimeStorm projects typically use one of the following types of run configurations C C Application Runs a C or C project on the local system Use this option if when running or debugging an application built with the host compiler TimeStorm C C Remote Runs or installs a C or C project on a remote target Use this option to debug programs built with this cross compiler Main Panel In the Main panel shown in Figure 12 specify the project to run with this configuration You can use the Browse button to search for your project name After filling in the project name use the Search Project button to find the executable file that you want to transfer and run pd Arguments P Environment Xs Debugger 4 Project rten Browse C C Application Debug printeny Search Project Browse Figure 12 Main Panel 22 TimeStorm User s Manual 23 Arguments Panel In the Arguments panel shown in Figure 13 you can specify execution details for your application Only the C C Remote projects have the Remote Working Directory option Main 3 Arguments gt P
16. inin D est nues aen ted ubt patina ttp be orale nd an E EE ust bindend aM Rn fnis 52 Boot the Board with the kernel using the right boot arguments esse eee ee eee eee ee eee eee eee 52 Debug the kernel from TimeStorm using GAD cccccccsssccceeseccceesececeeescccceesececeuneceseegeceeseusecessunecss 53 Loadable Kernel laal cui deti eh ect ace t abeo ve erobert ab eset s ean eese v dn dance buds 57 Creating a Lodable Kernel Module Project sss sse seene 57 Building KerreblWiodule Pro 866bu i eouiecuisi bett Qi duet a at tasas N a ite boe butter atv testet aU ad ttes tula 59 Deploying the Kernel MOGQUIG 5 ddr Uere E tr Dee ere e EP cer db Ner ane d v ere LA aia 59 Ot Development WITH UMESTO ii Sesso etas Co ta eo eh Dua Bb aa Ge deb od Ge Dus de Esa Si aa fida roi tonus BE ooa S 61 OENIUESU BD Eee Corm N r E Ett E E tois ta Pede me utu Fade iO aes ERd Ee AMO e Pact MEE 64 Remote SysteriEXploF elucet Cu os ces Exe HF Nt e bor Hd oec abo UE D do PE C rupem HP d EDI M eU CM UDUN 67 NEFTIS eatis Aso otn tp tect de an Ohta te Loo TR M ase M etes UP D eode 68 Enix Protiling suite E PS is scan ue ito o oM Eni nOb et iunbo es te pete ie Eo A 69 LPS EGG TITR ASG X n 69 sae MINA usine E TREE ET T r N 71 Target Tale bacio a A M A CEN LUE vtec cpu Eco EE loe cop eral 72 Project kre Ree err nen eer nee UN MH MM MEM RN 73 TimeStorm User s Manual STR o T
17. is an Instrumentation framework for building dynamic analysis tools that can be used to profile applications Valgrind tools are used to detect memory management and threading problems Note To profile using Valgrind you should have valgrind 3 3 0 or later installed on your target Profiling using Valgrind Refer to http wiki eclipse org Linux Tools Project Valgrind User Guide for information of using Valgrind To profile on a remote target 1 right click on the project in the project explorer select Profiling Tools Profiling Tools Configurations as shown in figure 72 Show in Remote Systems view Profiling Tools 3 1Profile Code Coverage Convert To 2 Profile Memory Profile As 3Profile Timing Debug As 4Functioncallgraph Run As 5 Profile With OProfile Compare With Profile With OProfile Manual Restore from Local History 7 Profile with Perf Run C C Code Analysis 8 Profile With Valgrind Team Y Profiling Tools Properties Alt Enter Figure 72 Launching Profile Tools Configuration 2 Select TimeStorm Valgrind Remote 3 Click New launch configuration icon in top left corner This will create a new profile launch configuration and the launch configuration tabs are displayed in the right panel shown in figure 73 4 The launch configuration dialog has tabs as explained in http wiki eclipse org Linux Tools Project Valgrind User Guide and an additional target tab as shown i
18. is filled in the GDB debugger text field If you want to change the gdb you can do so by clicking the Browse button next to the gdb debugger text field If you wish not to run any commands when gdb launches you can clear init entry in the gdb command file text field If you would like to view verbose messages in the gdb console select the Verbose console mode checkbox E Main Debugger gt 5 Source E3 Common Toolchain SDK dm3730 zoom torpedo GCC 4 6 3 armv7l timesys linux gnueabi 20130117 09 53 v _ Suspend target on connect Advanced Main Shared Libraries Connection GDB debugger home timesys timesys dm3730 zoom torpedo toolchain bin armv7l timesys linux gnueabi g Browse GDB command file gdbinit Browse Warning Some commands in this file may interfere with the startup operation of the debugger for example run GDB command set Protocol Verbose console mode Use full file path to set breakpoints Figure 40 Kernel Debug Configuration Debugger Tab Main Tab Shared Libraries Tab You can manage the directories the debugger searches to find the shared libraries with debug symbols on the Shared Libraries tab in the Debugger tab By default the debugger will automatically search the paths specified in the project s build settings E Main Debugger amp Source Ei Common Toolchain SDK dm3730 zoom torpedo GCC 4 6 3 armv7l timesys linux gnueabi 20130117 09 53 v _ S
19. it is unable to determine which source file corresponds to an executing binary file For example if you have two source files with the same filename in different directories of the search path TimeStorm is unable to determine which file is related to the binary file with that name If this checkbox is selected TimeStorm displays a message and asks the user to select which file to use This checkbox is not selected by default 28 TimeStorm User s Manual Target Panel The Target panel shown in Figure 19 allows you to select the hardware target used when you run the application PS Environment X3 Debugger amp Source B Target Hardware Target dev board Figure 79 Targets Panel In the Target panel use the drop down menu to select a hardware target that you have registered with TimeStorm If you have not yet registered a hardware target click Manage targets to open the Hardware Targets management utility If you have problems maintaining a connection to the target when using this run configuration consider increasing the value in the timeout setting Settings made in the Launch Timeout panel only affect run configurations they do not affect timeout settings for the Console view or for any other use of Telnet or FTP Telnet and FTP timeout values for run configurations can be set from the TimeStorm Preferences panel From the main TimeStorm menu select Window Preferences and open
20. libgobject 2 0 50 0 3200 3 1 057 1 437 libcompiz core so 0 9 7 12 1 055 1 434 gt chromium browser 0 975 1 325 libpixman 1 s0 0 24 4 0 943 1 282 libpulsecommon 1 1 so deleted 0 925 1 258 libdricore so 0 889 1 209 libdrm_intel so 1 0 0 0 863 1 173 libopengl so 0 857 1 165 E Properties 23 1 gt prt V Aj java 0 854 1 161 aina i965 dri so 0 740 1 006 ha Info amp Profile Settings X EJ Console D Bo rae aes eee Ne eee Profile settings for session Fri Jun 21 10 49 49 EDT 2013 Name Fri Jun 21 10 49 49 EDT 2013 E ce a ME PANT Status Completed Image Filter S N Profiling Call Graph Depth 0 C Lib Separated Ee 1 Event Name Count UnitMask Profiling Kernel Profiling Userspace can Graphit CPU_CLK_UNHALTED 100000 0 iv Yes Yes CPU Buffer 16000 Image Fi ltef Kernel Sepa False Libraries Se False Figure 55 LPS Perspective Profiling using LPS To profile an application or system create a profile launch configuration 1 In the Profiling Monitor right click and select Profiling Tools Configuration to create Profiling Tools Configuration as shown in figure 56 Profiling Monitor X Ej C C Projects i You can create a profile session for analysis by launching a n Refresh Profiling Tools Configurations Import Figure 56 Launching Profiling Tools Configuration 71 TimeStorm User s Manual 2 Select TimeStorm Oprofile in left panel 3 Click New launch configura
21. the Download tab is automatically entered into the common fields and the IP Address field in the Execute tab In this case the fields are not editable as long as the Link to Execution checkbox is selected in the Download tab TAB 3 Raw Log After you register a target you can check the connectivity to that target at any time Each time you add a target or edit information for a target Timesys recommends that you perform a connectivity check to verify that the host can communicate with the target The target connectivity check does not occur automatically upon registering or applying changes to a target TimeStorm User s Manual To verify connectivity to a target select the target in the left panel of the Targets window and click the Check Link button The Raw Log tab shown in Figure 9 becomes active when the check starts If the host communicates successfully with the target a Target Check Passed message shown in figure 9 is displayed in the Raw Log tab of the Targets window Name DM3730 SOM LV Download X Execute B Raw Log Checking SCP communication Connecting via SCP to 192 168 2 68 Connected to 192 168 2 68 Authenticating username and password SCP connection succesful Checking Execution Initializing Connecting via SSH Eo 192 168 2 68 Connected to 192 168 2 68 Authenticating username and password Obtaining pseudo terminal Testing cd Last login Thu Dec 29 11 36 06 2011 From ravi
22. the TimeStorm Launch Timeout item Download Files Panel In the Download Files panel shown in Figure 20 you can select the files that TimeStorm transfers to your target You can use this panel to download additional files to your target along with your application 29 TimeStorm User s Manual 35 BS Environment Debugger amp Source 4 Target le iles EJ Common 2 File Destination Dir Add File Target Program and Libraries 2 files j MERCEDE aa a usr share test_data Download Now Restore Default Figure 20 Download Files Panel The application specified in the File field is listed as Target Program Thisis the application that will be run You can change where it is downloaded by selecting it and clicking Edit If the program links in shared libraries then these libraries will be downloaded to the target as well and the Files field is listed as Target Program and Libraries These libraries will be downloaded to the same location as the target program To download the program and libraries to separate locations remove the default entry and re add each as a separate entry File paths are interpreted as relative to the target directory to which you download files If you transfer files by using FTP the actual dest
23. 0 M Yes 127 M Yes 65 V Yes 79 Yes 62 V Yes 11i Yes 0 M Yes 0 Yes 2 Count Unit Mask Profile Kernel Profile Userspace n Yes IV Yes I Yes z Yes Iz Yes z Yes Iz Yes In Yes Iz Yes Show Selected Counter Event Name Expand the counter to view events in the counter Select the event for profiling You may only choose one event per counter Also if you choose a particular event for one counter you may not choose the same event for another counter Count The field shows the counter reset value for the given event To edit this value click on counter value type in new value and hit Enter key Unit Mask This field shows the unit mask To edit this value select the event and enter new mask value in Unit Mask Editor shown in Figure 63 TimeStorm User s Manual Unit Mask Editor Unit Mask 1 Value Description 2 Unhalted bus cycles of this core while the other core is halted 3 Unhalted bus cycles Oo Unhalted core cycles Revert Defaults Cancel 0K Figure 63 Unit Mask Editor Profile Kernel Select this to profile kernel code Profile Userspace Select this to profile userspace code For more information on the counters and events please refer to OProfile documentation After configuring OProfile Click the Profile button to start profiling The profiling status and progress is displayed in the Profiling monitor view Eie C C Projects
24. 19 4 2012 03 22 11 29 17 EDT built in shell ash Enter help for a list of built in commands linuxrc mnt lost found opt media proc Figure 11 Hardware Target console The connection used with the target is displayed at the top of the console view In the console view you can type commands you want to run on the target and view the output Please note that this is a basic console view and various control characters and special characters may not be displayed well This console view will be good for viewing the boot loader output using a serial connection run basic commands like browse file system change file permissions etc and copy files to from the target 21 TimeStorm User s Manual Use the icons on the top right corner of the view to copy the console output to a file send a ctrl c command to the target clear the console and disconnect from the target Run Debug Configurations TimeStorm IDE uses Run configurations to store download and execution information for your applications Although Run configurations are part of the basic Eclipse IDE TimeStorm Run configurations are customized to support executing and debugging a program and its libraries on a remote target The C C Development User Guide online help includes additional information about TimeStorm s debugging tools Creating a New Run Configuration To create a new run configuration select Run Run Configurations from the main menu Select the type of
25. 49 p q i r j k q q j r Figure 67 LPS Annotated C Editor Profile Settings View To view the OProfile settings for a profile session right click on the session in profiling monitor view and select Profile Settings The settings are displayed in Profile Settings view as shown in figure 68 t amp Profile Settings X El Console Profile settings for session Tue Jun 18 15 55 58 EDT 2013 vmlinux xen C Kernel Separated Image Filter root tsmt1 Call Graph Depth 0 L Lib Separated Event Name Count UnitMask Profiling Kernel Profiling Userspace CPU_CLK_UNHALTED 100000 0 v Yes Yes Figure 68 LPS Profile Settings view 79 TimeStorm User s Manual Importing OProfile Data If you have already profiled your system application using OProfile and you want to use LPS to analyze the results you can import the data to create a session for analysis To import OProfile data 1 Right click in the Profiling Monitor view and select the Import option from context menu to open Import wizard 2 Choose Other gt OProfile Data into LPS Project and then click Next to open the Import dialog shown in figure 69 Import OProfile data Select OProfile data Folder Remote Target dm3730 gt Manage targets Data Folder on Target var lib oprofile Browse CPU Type timer Local Data Folder on Local System Browse CPU Type mk I cancel Finish Figure 69 Import Wizard
26. B Build Configuration C N Toolchain 1 N Toolchain 2 wv i TimeStorm Build Process WHEL HIIS Figure 26 Relationship Between Project Build Configuration Toolchain and Makefile The following describes how TimeStorm uses the makefile and build config to build the project TimeStorm will use the default build configuration following these steps 1 Create a directory with the name of the build configuration The output for the build is stored under a directory that matches the name of the build configuration used for the build If this directory does not exist it will be created TimeStorm must have the ability to create directories in the workspace or this operation will result in an error 2 Scanthe project create a makefile that invokes the appropriate build program for the source file Before the build process occurs TimeStorm will scan the project for files it knows how to build based on extension ignoring files that it does not know how to handle For those files that it knows how to process TimeStorm will then examine the files calculate dependencies and emit a standard GNU makefile 38 TimeStorm User s Manual 3 Execute the makefile display results in the Console Window After creating the makefile TimeStorm uses GNU to perform the build The results of the build process are displayed in the Console window 4 Scantheresults create markers for errors and warnings After the build the results are
27. Be sure to select the toolchain that is used with the kernel project kernel sources you will be choosing on Select Configurations 02 Select platforms and configurations you wish to deploy on Project type Kernel Module Toolchains TimeStorm Cross Compile Toolchain Configurations uw Debug Select all amp Release Deselect all Advanced settings Use Advanced settings button to edit project s properties Additional configurations can be added after project creation Use Manage configurations buttons either on toolbar or on property pages Q lt Back o Next gt Cancel Finish Figure 44 Loadable kernel module project Build configurations the subsequent page 58 f Select toolchain mE Select a toolchain Cross Toolchain s AEE Tues eee m Ea Ru ER TO ETETA v lt Back T Figure 45 Loadable kernel module project Toolchain selection TimeStorm User s Manual Kernel module development requires the location of the sources and a kernel image You can choose a kernel project that is already created in your workspace recommended or you can choose an external directory that contains the kernel sources as shown in figure 46 Specify kernel source location a lt gt Specify a kernel source tree to use with the module Use kernel source from Pre packaged kernel project Kernel Project v Kerne
28. Environment ZX Debugger 4 C C Program Arguments EE Remote Working directory Use default command Figure 13 Arguments Panel C C Program Arguments You can specify values to pass to the application by typing them in the C C Program Arguments field Separate values with spaces Values are passed in the order in which you list them here Remote Working Directory In the Remote Working Directory field you can specify the directory from which to run the application on the target TimeStorm switches to this directory path before executing the application If you do not change the value of this field from the application runs from the target user s home directory Command to Execute In the Command to Execute field enter the exact command to use when running the application This value is required The default value is to run the specified program within the working directory Uncheck Use default command to change this value Keep in mind the directory structure on your target when constructing this command For example if you have copied your application file to a directory named apps but you want to execute it from a working directory named home test you must include the path to your application in your command For example apps my app TimeStorm User s Manual Environment Panel In the Environment panel shown in Figure 14 you can set environment variables for th
29. O rmm e a a H d ma x j d K Ur Jat 4 a FI t Pr t O n 75 ka BIS ehet etek ar Pb bas OF ous 3 auvi TP a Sawn te 1 n Mr 1 Hr ti table m E device common for all mice L i nap devis SCSI disk F PF B dW mrak 1 BERG poss g To T T AAA DL waa T 17 by t a TE F te ID un 51 Z OT 2 read cache enabled doesn t support DPI elv als aha oa D D C Des m a lt N KT to core registered pla i as EH Familiy t setting s or 1 Srchitecture d ting system clock NL Li E t dd keyboard as zdeviceszfpga 067 inp m CBS Be i Li La LI I II I II B 6 UTC 135 uwt ji tA nDL av i cee aoe GELT L P T P LR De 0 s d d or O d t L E F t ri t P m I H U FP i I AEI oro m wu 1982 169g 1 E iia ke i Til GG mmu eo oo amp 21 FEFE rootpath as Sse riol input input 1 on device Er 18 19 272 3656 251 EDT2 2 nt Ledi asdal successful LI G 1 T Te aam o 3AN RAMNO 86 M ia N HP a hotplug device tiles Lu C L timezone and system clock LUK J system logging l l i network interfaces ifdown interface lo not configured HE answers File exists a erro cee oo OOM mc Te ATE en Mu SO bp TB ee tu IL TI fuUSsSP sBbinsshd iI UK Busyboxw vl 8 2 28012 186 19 22 36 91 EDT Built in shell tash
30. OUPE Lount multithread 100 000 43 thread l un 100 000 4 multithread cz26 95 349 41 multiEthread c 25 4 651 2 Figure 66 LPS Profile Analysis view To analyze and drill down through large profile data you can e sort by column by clicking on the column header search in the filename function by using the search facility by clicking flashlight icon in the analysis view toolbar Focus on the functions of interest or critical bottle necks by using the name filter count filter and percentage count filter The filters can be configured set and unset using the down arrow in the analysis view toolbar For files that have debug information you can view the profile data and the source code side by side in the annotated source editor as shown in figure 67 You can open the annotated source editor by clicking the View Source button G in analysis view s toolbar 78 TimeStorm User s Manual C1 multithread c X include lt stdio h gt include lt unistd h gt include lt stdlib h gt include lt string h gt include lt pthread h gt idefine MAX NUM THREADS 1024 idefine DEFAULT NUM THREADS 20 define FAILURE 1 define SUCCESS 0 void usage void void thread func void not used int i j k counters int p q r variables printf Starting thread d n int not used sleep 1 for i l i lt 100 i for j l j 10 j 2 4 651 for kel k lt 10 k 41 95 3
31. Output options Store output within sub directory of project output Store output in an external directory k Cancel Finish Figure 34 Kernel Build Output Click Finish to create the kernel project Copying the kernel sources takes some time and you may notice a delay in creating the project Please note that to conserve memory and CPU resources indexing is turned off for kernel projects The side effect of this is you may see errors warnings when you open kernel sources in an editor Configuring the Kernel You can configure the kernel by right clicking on the kernel project clicking Configure Kernel and then clicking MenuConfig or XConfig TimeStorm launches the menuconfig or xconfig editor outside TimeStorm You can configure the kernel and save your changes Please note that for running menuconfig you should have libncurses5 dev and xterm package installed and for running xconfig you should have qt3 dev tools or qt4 dev tools package and xterm installed Menuconfig and xconfig editors are shown in Figure 35 and Figure 36 respectively 48 TimeStorm User s Manual output ARCH arm CROSS COMPILE armvi7l timesys linux gnu Linux arm 5 0 0 tz arnmv l Kernel Configuration Arrow keys navigate the menu Enter selects submenus gt Highlighted letters are hotkeys Pressing Y includes lt N gt excludes lt M modularizes features Press Esc gt lt Esc gt to exit lt gt For Help lt gt for Sear
32. PE EUER SA ITa E To pei EIa E vEE S DEKO pE Er Se Gpe 8 Using Source Code Control Command Line sss sese sese ee eee e eee 9 Embedded Development with TimeStorm cccccsssececceseccecesccecsusececeeeceeeeueccetsusecessunecesseneceesausesesseneees 10 Development Host and Target Board sisespececsut uve bes tictute dato b get tt I Dune E SENE U Ete dul dU S XE Po DLE d USES 10 MOIS with TO ONC VN osos tiae didt cmd cece eden didetim mitti decor iudidui mien ences ecw ars dq 10 TE VS TOONE 11 SSF SUD PINEG taie T 11 Adding Your OWN Tob5lchdllissssneiisute hiv audent ase ance Pon EPUM DOE Wn D M MED ME SM 12 Managing Build Configurations and Managed Makeffiles sss sees 13 Types ol Ne Onl TTL aun oboe ppp ES uc mbi N Ujudenan aei EE 14 TimeStorm User s Manual BUONE with HosECORNDIIGE s ceuscec desti res deese das exme etm e em reden aero eb evte tas ovt eere ao deus Sas oe ea ds 14 Working with Hardware Targets aas aetema br oai abri teens REL mte ERN en ea 15 CURE ee undds 15 Hardware Targets WIDOOW ud deuote a a Mods usse tad rese veneto deu med ceo us dL eU Eu a e 15 rM eoe Pim ls TAB 3 RAW LOG Eo E prm un EE E I Hardware Taree Console d eee re aee epu brach rune to pu A bap else pc n fee eei ce 20 UND eb Ue CONEA ON ade ucuicedm sc pue mut eite nd
33. RSE you will be able to browse the target file system copy files between local host and target and open a terminal console to the target For additional information on RSE refer to the Help included in TimeStorm by selecting Help gt Help Contents 67 TimeStorm User s Manual Other tools TimeStorm bundles other useful tools from the Eclipse community http www eclipse org linuxtools For detailed help on how to use the tools please refer to the Help included in TimeStorm by selecting Help Help Contents Below is a summary of the tools 68 Gprof Profile an application using gprof and visualize the gmon out files generated by gprof instrumentation To learn how to use gprof with TimeStorm read Gcov Test code coverage in program using gcov and visualize the gcda and gcno files generated by gcov intrumentation To learn how to use gcov with TimeStorm read LTTng Linux Trace Toolkit is a high performance tracing tool for Linux that efficiently handles large amounts of trace data Initially focused on the Linux kernel its technology has been extended to support user space tracing UST From TimeStorm you can configure and control LTTng collect the trace data and visualize and analyze the trace data OProfile A powerful profiling tool and using TimeStorm you will be able to configure OProfile gather OProfile data and visualize it In addition to the OProfile tool from Eclipse TimeStorm includes a
34. Selecting OProfile data folder Select either the Remote or Local radio button to import the OProfile data from a remote target or local file system click the Browse button to select the data folder The CPU type is detected and filled in Click next to continue to the next page as shown in figure 70 80 TimeStorm User s Manual You can import the profile data into an existing project or create a new project The target field is filled in with the remote target local file system IP address You may name or leave the session name blank The timestamp is used if the session name is left blank Import OProfile data QD You may leave the session name blank and a session with timestamp as name will be created LPS Project lps project Target 10 0 0 10 Session x CB EI mnr x F x R Figure 70 Import Wizard Selecting LPS project and session 3 Click Finish to import OProfile data The new session creation and import progress appears in the Profiling Monitor view Select this session and right click to analyze or to view as described in previous sections Analyzing the Profiled Data Comparing Profiling Sessions During development you will profile your application and analyze the data and fix the performance bottlenecks You will profile the application again You can compare profile sessions in the same target by using the profile session comparator included in TimeStorm Select the more recent session with modified
35. The corresponding fields for the Serial option are as follows Skip login If you are connecting directly to the target s bootloader and thus will not get a login prompt select this option The rest of the common details will be grayed out Serial Port Enter the host s serial port for example dev ttySO If you use this option be sure that the user that you specified has the proper permissions to access the serial port Baud Rate Use the drop down list to select the appropriate baud rate for serial communication The default rate is 9600 bps Common Settings for All Options The common fields for all three options in the Execute tab are as follows User Name Enter your user name for a Telnet SSH or serial login as appropriate on the target Password Enter a non blank password for the Telnet SSH or serial login as appropriate on the target Note that the Timesys pre built SDK does not set the root password in the RFS You have to set the password for the root user after the target boots and enter the password in this text field Working Directory Enter the directory to which control will be transferred after TimeStorm logs in to the target By default this is the same path to which the data will be transferred on the target This directory must already exist NOTE If the Link to Execution checkbox is selected in the Download tab the information in the fields corresponding to the FTP or SCP option in
36. al window as shown in Figure 53 If you wish not to run QEMU in a separate graphical window but continue to run in the terminal window as in Figure 52 enter nographic in the advance parameters text field in the launcher dialog 65 TimeStorm User s Manual i e hn nal M ee x uM 7441 19 s Forts Z L CAII H 12 ENa HHHH BH Bd BHB 61606 gt H1H2 x at pei 8690 99 d 9 irq 277 ID Fast 468 LUD 1ty checking 3 h8 been reset interruptis ignor STAT 6 x5 DSTAT x80 SIST 6x6 E E Direct Hecess TT QE MU HARDDISK eee LI EEG C3 7 rH tagged nonaand queuin enabled command queue depth 16 LB Beginning Domain Validation A Domain Validation SKiPPing write tests Ending Domain Validatio l m3 CD ROM n EMU Dc au CO ROM 1 2 P A AHSI 5 i tagged command queu enabled command queue depth 16 Begqinnins Domain U iion Domain Validation na write tests Lu Domain Vali eyice driver rm 3 m u T im ms UE wor op eit oJ aw 1 H Pa oe A Vi ga ss S ss Ty VIR GBB 21141 tki wd lt ud uS uj 5 y M iib 5 lee Dele m E EE MS h BD PAUL tek F d L IL D MEME F O G SL R d a utu LE E Ma Krasnyansky 22 760804 bu Hic Ti L2 at COGG HB G T 1 i axi com gt E p Z aY aARt lu ME t J MITTIT blocks 555 MB 5380 MiB xnic net gt Ky SE er eee eee eee gt Dr Gp EEE PMP es DEHAT H W A a E PT
37. an be built from the command line as well as the IDE This feature exists so that customers with build systems can easily integrate projects created with TimeStorm into their automated build system As part of the build process TimeStorm scans the current project and builds a list of files in the project as well as the dependencies on other files in the project TimeStorm then uses that dependency list along with the information in the build configuration to create several GNU make files TimeStorm then builds the project by executing make with the generated files to perform the build steps Each build configuration creates a make file in a directory named after the build configuration under the project directory For example workspace my project Debug makefile workspace my project Profile makefile The make file overrides the following standard variables to control what tools are used in the standard make build rules RANLIB CPP AS AR VBICOPY DEBUGGER SIERLP OBJDUMP gC NM CXX LD Each of these tools is changed to use the location the tool chain of the development host If the location is different on the build machine one of the following strategies followed Create symlinks This is the easiest path On the build machine create symbolic links to the tools in the location where the make file expects them to be Going this route introduces a configuration dependency on the build machine so this should docum
38. ations use a source code control SCC system that can only be used from the command line or some other external tool TimeStorm can be used with these tools as long as care is taken in what files are placed under source control and other configuration measures are taken This section lists out the files and directories that should not be placed under SCC and other per file configuration information File or Directory Workspace workspace metadata C C Projects lt workspace gt lt c project gt cproject lt workspace gt lt c project gt products lt workspace gt lt c project gt project 88 Notes This directory contains state information such as window positioning for the current workspace Exclude this entire directory from SCC management These files contain project oriented information such as what appears in the properties dialog for a project Add all of these files into source control nux from a Trusted Source SyS About Timesys Timesys is the provider of LinuxLink a high productivity software development framework that dramatically simplifies and speeds up embedded Linux application development The LinuxLink framework includes the Linux kernel cross toolchain application development IDE an award winning build system called Factory a vast library of middleware packages software stacks and libraries documentation and expert technical support LinuxLink enables development teams t
39. busybox telnetd inetutils telnet ftp servers and the dropbear ssh scp servers As an alternative if the previous network services are not available TimeStorm can communicate with the board over a connection to the serial console and copy files into a local NFS share In order to use TimeStorm it must have a valid license The license management is described in the following chapter License Management After installing TimeStorm software you must install the software license file that enables the features that you have purchased TimeStorm 4 4 uses node locked licenses which are text files with a lic file extension A node locked license enables TimeStorm features on one machine only and is restricted to the hardware address of the machine The licenses are keyed to the MAC address of the system Once a license is installed and TimeStorm User s Manual used it cannot be moved to a machine with a different MAC address If needed you can move the license to a different machine by creating a new license and installing it on the new machine NOTE Since the TimeStorm 4 4 0 license system is based on a different technology than the TimeStorm 3 x series of products you must obtain a new license for TimeStorm 4 4 0 Creating a TimeStorm License To create a license for TimeStorm tools you must have a LinuxLink seat assigned to you e YOU Can create a new license for TimeStorm three times within the life of the subscription e If you need to
40. cal Application DEbDUSBING cccccccssseccccseccccesececeesececeeeececeeuecessuecesseneceesageeeetes 40 Deb gsine on the DevelopmentLEloSUscu siena ite uie ENERO N teen e ERE ae tes top ap dores 40 Development Host Debugging Strategies sse eee ee eee eee eee eee 40 Building Related Projects in a Workspace sse eee eee eee 41 Integrating application project into Desktop FaCtOLy ccccccceeecccsseccceccceecseeueceeeeeeeeesesseeceeeeseeeueeees 42 Kernel Development with TimeStorm 5o ree E Drm over eo gi Red gere Cost tov a Ves Pea rera ANE Pe UN ceu HERE EOS 44 Creatine ducere PO eC a oa ostetentsi iR Scisteibouc acq sietetesih taa Eseiata spas co Leste LE SUD gto o tes M cst dt 44 New PEOIeCbNVIZ SEC eoe Eni ie ib rr NU E e MI EN rere 44 Project Pabe a UU E T E E 45 Kernel Source Maragerebl toit ier teen tent Desa ot iud v M tax uA er a acts A LIS ure Ade 45 KernelBlld SORA SS cies dubio ds olus ieu Meca ba issus uni ue lui ter eid NEUE MD NS 46 Bulld QUUD ct cfoss eat eset reas EMEN MEI Mesi acl De LDE D LM necat Ac ReN ALIE 47 Config ring the Kernel stes tete eo M or bate nate a ute mis E SMS MS 48 Bullae and Deploying the Kerne lies aa ipostesis ue edel eee a eu UE oa e inue tute Muti beet 50 DOD US SIS trie 9 tera uto ubi o teptbedsneh E Dc tases antenna V DM LUST iorR epe D ted 51 Contigure the kernel for deDUbeegllie oos ao ee voa ee S uoto ree tru ve bab co Ei den Lee diuo aos 51 Build the Kerpen egeat
41. ch Legend built in excluded gt module gt module capable i beneral setup Enable loadable module support Enable the block layer System Type gt Bus support gt Kernel Features gt Boot options CPU Power Management gt Floating point emulation Userspace binary formats gt Power management options gt Networking support Device Drivers gt File systems Exit gt Figure 35 Menuconfig Kernel Configuration 49 TimeStorm User s Manual Linux arm 3 0 0 ts armv7l Kernel Configuration Qt3 File Edit Option Help pol Wm t pn RERSN Psi 1 1 ee bee fall E Support for frame buffer devices TD Framebuffer foreign endianness support Gd KGDB use kgdb over the serial console OMAP2 Display Subsystem support EXPERIMENTAL po KGDB internal test suite LS OMAP2 frame buffer support EXPERIMENTAL D KGDB KDB include kdb frontend for kgdb L OMAP2 3 Display Device Drivers R Backlight amp LCD device support Display device support Console display driver support Ig Bootup logo Sound card support B Advanced Linux Sound Architecture i 2 Generic sound devices B ARM sound devices L B SPI sound devices EI USB sound devices 2 ALSA for SoC audio support TD Open Sound System DEPRECATED A HID Devices Special HID dri
42. checkbox is selected all of the information listed in the fields corresponding to the FTP or SCP option is automatically entered into the fields in the Execute tab Those fields are not editable in the Execute tab when this checkbox is selected This checkbox is selected by default When this checkbox is deselected you must manually enter the corresponding information in the fields in the Execute tab Name DM3730 SOM LV 4 Download X Execute BI Raw Lod FTP scp None IP Address 192 168 2 68 User Name root Password dde Destination Directory Link To Execution NFS Figure 7 Download Tab NFS Settings The corresponding fields for the NFS option shown in Figure 7 are as follows RFS Base Directory Use the Browse button to select the location of the RFS on the host This location is where the target s root filesystem is mounted over NFS for example home user timesys boardname rfs where user is the current username and boardname is the name of the target board Destination Directory Use the Browse button to select the location in the RFS to where the files will be downloaded The directory must be within the RFS Base Directory location that was selected Ensure that you have read write permissions to the destination directory TimeStorm User s Manual 18 After you have entered the required information in this tab select the Execute tab and enter the appropriate information TAB 2 Execute U
43. create additional licenses beyond this limit contact Timesys These requests are handled on a case by case basis e Team Manager If you are the Team Manager of your LinuxLink account you can create a license for all the seats within your account e Developer If you are a Developer you can create licenses for the seats assigned to you To create a TimeStorm license 1 Note the MAC address of the machine on which you will be using TimeStorm You may use any of the network interfaces however if you are running TimeStorm in a Virtual Box environment make sure you use the MAC address of the NIC inside the virtual machine 2 Loginto your LinuxLink account https linuxlink timesys com via a web browser and then o If you are a Team Manager click on the team name at the top of the page o If you are a Developer click on the user name at the top of the page 3 Scroll to the bottom of the page and click the Edit Licenses button in the Active Licenses area 4 Next click the Create button located to the right of the user of the seat for which you want to create the license o Enter the MAC address and a descriptive name for the license It can be helpful to include the type of operating system and computer that will use the license o The license expiration date and the user s email address are entered automatically o Choose to create a license for TimeStorm 4 x NOTE Licenses generated for TimeStorm 3 x will not work wit
44. ct and select the kernel sources to use with the project Linux Kernel Project Create a Linux Kernel Project AC project for building a Linux Kernel Project Name kernel_project Create project using Timesys SDK dm3730 zoom torpedo lt SDK Kernel Source home timesys timesys dm3730 zoom torpedo kernel source linux 3 0 External Kernel Sources External Kernel Source Archive Directory Figure 31 Kernel Project Page You can create a kernel project using the kernel sources included in the Timesys SDK or kernel sources you have in an archive file or directory When you select the SDK the architecture toolchain and other details required for building the kernel project are filled in for you on the next pages Kernel Source Management You can create a kernel project by making a copy of your existing kernel sources or use your kernel sources This page allows you to choose how you want to manage your kernel sources You can create the project in your kernel source location or at a different location You can also choose to create the project in TimeStorm workspace or at a different location as shown in Figure 32 45 TimeStorm User s Manual Linux Kernel Project Kernel Source Management Use or copy existing kernel sources Selected Kernel Source home timesys timesys dm3730 zoom torpedo kernel source linux 3 0 3 Create project within source location directories only Create project in separate locat
45. ding Default inherited UTF 8 5 Other Standard Input and Output Allocate Console necessary for input File Launch in background Figure 21 Common Panel The options with the Common Panel include Local File By default run configurations are saved with the workspace state files so they can only be used with projects in the current workspace This setting corresponds to the Local file radio button on this panel However you can make the configuration available for use in other workspaces by choosing the Shared file radio button TimeStorm User s Manual 32 Shared File When you select this option the run configuration is saved asa Launch file that can be imported into another TimeStorm workspace Optionally you can specify a different location for the file so that it is more easily accessible to multiple projects Display in Favorites Menu You can select whether to include this run configuration on the main Run and Debug menus For example if you select the Run checkbox the run configuration always appears in the Run History submenu You can choose to include the run configuration in either menu both menus or neither menu Launch in Background Selecting the Launch in background checkbox causes this run configuration to run as a background thread Running as a background thread is the default value Clear this checkbox if you want to run in the foregrou
46. e from the TimeStorm Help menu Views and Editors Views support editors and provide alternative presentations as well as ways to navigate information in your workspace For example the Project Explorer view shown in Figure 1 above displays projects in the current workspace Views have their own menus and some views have their own toolbars The actions represented by buttons on view toolbars affect only the items within that view Editors are stacked in the center You can associate different editors with different types of files Double clicking a file to open it will open the associated editor in the workbench shown in Figure 1 above TimeStorm User s Manual Perspectives You can rearrange the views and editors in your workbench as you prefer The saved arrangements of views and editors are called Perspectives There are no constraints as to what views appear in a perspective however the views are typically related in some way TimeStorm ships with several perspectives for example e C C Views and menu items that are customized for applications libraries and driver development e Debug Shows debugging controls step in step over step return terminate etc and information variables breakpoints threads etc e Qt C Includes views for Qt Widget box Action Editor Signal Slot Editor etc e Git Repository Exploring Includes explorer view for adding browsing and managing Git repository When TimeStorm initia
47. e Kernel Module A loadable kernel module is a special type of C C project used to write device drivers The loadable kernel module is developed referring specific kernel sources and kernel image and the board should be booted with the same kernel image Creating a Lodable Kernel Module Project Top open a new loadable kernel module project click File gt New gt Project gt C C click Next and choose Kernel Module as the project type as shown in figure 43 C Project C Project mm Create C project of selected type Project name kernel module S Use default location tn Project type Toolchains K Z GNU Autotools TimeStorm Cross Compile Toolchain zz Executable Empty Project Hello World ANSI C Project multithread C Program Y zz Kernel Module Empty Project Hello World Kernel Module Project Character Device Driver Project S Show project types and toolchains only if they are supported on the platform m 1 ie Rack I imislr Figure 43 Loadable kernel module project You can start developing a kernel module project from two of the templates included with TimeStorm or you can start from an empty project Enter a name for the project and click next Select the build configurations to be created for the project as shown in figure 44 and click Next 57 TimeStorm User s Manual Select the toolchain you want to use with the kernel module as shown in figure 45 and click next
48. e target I n E eana e Main Arguments Fie r Variable LD LIBRARY PATH Append environment to native environment O Replace native environment with specified environment Figure 14 Environment Panel The panel shown in Figure 14 contains the following buttons New Click the New button to create a new entry and the New Environment Variable dialog will appears as shown in Figure 15 below Click the Variables button to select the variables that you want to use Then click OK twice New Environment Variable Value Variables Cancel Figure 15 Adding a New Environment Variable Select Click the Select button to import environment variables from the host file system Edit To change an entry select it from the list and click the Edit button Remove To delete an entry select it from the list and click the Remove button Debugger Panel 24 TimeStorm User s Manual 25 In the Debugger panel shown in Figure 16 you can configure how to debug your project Main pd Arguments P Environment 5 ger amp Source 4 Target Toolchain armv5i timesys linux gnueabi gcc 4 3 3 4 Stop at main on startup 4 Automatically track
49. ect Browse v 3 Kernel Debugger Project EJ kernel debug kernel project Browse amp Launch Group Build if required before launching amp amp TimeStorm C C Remote Build configuration S Select configuration using C C Application Enable auto build Disable auto build Use workspace settings Confiqure Workspace Settings S Connect process input amp output to a terminal Filter matched 11 of 11 items amp dose BEY Figure 38 Debug launch configuration for kernel project Main tab Enter a name for the debug launch configuration Enter the kernel project to debug by your workspace by clicking the browse button Select and enter the vmlinux file in your kernel project B Main 3 Debugger amp Sourc2 E3 Common Executable image vmlinux output vmlinux Variables Search Project Browse Project kernel_project Browse Build if required before launching Build configuration S Select configuration using C C Application Enable auto build Disable auto build Use workspace settings Configure Workspace Settings S Connect process input amp output to a terminal Figure 39 Kernel Debug Configuration Main tab 54 TimeStorm User s Manual Debugger Tab If you want to change the gdb used to debug the kernel then you can select the toolchain from the dropdown box at the top of the tab Main tab The gdb in the toolchain
50. ected by default Stop on shared library events Select this checkbox if you want the debugger to stop at shared library events even before it hits breakpoints in the source code This option is not selected by default TimeStorm User s Manual Search linker paths from project build settings This option is selected by default and will enable the debugger to automatically search all of the linker library path specified in the project s build settings These will be searched in addition to any paths specified in the Directories field above To deselect this option uncheck the box Source Panel The Source panel Figure 18 shows the location of the source files for the project Default gt i printenv Absolute File Path gt TL envstruct Source Looku b i gt print Restore Default O Search for duplicate source files on the path Figure 68 Source Panel Source Lookup Path This field shows the project being run as well as any projects that it references Add You can add arbitrary source file locations by using the Add button These locations are searched after the generic locations from the top to the bottom item in order Edit Remove Up Down The other buttons to the right of the list allow you to edit remove or reorder the list items and to restore the default information Search for duplicate source files on the path Selecting this checkbox causes TimeStorm to notify the user if
51. ed Options text area Click the launch button to launch QEMU QEMU will be launched in a terminal window and you will be required to enter your sudo password as shown in Figure 52 64 TimeStorm User s Manual rootfs ext2 Continuing with the following parameters KERNEL home timesys timesysgemu_verzatile zIlmage 4 4 te armv5l ROOTFS home timesus timesus qemu versatile rfs rootfs extz FSTYPE ext2 Setting up tap interface under sudo sudo password for timesyst Acquiring lockfile for tapu WARNING distecd not present no distcc support loaded Running qemu sustem arm home timesus timezus qemu vergsatile toolchain bin qemu sustem arm kernel home time sus timesus qemu verzatile zImage 3 4 ts armvbl net nic vlanz net tap vlan z ifnam e tap script na dawnscript zno H versatilepb hda heme timesus timesuz qemu verzati e rfz raotfz extz nocreboot show cursor usb usbdevice wacom tablet na reboot m 128 append raat dev sda rw console ttunMno l1152060 console ttu ip 192 158 7 2 13 2 158 1 255 255 255 0 mem 128M highres off osst Could not initialize DAC ozs Failed to open dev dsp osst Reasont Mo such file or directory osst Could not initialize DAC ozs Failed to open devdep ost Reasont Mo such file or directory audio Failed to create voice lm4548 nut Figure 52 QEMU terminal window After entering the sudo password QEMU will run in a separate graphic
52. ed development is different from traditional development because e The target machine is usually different hardware architecture than the host machine and e The target machine lacks the resources necessary to be used as a development machine Development Host and Target Board The development host is the machine where TimeStorm runs and source code is compiled for the target board The target board is the location where the code that is compiled on the development host will eventually be debugged and deployed Because target boards often do not have the resources like RAM or fixed storage processing power or peripherals such as a monitor keyboard or network connection to support a development environment engineers typically don t do their development directly on the target TimeStorm bridges the gap between the more powerful development host and less powerful target board through the following features e Toolchain Management TimeStorm keeps track of any toolchains that are installed on the development host as part of a Timesys Starting Point or are created with the Factory build system NOTE A starting point is Timesys terminology for a pre built BSP SDK A starting point is a platform and toolchain that has been specified by Timesys and is pre built and available for download from the Timesys LinuxLink Web site e Build Configurations Build Configurations connect a toolchain with a project Each project can have many bui
53. enced by the project r Geld Project references for printenv Pea DO envstruct factori isto ls l N O print2 Run Debug Settings gt Task Repository OK Cancel Figure 28 Project References Panel By selecting entries in this dialog TimeStorm will build those projects before the current project if in fact they needed to be rebuilt Project references can be nested several levels deep so that if a referenced project has other references those references also will be rebuilt if necessary This ensures that the top level project has all of its dependencies built before starting its build In this way the developer has the same degree of control as one would have when using a traditional nested make file Integrating application project into Desktop Factory After you have developed your application in TimeStorm you can integrate the project into desktop factory that is used by your company s build system The project will be built using the toolchain that is used by desktop factory To integrate an application into desktop factory build the project in TimeStorm right click on the project and click Export gt C C gt Desktop Factory Integration and click Next This will open a desktop factory integration dialog as shown below in Figure 29 42 TimeStorm User s Manual Export Project For Desktop Factory Integration Export Project For Desktop Factory Integration Export an application project and build it in Deskto
54. ented by the build team and in the best of situations a script should be created to automate the creation of the links 86 TimeStorm User s Manual Set environment variables With make if an environment variable is set it will not be overridden by a make variable The script that runs the make file will need to set all of these variables to the right location before invoking make Auxiliary Files TimeStorm will over write the make file each time is performs a build In order to allow for maximum customization TimeStorm builds the make file with several optionally included files Optionally included files are incorporated into the make file if they exist otherwise if the file does not exist the reference to the file is ignored TimeStorm optionally includes these files makefile init This file is called at the beginning of the makefile It can be used to customize initialization makefile defs This file is called after initialization but before objects are compiled It can be used to supply custom macro definitions makefile targets This file is called at the end of the makefile It can be used to supply customized target information Notice TimeStorm will look for the files in the parent of the build configuration directory This makes it easy to share make file customizations across build configurations 87 TimeStorm User s Manual Using Source Code Control from the Command line Some organiz
55. ere are many packages from which you can choose for ftp telnet and ssh The available packages are listed below e ftp proftpd pure ftpd vsftpd ncftp e scp dropbear openssh e telnet netkit telnet e ssh dropbear openssh For tools that include uploading files from the remote target to host OProfile LTTng Valgrind you should have openssh server running on the target Dropbear does not include sftp and does not work for uploading files Hardware Targets Window The Hardware Targets window enables you to e Add a target to the list of registered targets e Edit the information for a registered target e Delete a target from the list of registered targets e Check connectivity from the host to a target You can access the Hardware Targets window either by clicking the Hardware Targets toolbar button 2 or by selecting Run Hardware Targets from the main menu as shown in Figure 6 below 15 TimeStorm User s Manual 48 Hardware Targets Figure 6 Hardware Targets Menu Setting up a target requires information for the following three tabs 16 TAB 1 Download How to download files to the target shown in Figure 7 TAB 2 Execute How to communicate to execute on the target shown in Figure 8 and TAB 3 Raw Log How to test the connectivity between the host and the target shown in Figure 9 TAB 1 Download TimeStorm allows files to be downloaded to the target in a few different methods You wi
56. esting 0 591705 RPC Registered named UNIX socket transport module 0 591705 RPC Registered udp transport module 0 591735 RPC Registered tcp transport module 0 591735 RPC Registered tcp NFSv4 1 backchannel transport module 0 591827 NetWinder Floating Point Emulator V8 97 double precision 0 595062 omap iommu omap iommu 8 isp registered 0 776550 VFS Disk quotas dquot 6 5 2 0 776641 Dquot cache hash table entries 1024 order 0 4096 bytes 0 779266 JFFS2 version 2 2 NAND SUMMARY 2001 2006 Red Hat Inc 0 780090 msgmni has been set to 469 0 783538 omap_device musb omap2430 1 new worst case deactivate LatencyS 0 788146 io scheduler noop registered 0 788177 io scheduler deadline registered 0 788330 io scheduler cfq registered default 0 790588 Generic Backlight Driver Initialized 0 848388 OMAP DSS rev 2 0 0 856353 Serial 8250 16550 driver 4 ports IRQ sharing enabled 0 861267 omap_uart 0 ttyOO at MMIO 0x4806a000 irq 72 is a OMAP UARTO 1 763336 console tty00 enabled 1 768035 omap_uart 1 ttyO1l at MMIO 0x4806c000 ira 73 is a OMAP UART1I 1 776397 omap_uart 2 ttyO2 at MMIO 0x49020000 irq 74 is a OMAP UART2 1 785064 kgdb Registered I O driver kgdboc 1 789886 kgdb Waiting for connection from remote gdb ix i 4 i 1m O n n n eS Sew uu uu Se See eee Figure 37 Kernel boot console log kgdb waiting for gdb connection Debug the kernel from TimeStorm using gdb T
57. fault rate of 115200 should be used unless you are having serial communication issues This field is only visible when Serial connection type is selected Shared Libraries This tab is shown in the following Figure 17 TimeStorm User s Manual 27 B Main Arguments P Environment Debugger Toolchain armv5l timesys linux gnueabi gcc 4 3 3 4 Stop at main on startup 4 Automatically track the values of variables Debugger Options Main Shared Libraries 00000000 Directories I gt 5 Load shared library symbols automatically O Stop on shared library events 4 Search linker paths from project build settings Figure 57 Shared Libraries The Shared Libraries tab includes the following options Directories This field specifies any additional directories for the debugger to search to find shared libraries with debugging symbols By default the debugger will automatically search the paths specified in the project s build settings see option below Use the Add button if you want to add other paths Use the Up and Down buttons to move through the list of directories Use the Remove button to delete a path Load shared library symbols automatically Select this checkbox if you want these library symbols to be displayed as loaded in the Shared Libraries view and if you want the debugger to hit any breakpoints in the shared library project This option is sel
58. file by clicking browse If you do not have a vmlinux file or you do not want to profile the kernel select no vmlinux checkbox For a detailed explanation of other options on this tab please refer to http oprofile sourceforge net doc controlling daemon html A Target i Project amp amp Run C Options amp Events Kernel Image vmlinux File oo Browse S no vmlinux Separate Profiles All Separate shared library profiles per application Separate shared library profiles per application including kernel Callgraph Depth Kernel vma address start hex Kernel vma address end hex CPU Buffer Size Kernel Buffer Size Figure 61 LPS Configuration Options Tab TimeStorm User s Manual Events Tab 75 This tab allows you to specify the events for each of the hardware performance counters The OProfile CPU type and the number of performance counters on your target are displayed at the top A Target Project amp Run amp Options h Events CPU Type i386 core 2 Counter Event Name Counter 0 amp CPU CLK UNHALTED 6000 INST RETIRED ANY P 6000 L2 RQSTS 500 LLC_MISSES 6000 LLC_REFS 6000 LOAD_BLOCK 500 STORE BLOCK 500 MISALIGN_MEM_REF 500 SEGMENT REG LOADS 500 Clock cycles when not halted Unit Masks default 0 exclusive 0 Unhalted core cycles Figure 62 LPS Configuration Events Tab Number of counters 0 M Yes
59. gin z S iain void int 99 g Native toolchain x86_64 linux gnu Settings SDK at91sam9261_ek GCC 4 5 3 armv5l timesys linux gnueabi 20120412 10 45 gt C C General Project References SDK beagleboard GCC 4 4 5 armv7l timesys linux uclibcgnueabi Run Debug Settings Task Repository WikiText R E rij B 0j 0 e a Build Finished m iS cproj B timesys test ubuntu 2 C C cproj src cpr gl timesys test ubuntu L EBENEN Figure 27 Changing the Toolchain for an Existing Project 39 TimeStorm User s Manual Remote versus Local Application Debugging Application debugging can occur on the host machine or the target board depending on how the application was built When debugging on the local machine the program needs to be built with the host s compiler For most projects it makes sense for debugging to happen on the host machine as debugging remotely is slower due to the communications link In addition most code problems are algorithmic in nature meaning that the code itself contains problems independent of where the code is running This means developers can be very productive by debugging the code on their host machine and then recompiling it for final testing on the target Some things like timing performance or access to specialized devices cannot be tested on the host machine and in this case remote debugging is the right tool to use from the start Debugging on the Development Host
60. gt Enter help for a list of built in commands Figure 53 QEMU graphical window Run Debug application in QEMU To run debug an application in QEMU you have to create a hardware target definition for QEMU By default QEMU is assigned an IP address of 192 168 7 2 Set the root password for QEMU and use them to define a hardware target as explained in Then you can use this QEMU to run debug your application Stopping QEMU To stop QEMU type reboot in the QEMU window You may have to enter the sudo password again in the QEMU console You can close the QEMU console window after QEMU has terminated 66 TimeStorm User s Manual Remote System Explorer Remote System Explorer or RSE in short is the new addition from Eclipse for remote target interaction RSE allows you to define targets explore target file system and run and debug applications on target Timesys recommends using the Hardware Target functionality provided by Timesys as explained in the Working with Hardware Targets section because e RSE using SSH does not work with dropbear e RSE does not support serial connection e RSE does not support NFS To use RSE with boards running Timesys SDK e Include openssh package in your target RFS RSE requires a sftp server on the target and the dropbear ssh server does not include an sftp server e When defining a connection in RSE choose SSH only system type After you define a target connection in
61. h TimeStorm 4 4 0 so be sure to select the correct version when generating the license o Click Next to generate the license You are given the option of editing the CC field and the text of the message that will be used to send the license file TimeStorm User s Manual o Click Send An email with the attached license is sent and the contents of the license file are displayed o Savethe license on the computer you will be using for TimeStorm LinuxLink will keep the license on file so it can be retrieved at any time Installing the License Installing a license involves copying your license file into the appropriate directory on the TimeStorm host License files are typically delivered as text file attachments to email messages from Timesys You can rename a license file but you must retain the lic file extension To install the license locally you can do one of the following e From within the Create a License window click the Download link and save the license file on the TimeStorm host at a location described below OR e Save the emailed license attachment on the TimeStorm host to one of the locations described below At startup time TimeStorm will automatically detect license files if they are stored locally on the TimeStorm host in one of three locations directories The order and locations in which TimeStorm checks for license files are outlined below 1 user home directory gt timesys times
62. h is composed of editors views and perspectives TimeStorm User s Manual The Eclipse Workbench is presented into one or more windows These windows could be either views or editors as shown in Figure 1 A perspective defines the visual arrangement of the Workbench windows nee C C printenv printenv c TimeStorm mgl ldk m File Edit Refactor Navigate Search Project Run Window Help 19 2 08 g hy Q Q 9 wey Car p ox ao C Y d LC U nt E Project Explorer x BIS test script Mc 59 cj envstruct c EE EE a n Out 2 Mak B R Gm x e 7 E E mom printenv c b g envstruct S envstruct h v printenv Text Editor limits h b Binaries gt Wi Includes gt Debug gt d printenv c test script e main void int include envstruct h include print2 h include lt Limits h gt View int main void env t current get envstruct while current print2 current name current value Project View current current gt next return 0 C Build envstruct Building target L Invoking GCC C Lir home timesys timesys at91sam9260 ek toolchain bin armv5l timesys linux gnueabi gcc shared o libenvstruct so envstruct o Finished building target libenvstruct so m Writable Smart Insert 13 1 Figure 1 TimeStorm Workbench The Workbench is documented more completely in the online Workbench User Guide which is availabl
63. he project and select Properties e Inthe properties panel select C C Build gt Settings To use the toolchain on the host machine e Select the Cross Toolchain tab in the build configuration panel then select the Native Toolchain option e The Native Toolchain will be appended with text describing the type of platform for example i686 linux e When using the host compiler ensure that all of the libraries both inside of the workspace and toolchain have been compiled for the host platform 14 TimeStorm User s Manual Working with Hardware Targets Before you can run and or debug on a remote target TimeStorm will require information about the target s TimeStorm uses this information to determine how and where data should be copied to the target and the method of communication that TimeStorm should use between the host and the target This is done through the Hardware Targets window Target RFS To download files to the target the target should be booted with an RFS that includes an FTP server or an SSH server that supports scp or booted using the NFS share on the host To communicate with the target the target should be booted with an RFS that includes a telnet server or SSH server or connected to the hosted via the serial port The pre built SDK from Timesys includes dropbear that supports both scp and ssh If you are creating your own SDK using the Timesys FREE Edition Web Factory th
64. ination directories depend on the configuration of your FTP software In some cases directories specified in this panel are appended to the user s home directory on the target This panel contains the following buttons Add File Use the Add File button to specify additional files to transfer along with the application These files are transferred every time you transfer the application file Edit To change where the application or any other file in this list is installed select it and click Edit to change its destination directory Remove To eliminate a file from the items to download select it in the list and click the Remove button Download Now The Download Now button copies files immediately without running the application 30 TimeStorm User s Manual 31 Restore Default The Restore Default button resets the panel to its initial state download only the application and its libraries NOTE Downloaded files overwrite any identically named files on the target without giving a warning TimeStorm will not create destination directories on the target so be sure to create them before launching the configuration Common Panel The Common panel shown in Figure 21 sets options for sharing this run configuration among multiple projects Main amp Source 9 Target e Download Files E Common Save as Local file 3 Shared file Display in favorites menu Console Enco
65. ion Project contents S Use default location b rex Browse Copy kernel source into project Create a link within project to kernel source directories only lt Back Figure 32 Kernel source management Kernel Build Settings Kernel build settings page show in Figure 33 allows you to select the toolchain enter the architecture and make target If you selected the Timesys SDK on the previous page these values are filled based on the SDK selection You can choose whether to build the kernel modules along with the kernel The cross compile prefix for the kernel build is set based on the selected toolchain If you would like to enter a custom cross compile prefix you can select None in the toolchain dropdown 46 TimeStorm User s Manual Linux Kernel Project Kernel Build Settings Specify build settings For the kernel project Toolchain SDKdm3730 zoom torpedo GCC 4 6 3 armv7l timesys linux gnueabi 20130117 09 53 Cross compile prefix Architecture arm Default make target ulmage S Build modules by default 2 lt Back Next gt Cancel Finish Figure 33 Kernel Build Settings Build Output Figure 34 allows you to manage the kernel build output You can save the kernel build output in a sub directory in kernel project or an external directory 47 TimeStorm User s Manual Linux Kernel Project Build Output Select a location where build output will be stored
66. ion Project v Kernel Module kernel module Browse ka kernel module Build if required before launching Launch Group Build confi tion 8 SystemTap uild configuration ZR TimeStorm C C Remote S Select configuration using C C Application Enable auto build Disable auto build Use workspace settings Configure Workspace Settings S Connect process input amp output to a terminal Filter matched 10 of 10 items e cose RN Figure 47 Kernel Module launch configuration Enter a name for the launch configuration The module to be deployed to the target and the project name are filled in You can change them if you want to make any modifications The kernel module is deployed to the target by using a mod install sh script This script is filled in as the command to execute on the arguments tab The kernel module is the argument to this script which is also filled in the program arguments text field Main Arguments gt B Target amp Download Files Ei Common Program Arguments kernel module ko Remote Working directory Use default command Command to Execute sh mod install sh Figure 48 Kernel module launch configuration Arguments tab Other tabs in the launch configuration are similar to those explained in the C C application debugging 60 TimeStorm User s Manual Qt Development with TimeStorm Qt is a cross platform application and UI framework with APIs for C programming
67. is field automatically displays the default debugger for the toolchain that you have installed and is read only GDB command file This field allows you to specify a gdb command file using the Browse button The debugger will execute the commands specified in this file Connection Type This field allows you to choose whether to use TCP or Serial to establish a debugger connection between host and target Note that this connection is in addition to the execution type that you specified in your hardware target In order to use serial you must have another serial port in addition to the one being used as the target console GDB Server Port This field lets you specify the port number used for debugging when TCP connection type is selected This field is visible only when TCP connection type is selected Target device This indicates the name of the serial device on the target to use for the debugger connection Host and target device must be connected with an appropriate serial cable This field is only visible when Serial connection type is selected Host device This indicates the name of the serial device on the host where TimeStorm is running to use for the debugger connection Host and target device must be connected with an appropriate serial cable This field is only visible when Serial connection type is selected Serial baud This indicates the baud rate to use on the serial line for debugger communication The de
68. l Source home timesys workspaces TimeStorm workspace1 kernel project Kernel Output home timesys workspaces TimeStorm workspace1 kernel project output Architecture arm External directory Leave Kernel Output blank if output is stored inline with source Figure 46 Loadable kernel module project Kernel source location Click finish to create the kernel module project Building Kernel Module Project A loadable kernel module project is built the same way as other C projects To build the kernel module choose a build option from Project menu or from the context menu that appears when you right click on the project name Deploying the Kernel Module To deploy a kernel module on a running target you will create and run a kernel module launch configuration To create a kernel module launch configuration select the kernel module project and click Run Run configurations or right click on the kernel module project and click Run As Run Configurations Click Kernel Module in the left panel and click New icon in the top left corner 59 TimeStorm User s Manual Run Configurations Create manage and run configurations Q DS x 8 gt v Name kernel module l B Main d Arguments Target amp Download Files Ei Common v c C C Application Loadable Kernel Module nc1 Debug kernel module ko ncmt1 Variables Search Project Browse ncpp1 C C Remote Applicat
69. lchain Management e Remote Target Management e Remote Target Console e Remote Run Debug of applications e QEMU e Remote System Explorer e Gprof e Gcov e LIIng e OProfile e Valgrind TimeStorm User s Manual Installing TimeStorm Host System Requirements e TTEBBIAMAGIHBASCEINE e Fedora 18 e Ubuntu 12 04 e Other recent 32 bit or 64 bit Linux distributions Disk Space 250 MB What TimeStorm Installs During the initial installation the TimeStorm IDE installs everything it needs to run TimeStorm is written in Java and native code so in order to ensure that no incompatibilities arise when using TimeStorm with the default version of Java on the host machine TimeStorm installs a Java Runtime Environment that it alone uses In order to compile programs TimeStorm must have a toolchain By default TimeStorm uses the toolchain on the system LinuxLink Starting Points as well as builds using the LinuxLink Factory build system provide cross compilation toolchains The installation process for a LinuxLink Starting Point puts the toolchain and any other supporting files in the correct location no additional configuration are necessary Working with Toolchains is described later in this guide In order to communicate with the target TimeStorm must be able to communicate with the board using one of several methods TimeStorm can use telnet ftp or ssh scp to communicate with the board and it has been tested using
70. ld configurations and each build configuration can have its own settings to control how the software is built By default TimeStorm creates three build configurations for new projects 1 Release 2 Debug and 3 Profile e Target Management TimeStorm includes a tool for communicating with a target enabling target information to be stored in one location and shared by those features needing to reach a remote machine e Remote Run Debug Configurations In order to run and debug the code created for the target TimeStorm includes Run and Debug configurations that use the targets defined by the user to download code and properly configure the run time environment of the target Working with Toolchains Toolchains include the tools required to compile your applications Toolchains that you use with TimeStorm for remote development allow you to compile on one platform your applications for use on another platform They include appropriate cross compilers debugging software and other utilities that 10 TimeStorm User s Manual work with your target processor Build configurations for TimeStorm projects specify which toolchain to use when building your project You can set different toolchains in different build configurations Timesys Toolchains TimeStorm is designed to automatically detect Linux toolchains from Timesys Starting Points that have been installed using the install shell script as the root user To display the list of t
71. le changes Pative qt Qt Properties Run Debug Settings K Task Repository WikiText Restore Defaults Apply Figure 50 Changing Qt version for a project 62 TimeStorm User s Manual After booting the board with the SDK that includes Ot you will be able to remotely run debug the Ot apps on the Hardware target To Run Debug Qt an application on the Target 1 Follow the procedure explained in Run Debug Configurations 63 TimeStorm User s Manual QEMU Launcher QEMU Launcher will allow you to select a QEMU enabled SDK and run QEMU QEMU launcher dialog can be opened by clicking the icon in the toolbar or by clicking Run gt Launch QEMU The launcher dialog will be displayed as show in Figure 51 QEMU Launcher Launch QEMU QE M U open SOURS Processor cim lator Supported SDKs qemu versatile Kernel home timesys timesys qemu_versatile zimage 3 4 ts armv5l RFS home timesys timesys qemu_versatile rfs rootfs ext2 QEMU Advanced Options Cancel Save Launch Figure 51 QEMU Launcher Dialog Launch QEMU QEMU launcher will detect the QEMU enabled SDKs and populate them in the Supported SDKs drop down box To launch QEMU select an SDK The kernel and RFS for QEMU are pre filled from the selected SDK If you want to launch QEMU with a different kernel or RFS you may edit the kernel and RFS path If you want to pass additional options to QEMU you may enter it in the QEMU Advanc
72. ll be prompted to select one of the options below FTP Files will be downloaded from the host to the target using FTP SCP Files will be downloaded from the host to the target using SCP NFS TimeStorm will copy the files locally in the target Root File System RFS mounted over NFS None The host will be connected to the target but no data will be downloaded You can then do any needed downloading using the console FTP SCP Settings The corresponding fields for both the FTP and SCP options shown in Figure 7 are as follows IP Address Enter either the IP address or the hostname of the target If you use a hostname your network must include access to a Domain Name Server DNS lookup facility User Name Enter the user name for FTP or SCP login on the target as appropriate Password Enter a non blank password for FTP or SCP login as appropriate Destination Directory Enter the path to which the files will be transferred on the target FTP settings sometimes restrict the location of files copied to a directory under the home directory of the user Therefore the actual destination directory depends on the TimeStorm User s Manual 17 configuration of your FTP software In some cases directories specified in this panel are appended to the user s home directory on the target Ensure the user name that you specified has read write permissions to the destination directory Link to Execution When this
73. lly opens it loads the C C perspective by default If you create a new project of a different type TimeStorm switches to the appropriate perspective automatically By default TimeStorm saves your current perspective settings when you exit TimeStorm and reestablishes it when you start again If you want the workbench to revert to the standard layout for the current perspective use the Window Reset Perspective menu Based on working preferences perspectives can be changed and or additional perspectives can be created by the TimeStorm user Source Code Control Systems TimeStorm relies on the Eclipse framework to provide integration with source code control SCC systems The open nature of Eclipse has resulted in integration of many source code controls systems TimeStorm bundles Egit that work with git TimeStorm users are free to select a SCC that best matches their needs Using Your Own Source Code Control System TimeStorm can be used with any source code control systems If the source code control system in use at your company isn t directly supported by TimeStorm you can still use it to manage your development tasks There are two strategies using a vendor supplied plug in or doing source code control from the command line Using Source Code Control Plug in Many vendors have plug ins that can be added to an existing TimeStorm installation Since TimeStorm is built on Eclipse a plug in that is compatible with the Eclipse used to
74. make TimeStorm can be used without modification Follow the directions supplied by the vendor to add the plug in to TimeStorm TimeStorm User s Manual Using Source Code Control Command Line Some source code control systems do not have Eclipse based plug ins You can still use these but you ll need to do so from the command line When using a SCC command line tool follow these guidelines e DO NOT version control the metadata directory TimeStorm maintains a metadata directory under the workspace This directory contains temporary information related to the workspace and should not be checked into version control e Do not make any files starting with Read only TimeStorm creates files in project directories starting with to store any project related information These files can be checked into version control but must read write on the local file system Some source code control managers make all files read only unless otherwise instructed e When initially checking out a project put in the directory of an existing project To add the project to the workspace create a project with the wizard you can delete all of the files and use the SCC to do the initial check out of the project files into that directory After the check out return to TimeStorm and refresh the project by pressing F5 which will enable TimeStorm to recognize the newly checked out files TimeStorm User s Manual Embedded Development with TimeStorm Embedd
75. n figure 73 to select the remote target 83 TimeStorm User s Manual Profiling Tools Configurations Create manage and run configurations 1 x B Name test program Debug E Gg Main 9 Arguments Target V Valgrind Options BS Environment amp Source E Common gt lip Profile Code Coverage D Profile Memory Profile Timing IB Profile with OProfile If Profile with OProfile Manual fo Profile with Perf fo Profile with Perf Remote li Profile with SystemTap gt Profile with Valgrind Profile with Valgrind Remote gt TimeStorm OProfile Remote v Timestorm Valgrind Remote M test program Debug Filter matched 16 of 16 items Figure 73 Creating Valgrind profile launch configuration After you have finished configuring the settings click the Profile button to start profiling TimeStorm User s Manual LT Tng Eclipse LTTng tools bundled with TimeStorm use ssh connection to communicate to targets and hence they work with remote targets too Please note that LTTng tools are not integrated with the hardware targets defined in TimeStorm You have to define the target IP address username and password for LTTng to communicate to the target For help on how to use LTTng tools please refer to http wiki eclipse org Linux Tools Project LTTng2 User Guide 85 TimeStorm User s Manual Advanced Topics Building from the Command Line TimeStorm has been designed so that projects c
76. nd along with other TimeStorm processing NOTE The other options in this panel are Eclipse features that are not currently supported in TimeStorm TimeStorm User s Manual Creating an Application Project Application projects are created by using the New C or C Project wizard TimeStorm uses the existing CDT C and C Project wizards but adds the ability to select a cross toolchain By creating a project with cross toolchain TimeStorm will be able to build the project with one or more of the toolchains placed in the system when installing a Timesys starting point Create New Project To create a new application project Open the New Project wizard by choosing File gt New gt Project from the main menu OR Click the New button LM and use the drop down menu to the right of the button to choose Project 1 Choose aC or C Project The new C C Wizard shown in Figure 22 can be used to create several different types of projects including Executable and Shared and Static Library This section will focus on creating an Executable project Shared and static library projects are covered in the Creating Shared and Static Libraries section of this manual Project Panel 1 Under the Project Type heading expand the Executable type and select the source code template you would like to use 2 Underthe Toolchains heading select the TimeStorm Cross Compile Toolchain 3 Click Next to bring up the
77. ns buttons either on toolbar or on property pages Figure 23 Select Build Configuration panel By default TimeStorm creates three Build Configurations for new projects 34 Debug This setting performs no code optimization and attaches complete debugging information These settings are designed make debugging as easy as possible Release This setting has the highest compiler code optimization settings The output will not include any debugging symbols Code compiled with this configuration is ready for production use GnuProfiler This setting builds the software with debugging information as well as code to collect profiling information via GNU gprof TimeStorm User s Manual Select a Toolchain Panel The next panel in the wizard shown in figure 24 asks the user to select a toolchain The entries in this list appear because the user has installed a Timesys Starting Point or have added the toolchain manually Please refer to the Working with Toolchains section to understand how TimeStorm manages toolchains The toolchain can be changed later within the project s property page Baa C Project x Select toolchain Select a toolchain Cross Toolchain GCC Native toolchain x86 64 linux gnu armv5l timesys linux gnueabi gcc 4 3 3 armv7l timesys linux uclibcgnueabi gcc 4 3 3 lt Back Next gt Finish Cancel Figure 24 Select Cross Toolchain Once the Finish bu
78. o consistently build and maintain a custom open source embedded Linux platform through regularly updated Linux sources proven middleware packages and a scriptable GNU based build environment LinuxLink reduces the time resources risk and cost associated with building a product based on open source Linux For more information visit www timesys com Timesys Corporation 428 Forbes Avenue Pittsburgh PA 15219 1 412 232 3250 1 866 392 4897 Fax 1 412 232 9818 TimeStorm br timesys 9 2002 2013 Timesys Corporation All rights reserved Timesys the Timesys logo TimeStorm and Factory are trademarks of Timesys Corporation Fedora is a trademark of Red Hat Inc Fortran is a trademark of Lahey Computer Systems Inc Java and Java Runtime Environment are trademarks of Oracle Corporation Linux is a trademark of Linus Torvalds in the United States and other countries Qt is a trademark of Nokia Corporation in Finland and or other countries worldwide Ubuntu is a registered trademark of Canonical Ltd All other trademarks and product names are the property of their respective owners
79. o debug a kernel 1 Seta breakpoint a Openthe kernel source you want to debug in the source editor b Seta break point by either double clicking at the far left end of the line in the source editor or by right clicking at the far left end of the line in the source editor and click Add Breakpoint 2 Create a debug launch configuration and start debugging a Click and select the kernel project you want to debug b Right click on the kernel project and click on Debug As Debug Configurations to open the Debug Configurations dialog c Select Kernel Debugger in the left panel 53 TimeStorm User s Manual d Click New launch configuration icon in the top left corner This will create a new debug launch configuration for the kernel project and the launch configuration tabs are displayed in the right panel as shown in figure 38 For a kernel that is already built most of the entries in all the fields are already filled in and you may not have to change any entries for debugging You have to set the gdb connection settings in the Connection tab in the Debugger tab Debug Configurations Create manage and run configurations GB x Bi Name kernel debug Main Debugger amp Source Ei Common gt c C C Application Executable image vmlinux c C C Attach to Application c C C Postmortem Debugger c C C Remote Application output vmlinux Variables SearchProj
80. onform to the Eclipse standards as closely as possible using as much of the existing user interface language as possible This section defines the basics of the Eclipse environment and explains how Timesys has extended Eclipse by adding features that make TimeStorm unique to embedded developers Eclipse Terminology Workspace The workspace is the top level container for all of the information kept by TimeStorm When starting TimeStorm the user selects a workspace and uses only that workspace Users may have more than one workspace but TimeStorm uses only one at a time When using TimeStorm users can switch workspaces Projects Projects in TimeStorm are different than workspaces in that the workspace contains projects and projects are the entity responsible for creating binaries A workspace frequently contains several projects one for building the application binaries another for creating a library etc Using the workspace these projects can be coordinated to produce the software binaries for the target board Wizards Every project in TimeStorm is created with a wizard Wizards in TimeStorm ask the user for basic project information and will create a simple working project that is used as the base for additional work Workbench The TimeStorm IDE graphical user interface is called the Workbench Workbench features are part of the standard Eclipse development environment which serves as the basis for TimeStorm IDE The Workbenc
81. oolchains recognized by TimeStorm 1 From the main menu select Window Preferences 2 From within the Preferences panel select TimeStorm Toolchains as shown in Figure 2 3 To View the toolchain properties select the toolchain and click the View button NOTE Timesys toolchains that are automatically detected cannot be edited If you want to modify tools or properties for a Timesys toolchain you must add it as a user defined toolchain Preferences type filter text Toolchains a b General Create remove view or edit toolchain definitions P C C Installed Toolchains Pe IN Locati Applies To i ame ocatuon les Io P Install Update 2m PY l en Add armv5l timesys lint home timesys time Sers P Run Debug y n y n b nda armv7l timesys lint home timesys time All Users gt Team GCC 4 3 3 armv5l ti home timesys buile Current Use s Native toolchain x usr All Users v TimeStorm Launch P Usage Data Collector gt e OK Cancel Figure 2 Toolchain Management NOTE Both automatically detected and any added user defined toolchains will appear in this list User Supplied Toolchains If your toolchain is not from a Timesys Starting Point you must import your toolchain to make it available to TimeStorm The next section titled Adding Your Own Toolchain gives detailed instructions for adding a user defined toolchain to your TimeStorm Workspace so that it will be available for use in TimeStorm
82. or xconfig for the kernel project and e n General Setup turn on Prompt for development and or incomplete code drivers CONFIG EXPERIMENTAL e In Kernel Hacking turn on Kernel Debugging Compile the kernel with debug info and KGDB kernel debugger 51 TimeStorm User s Manual e In Kernel Hacking gt KGDB kernel debugger turn on KGDB use kgdb over the serial console e For additional info refer to https www kernel org pub linux kernel people jwessel kdb CompilingAKernel html Compile KGDB Build the kernel After configuring the kernel for debugging save the kernel configuration and build the kernel Boot the Board with the kernel using the right boot arguments The additional boot arguments passed to the kernel include the gdb and kgdb communication setting and instructing the kernel to wait for the gdb connection Gdb communicates to kgdb over serial connection and you set the serial device and the baud rate as the boot arguments For kernel debugging append these arguments to your boot arguments kgaboo eseridl device gt lt baud gt EgdDwalct For additional information on the boot arguments refer to https www kernel org pub linux kernel people jwessel kdb kgdbKernelArgs html When you boot the kernel with these boot arguments kgdb registers the kgdboc driver and waits for a remote gdb connection as shown below in figure 37 52 TimeStorm User s Manual 4 timesys timestorm t
83. ository Exploring Debug ay Git Repository Exploring amp Java Ge Java Browsing 12 Java Type Hierarchy Linux Profiling Suite B LTTng Kernel B LTTng Kernel legacy E gt Planning Ea Remote System Explorer iC Resource SystemTap Dashboard SystemTap Graphing fa SystemTap IDE amp Team Synchronizing Tracing Figure 54 Open Perspective Window The LPS perspective shown in figure 55 includes e Profiling Monitor view to organize and manage profiling sessions e Profile Analysis view to view and analysze the OProfile profile data e Properties view to view the properties of the actively selected node in the Profiling Monitor View e Profile Settings view to view the various OProfile settings used for the profiling session 70 TimeStorm User s Manual ri Aa SEG 0 9 qQ 205 Q e mo Profiling Monitor X Fi C C Projects A Es Profile Analysis X gays 4 E Session Fri Jun 21 10 49 49 EDT 2013 Event CPU CLK UNHALTED gt Count 135 938 v Ha lps project M Isl 192 168 3 58 Name Function 456 Count Count EP Fri Jun 21 10 49 49 EDT 2013 Semeer 29 142 39 615 libflashplayer so 24 368 33 126 gt libjvm so 7 623 10 363 libc 2 15 so 5 949 8 087 libglib 2 0 50 0 3200 3 3 162 4 299 gt libpthread 2 15 so 2 676 3 638 libcairo so 2 11000 2 2 021 2 747 gt Xorg 1 871 2 544 libxul so 1335 2 358 gt eclipse 1 171 1 592
84. oss projects Static libraries are incorporated by copying the bits into the main program at link time while shared libraries are linked into the program before it runs by a dynamic library loader Shared libraries can also be accessed when the program is running by loading the libraries into memory and calling functions without the linking step before the program runs 36 TimeStorm User s Manual Library Type Feature Static Shared Output File Name lib lt project name gt a Lib lt project name gt so Can Update at Run time No Yes Dynamic Loader Needed No Yes Code Shared Across No Yes Applications Select the TimeStorm Cross Compile Toolchain from the list of toolchains populated installed from a Timesys Starting Point or added manually to TimeStorm The toolchain can be changed later in the Project s Property page see Changing the Toolchain for an Existing Project Next select the configurations Debug Profile and Release After clicking the Finish button the project will be created in the Workspace Editing and Building After starting development using the wizard TimeStorm works like a standard IDE When new files are added to the project TimeStorm will add them to the project s make file and will use the program s extension to determine what tool to use for the build process Extension Build Program CHC C compiler C CXX Cpp CC C compiler S Assembler To add an include file source file or create
85. p Factory Project TimestormCProject Source Folder src Build Files Folder Release To Directory tmp Cancel Finish Figure 29 Desktop Factory Integration Select the directory to copy the exported project tar file and click Finish You can share the exported tar file with your build engineer platform developer to integrate into Desktop Factory They have to run bin install timestorm project lt project tar gz gt to integrate the project to desktop factory For qt projects they have to append qt to the above command For more details refer to the desktop factory documentation 43 TimeStorm User s Manual Kernel Development with TimeStorm Kernel Development includes e creating a kernel project e configuring the kernel e building and deploying the kernel e debugging the kernel Creating a Kernel Project New Project Wizard To create a kernel project open the New Project wizard by clicking File New Project from main menu or Click the New button Select Kernel gt Linux Kernel Project and click Next to continue as shown in Figure 30 New Project Select a wizard Bm Wizards K General K E C C K i CVS Y gt Kernel A Linux Kernel Project K Ot K RPM K gt Tracing Figure 30 New Project wizard TimeStorm Linux Kernel Project 44 TimeStorm User s Manual Project Page The page shown in Figure 31 allows you to enter a name for the the kernel proje
86. projects When using a toolchain that was not provided by Timesys you must ensure the toolchain s compatibility with TimeStorm and with the other elements of your development environment The toolchain must be GNU based which ensures that cross compilers and other required utilities are available on the 11 TimeStorm User s Manual appropriate path and have the correct permissions for access by the TimeStorm user In order to perform remote debugging in TimeStorm the toolchain must include GDB version 5 2 1 or later Adding Your Own Toolchain To add a new user defined toolchain 1 Click the Add button shown in Figure 2 to invoke the Add Toolchain wizard 2 Within the Add Toolchain wizard Figure 3 specify where the toolchain is installed Use the Browse button to specify the directory that contains the toolchain s binary files Add toolchain Specify toolchain bin directory Please select the directory where the toolchain executables are installed LinuxLinkFactory build_armvSl timesys linux uclibcgnueabi toolchain bin Browse This toolchain applies to The current workspace only The currently logged in user only Figure 3 Toolchain Management Toolchain Directory 3 Click the Next button Add toolchain Finish Specify tool names Review and edit detected tool names for this toolchain Name ADDR2LINE AR AS C C FilT CC required CPP DEBUGGER LD re
87. quired NM OBJCOPY OBJDUMP RANLIB STRIP Path armv5l timesys linux gnueabi addr2line armv5l timesys linux gnueabi ar armv5l timesys linux gnueabi as armv5l timesys linux gnueabi g armv5l timesys linux gnueabi c filt armv5l timesys linux gnueabi gcc armv5l timesys linux gnueabi cpp armv5l timesys linux gnueabi gdb armv5l timesys linux gnueabi ld armv5l timesys linux gnueabi nm armv5l timesys linux gnueabi objcopy armv5l timesys linux gnueabi objdump armv5l timesys linux gnueabi ranlib armv5l timesys linux gnueabi strip 9 Back Next gt Finish Cancel Figure 4 Toolchain Management Detected Tools 12 TimeStorm User s Manual Figure 4 on the previous page shows the list of tools that have been detected in the specified directory Toolchains using gcc with a cross compiler prefix will be automatically detected 4 Modify Edit the toolchain s name and description optional Each tool chain has a Name Description ID and a location TimeStorm uses the toolchain identifier ID as an internal reference the name and description are used to identify the toolchain to users You can customize the name description and identifier for this toolchain Identifiers and names must be unique that is two different toolchains on one system cannot have the same identifier or the exact same name The next panel shown in Figure 5 allows you to modify the toolchain s name and description If
88. se the Execute tab shown in Figure 8 to specify the communication method that TimeStorm uses between the host and the target Within this tab you can select from the following communication methods between the host and the target Telnet Communication between the host and the target will occur when using Telnet SSH Communication between the host and the target will occur when using secure shell SSH Serial Communication between the host and the target will occur using the serial connection You must fill in all of the corresponding fields for the method that you choose TimeStorm answers the login and password prompts presented by the Telnet or SSH server on the target based on the data that you enter in this tab Mame DM3730 SOM LV 11 Download X Execute Raw Log Telnet SSH IP Address 192 168 2 68 Serial Details common to Telnet Serial and SSH User Name root Password ae Working Directory Figure 8 Execute Tab Telnet SSH Settings The corresponding field for both the Telnet and SSH options are as follows IP Address Enter either the IP address or the hostname of the target If you use a hostname your network must include access to a DNS lookup facility TimeStorm User s Manual 19 The execution IP Address field is also used when connecting to gdbserver for TCP based remote debugging This field must be provided regardless of connection method to use TCP based debugging Serial Settings
89. the values of variables Debugger Options Main Shared Libraries GDB debugger home timesys timesys at91sam9260 ek toolchain bin a n GDB command file Browse Warning Some commands in this file may interfere with the startup operation of the debugger for example run Connection Type TCP GDB Server Port 10002 Figure 46 Debugger Panel This panel contains the following options Toolchain Choose the toolchain to use from the drop down list of defined toolchains The path to the debugger executable is set automatically when you choose a toolchain from the list By default the toolchain will be the same as the toolchain of the project To use a debugger in TimeStorm you must associate the debugger with a toolchain You can associate any debugger with a toolchain that you define Stop at main on startup Select this checkbox if you want execution to pause when your application starts This option is selected by default Automatically track the values of variables Select this checkbox if you want to have the values of variables displayed in the Variables view while your project is being debugged This option is selected by default Debugger Options This section of the panel includes two tabs 1 Main and 2 Shared Libraries The Main tab is shown in Figure 16 above TimeStorm User s Manual 26 Main This tab includes the following fields GDB Debugger Th
90. tion icon in top left corner This will create a new profile launch configuration and the launch configuration tabs are displayed in the right panel shown in figure 57 Create manage and run configurations Run OProfile on a target 5 Bx E 3 Name New configuration c A Target gt amp Project amp Run Gi Options Events gt Bg Profile Code Coverage Remote D Profile Memory Profile Timing IB Profile with OProfile CPU type i386 core 2 Profile with OProfile Manual fo Profile with Perf fo Profile with Perf Remote Local li Profile with SystemTap gt V Profile with Valgrind Profile with Valgrind Remote v 0 TimeStorm OProfile Remote 0 New configuration K W TimeStorm Valgrind Remote P Target localhost Target IP 192 168 3 58 Appl Filter matched 20 of 20 items pply D Close Profiling Tools Configurations Manage targets Revert Figure 57 Creating a profile launch configuration Target Tab The target tab is show in figure 58 Choose Remote to run OProfile on remote target or choose Local to run OProfile on local host When the target is selected TimeStorm checks the OProfile CPU type and fills in the details An error message is displayed if TimeStorm cannot run OProfile commands 72 TimeStorm User s Manual I Project amp Run Options amp Events 9 Remote Target localhost Manage targets CPU type i386 core 2 Target
91. torm licenses The TimeStorm user s home directory is typically something like home username on Linux systems o Licenses copied to this location will work for this user for all version compatible TimeStorm installations on this computer 2 TimeStorm installation directory gt licenses TimeStorm checks for a directory named licenses that is located within the TimeStorm installation directory o This licenses directory is created automatically when TimeStorm is installed Licenses installed in this directory will work for this installation of TimeStorm only Installing TimeStorm TimeStorm is available in 32 bit and 64 bit versions Depending on whether you are running a 32 bit or a 64 bit OS select and download the 32 bit or 64 bit version of TimeStorm To install TimeStorm 1 Opena terminal and change directory to the location where you want to install TimeStorm TimeStorm User s Manual 2 Usethe following command to uncompress the archive on your host and extract its contents the build number build num will vary tar zxf timestorm full install 4 4 0 build num gt tgz 3 TimeStorm is installed within the directory timestorm 4 4 0 You can start TimeStorm with the following command T 74t1mestorm 4 4 0ytTmestorm TimeStorm User s Manual TimeStorm and Eclipse TimeStorm is based on the Eclipse IDE first published by IBM and now maintained by the Eclipse Foundation TimeStorm is designed to c
92. tton is clicked the project will be created in the Workspace 35 TimeStorm User s Manual Creating Static and Shared Libraries Library projects are created by using the New C or C Project wizard shown in Figure 25 TimeStorm uses the existing CDT C and C Project wizards but adds the ability to select a cross toolchain By creating a project with cross toolchain TimeStorm will be able to build the project with one or more of the toolchains placed on the system when installing a LinuxLink Open the New Project wizard by choosing File New Project from the main menu or by clicking the New button LM Optionally use the drop down menu to the right of the button to choose Project Choose a C or C Project C Project C Project mmm Create C project of selected type Project name test program 4 Use default location Project type Toolchains v Executable Linux GCC Pre ert e Hello World ANSI C Project 6 Multithread C Program gt amp Shared Library gt Static Library gt Makefile project Show project types and toolchains only if they are supported on the platform 2 Back Next gt Cancel Figure 25 New C C Project Wizard Creating Libraries Static versus Shared Libraries Static and shared libraries allow the user to place certain functionality outside of the main program frequently so the same library can be shared acr
93. um utes se IE E 22 Creating a New Ru mconfigul atiOD su vocis eios bendi RE tid dered och Meroe aetna eee eee 22 Maw alle Lrecissee edet lec E aan dul foot evecare eee cdalet acs p ptr bxa es elo esatto dcos E Areuments Pallel s asc tuemre e M EMEN a OK EC I iR ED ED PE DEAE Environment Palblsdsadesubet eni ds euo Mon E OR Ooo dO E EPA ERA N esta MS Coins DOD US SEP an estoueietuaetu a MILLE IL IN etie DE SOUrce I Ut orca cote ah secs site inet E Rt oranes uuu do emu a ut a aut DE Targa Panel eas Seca restaraunts DR E LM EIL Download Files PANE NC LOU E DLE Common Panel ecri EU PRU acu dei E tua Pea mcm Metus UR aM coon Ua RERUM Sv I UAE Creating anApDIICcatiOn Project co doses ar abtdsacik uote Oa acct oevkr a tua ue eae Mme ul utes Ern bee dade 33 Create NEW PrO eC evan e eM e EPUM cone gone tens dra Dro CH RUNS dee cance Grew VENE dean Dv NOD Ne den Dra bI e Edu aola e Mu dud TE do 33 Nas E TT ETT Select Bulla Configuration Panel TTT Selecta Kee a 9 T PTT Creating Static dine Shared Seel 36 Static versus Shared EIDESFIGS d a pera RR EE Seren So EDEP MER Ete ONCE DA asd au eA Sue REF EE Vexm ER DERE e pd eusa vo rU Ema s 36 Echtinig MOBUAN sce ees aeri ten tod se pear adesso erat nb orc Pec e cec Re eer reer Seana eae are 37 How TimesStorm Bullds a PFOJeCt 5 iere d verdes Ce E rv D Pee A Reread weed ee ee eevee iw bees 38 Changing the Toolchain for an Existing Project sees eee ee eee eee eee eee 39 TimeStorm User s Manual Remote versus Lo
94. ure 36 XConfig Kernel configuration Building and Deploying the Kernel To build a kernel project right click on the project and click on build project The build progress is displayed in the console view While building the kernel sometimes you may see that you have to run mrproper You can run mrproper by using the make targets included with TimeStorm kernel project To launch the Make Targets window right click on the kernel project and click on Make Targets Build and the make targets window will display as shown below 50 TimeStorm User s Manual Make Targets Make Targets for dm3730kernelproject Target Location Add ulmage modules vmlinux Edit mrproper oldconfig Remove To run a make target select the target from the list and click Build Booting the board with the kernel image that is built is specific to the board Please refer the getting started guide for your board for instructions on how to deploy the kernel image and boot the board TimeStorm does include any features for deploying the kernel and booting the board Debugging the Kernel To debug a kernel you have to e configure the kernel for debugging e build the kernel e boot the board with the kernel using the right boot arguments e debug the kernel from TimeStorm using gdb Configure the kernel for debugging To configure the kernel for debugging open menuconfig
95. uspend target on connect Advanced Main Shared Libraries Connection Directories Add S Load shared library symbols automatically Stop on shared library events Figure 41 Kernel Debug Configuration Debugger Tab Shared Libraries Tab 55 56 TimeStorm User s Manual Load shared library symbols automatically check box is selected by default and this will allow the debugger to hit breakpoints in the shared library Select the Stop on shared library events if you want the debugger to stop on shared library events even before it hits breakpoints in source code Connection Tab kgdb works only over serial port So select Serial as the connection type enter the host serial device that is connected to the target board and the baud rate This baud rate should match the baud entered in the kernel boot argument B Main Debugger gt 5 Source E3 Common Toolchain SDK dm3730 zoom torpedo GCC 4 6 3 armv7l timesys linux gnueabi 20130117 09 53 lt Suspend target on connect Advanced Main Shared Libraries Connection Type Serial lt Device dev ttySO Speed 115200 Figure 42 Kernel Debug Configuration Debugger Tab Connection Tab e Click the debug button to start debugging TimeStorm will switch to debug perspective and the debugger will stop at the first break point You will be able to step in step over and resume through the kernel source code TimeStorm User s Manual Loadabl
96. vers w USB support D USB Serial Converter support R USB Gadget Support Ma ISP 1763A highspeed dual role controller support Iz MMC SD SDIO card support D Sony MemoryStick card support EXPERIMENTAL Iz LED Support O Near Field Communication NFC devices O Accessibility support B Real Time Clock O DMA Engine support KGDB kernel debugger KGDB I D Auxiliary Display support n Userspace I O drivers CONFIG_KGDB NS Staging drivers If you say Y here it will be possible to remotely debug the 7 File systems kernel using gdb It is recommended but not required that Caches you also turn on the kernel config option CD ROM DVD Filesystems CONFIG_FRAME_POINTER to aid in producing more reliable stack DOS FAT NT Filesystems backtraces in the external debugger Documentation of Pseudo filesystems kernel debugger is available at http kgdb sourceforge net Miscellaneous filesystems as well as in DocBook form in Documentation DocBook If Iz Network File Systems unsure say N Partition Types Symbol KGDB y Native language support Type boolean 7 Kernel hacking Prompt KGDB kernel debugger Tracers Defined at lib Kconfig kgdb 5 Sample kernel code Depends on HAVE ARCH KGDB y amp amp DEBUG KERNEL y amp amp EXPERIMENTAL y MIRI KGDB kernel debugger Location z Security options Kernel hacking Cryptographic API p Hardware crypto devices Library routines lt Fig
97. xp timesys com root host6s cd root host6s Target Check Passed Figure 9 Output from Check Link Hardware Target Console When you remotely run or debug an application on your hardware target a console view is launched and the commands being run on the target and the target s console output are displayed in the view If you directly want to interact with the target like run some commands on the target copy files to from the target etc you can launch a target console by clicking the Zl icon in the toolbar or by clikcing Run gt Hardware Target Console This will open the Choose a Target dialog as shown in Figure 10 Select the target you want to open the console and click OK 20 TimeStorm User s Manual 9 Choose a target Target beagle Manage targets Serial at 115200 baud Figure 10 Choose target for target console TimeStorm connects to the target using the Execution Settings Telnet ssh or serial configured for the target and opens a console view as shown in Figure 11 i Problems Tasks El Console 23 Ei Properties x Ex Ab r4 Pe H Serial at 115200 baud Starting system logging Configuring network interfaces ifdown interface lo not configured ifdown interface eth8 not configured ip RTNETLINK answers File exists ip RTNETLINK answers File exists ip RTNETLINK answers File exists failed Starting dropbear sshd OK BusyBox v1
98. y and Static Library Projects The make file for these projects are generated using the settings from the project build configurations These projects may use a TimeStorm Cross Compile Toolchain 2 Makefile projects In these projects the make file is under complete control of the user TimeStorm does not attempt to examine the project and generate a make file before the build Use this option when working with projects that already have an existing make file or when complete control of the make file is necessary Build configurations are part of the project properties To see the build configurations for a project right click on a project select Propertie and then select C C Build gt Settings The current build configuration will appear on the right side of the dialog Use the Manage Configurations button to add rename or delete build configurations Building with Host Compiler Since TimeStorm allows the user to create multiple build configurations for a project users will frequently create a build configuration that executes the host compiler the compiler that produces code to be executed on the host machine so that the program can be tested without the additional overhead involved with remote debugging Since most problems are algorithmic in nature this strategy reduces the amount of development time and is an oft used strategy used by embedded developers To access the build configuration panel e Right click on t
Download Pdf Manuals
Related Search
Related Contents
Smeg DWF66SS Instruction Manual Transition Networks CSDTF1022-100 User's Manual Graco Inc. 313255F Paint Sprayer User Manual D - Fisher UK Extranet 登録の仕方 - 伊豆の国市 MF636 USB Modem加拿大-00 Samsung G19P PLUS Manuel de l'utilisateur Variations - Thermor, chauffage électrique & chauffe-eau Copyright © All rights reserved.
Failed to retrieve file