Home

Hitool for ARM ® User`s Manual

image

Contents

1. sse RDIEGS pafie erint e tete te ee greci s Target Info dialog box eese Comms Channel Viewer eee Console VIeW date tuoi et eene Bae Mees etie A Compiler Configuration and JTAG Port Compiler Configuration eseseseeeeeeneeenrennennen ARM Compiler Configuration esse ADS Compiler Configuration esses FEACPDOL edet peu DB Contents Hitool for ARM User s Manual Chapter EN Introduction About This Manual This manual describes all the details about Hitool source level debugger for ARM NOTE The ARM emulation board is referred to as the emulator throughout this manual Hitool The Next Generation of Point and Click Support Tools Hitool is a convenience driven point and click support tool Combining state of the art debugging facilities with the intuitive simplicity of a Windows based environment each major function contains a point and click window or tool to make debugging fast flexible and direct Now Hitool makes it even easier to access multiple functions and windows from not only one main source window but from multiple access points Hitool runs under Windows 95 above and Windows NT 4 0 above The power and functionality of Hitool provide the ideal environment for developing with these emulation and debug vehicles Software Debugger Hitool is a high performance o
2. DEMO_SUMSUNG Classes D CBase amp p m nMajor amp p m nMinor m nSayHello m nSaYoNaRa operator reference to CBase CBase reference to CBase amp p DumpFunction signed int 2 PeriodTime signed int CBase void SetInfo void SetInfo signed int signed View Source Q eCBase void t CAHach Set Clear Breakpoint e nM aka E Files zl View Source After you have selected a function click on the View Source menu item or press Enter key to load the module containing that function in Hitool s Source Window Hitool will HitoolforARMUsersManudl Project Window 128 Chapter 8 Project Window align the source display and locate to the first executable source line in the procedure specified Set Clear Breakpoint After you have selected a function click on the Set Clear Breakpoint menu item to set or clear the software breakpoint on the first executable source line in the procedure specified Type Name You can expand and contract the Type name folder by clicking on the box to the left of the Type name By expanding this view a listing of members contained in that type are displayed and more detailed information is provided While you still have the Type name folder highlighted right click anywhere on the right hand side to invoke the following pop up menu DEMO SUMSUNG Classes View Source amp p
3. eene 113 Setting Watchpoint through Watchpoint dialog box esses 114 Setting Watchpoints for Wiggler series sssssseeseeeeeereeereenn 115 Output Window Command Pane sees 117 Configuring Exception Trapping Settings essere 117 8 Project Window 119 Project Window Overview te te te t e tete deret a dette OP e ete dta eee tens 119 Working with Project essent ener Hen etre nennen 119 Working with Symbols eese eere 120 Hitool for ARM User s Manual Add or Remove Symbol Table sese 121 Drag and Drop Capabilities eese 123 Modules atttem ite dte t pe i ete et tee eds 123 lglreit uae 124 MEE 125 RAS UNDAE scsi tect desteebdei debs das tracted toss des canbe hedetotadeatesonedetebedevtedeanedeveestentes 126 PUNGCUONS itte seeded athe ted e etd n dett oe et n ehe teats 127 Type Name oon terr RR a 128 Closing the Project Window essere eerte 128 9 Memory Window 131 Memory Wind Weis deett e ri bete beg tee 131 Editing Memorie Sensore e hector aor Pe C onte oe RR D e Pe uie dee 132 Memory Acton ofi eer erro rem ro en ei eco ii oyt es 133 Upload Download Memory eese ener 139 Viewing Memory inr cerro eere vn dieere Egi tes 140 Closing the Memory Window essere en eerte 140 10 ThreadX Window 141 Hitool ThreadX Window 4 2 0
4. Hitool for ARM Users Manual Hitool SYSTEM INC Http www hitoolsys com Doc No 003 000041 Fourth Edition November 26 2002 Trademark Acknowledgments ARM is a registered trademark of ARM Ltd Microsoft MS and Windows are registered trademarks of Microsoft Corporation Intel is a registered trademark of Intel Corporation Document Number 003 000041 Fourth Edition 2001 Hitool INTERNATIONAL INC All Rights Reserved Printed in Taiwan 11 2002 The contents of this manual are subject to change without notice Hitool International Inc assumes no responsibility for errors that may appear in this manual Hitool makes no commitment to update nor to keep current the information contained in this manual Nothing herein shall be construed as a recommendation to use any product in violation of existing patents or other rights of third parties No part of this manual may be reproduced or transmitted in any form or by any other means without prior written permission from Hitool Hitool is copyrighted by Hitool International Inc and is furnished under a license or nondisclosure agreement and may be used or copied only in accordance with the terms of the agreement USER MAY NOT USE COPY MODIFY OR TRANSFER Hitool OR MAKE ANY COPY THEREOF EXCEPT AS EXPRESSED IN THE AGREEMENT HITOOL SYSTEM INC Web www hitoolsys com E mail sales hitoolsys com ontents 1 Introduction 1 About This Manual 4 eene eDPO ena
5. Float View Choose Float View menu item from the pop up menu to display the general register value in selected tab during emulation which is always on the top Add Watch Choose Add Watch menu item from the pop up menu to add the highlighted general register into Watch Window Indirect Through Register Choose Indirect Through Register item from the pop up menu to activate Memory Window and locate to the right address the highlighted special function register indicating CP15 Register CP15 registers are used in conjunction with page table descriptor stored in memory to determine the operation of the MMU So the first thing is accessing the CP15 registers To access the CP15 registers two internal variables CP15_cache_selected and CP15_current_memory_area are used Because standard CP15 registers are used for more than one function These two variables will determine the exact meaning of each register accessed e CP15 current memory area Displaying Data Memories Registers Hitool for ARM User s Manual Chapter 6 87 Normally this variable indicates I Cache 1 or D Cache 0 This is only valid for Harvard Architecture processors The possible value is 0 Data Cache 1 Instruction Cache 2 tightly coupled instruction memory 3 tightly coupled data memory e CP15 current memory area Just for 740T and 940T Select the memory area to be used with accesses to register 6 920T CP15 Register Mapping e c0 Read on
6. Status Either In Use or Available depending on the value of the pointer preceding the fragment as described in Address above Size The size of the byte pool fragment in bytes All byte pools end with a zero byte fragment that is shown as 0 End ThreadX Window Hitool for ARM User s Manual Chapter 11 D 157 1 Miscellaneous Tools Convert Hitool offers feature of converting the code part of a target elf file into binary hex s record format file or the symbol part of a target elf file into symbol table file st and hash table file ht so as to program Flash or load and it is available only after you open a project It needs dos application ARM eabi objcopy support If there is no application a message will appear in the status pane To convert do the following 1 Choose Convert menu item from Tools menu A Convert dialog box will popup up as below Convert q x gt Select Input Object Module to Convert aminga raul porn ie pia ins uitpul Format be conto B wnibols aoude Sections Bi Ea Baj r Command Lies aim ell abicopu exe 0 Micetek Symbak I E nitool amvesamples nu PRIME 1 PRIME 71 ELF Hitool for ARM User s Manual Miscellaneous Tools 158 Chapter 11 2 Choose the executable file 3 Set the Output Format from the list box 4 Click on Add button or Del button to add or delete the sections The default sections for your choice are text data bss and rodata
7. 1 Display the Project Settings dialog box for the build target you want to configure 2 Click on Warning in the Project Settings dialog box panel list to display the configuration panel 3 Choose and set the options as your requirement in the Warning panel of Project Settings dialog box as follows Project Settings xj General Assembler Warning Assembler IV No Warning Float Point and Warning Compiler Compiler Debug Optimisation Alignment incre Preprocessor Code Generation Library and Linking Library and Linking re mies conversion when absent of prototype r Equivalent Command Line No Warnings Directs the compiler to inhibit all warning messages Warn for C and C Any trigraphs encounted Warn if any trigraphs are encountered Variable shadow another Warn whenever a local variable shadows another local variable ANSI C extension Hitool for ARM User s Manual Hitool for ARM User s Manual Chapter 3 53 Issue all the warnings demanded by strict ANSI standard C reject all programs that use forbidden extensions Bad function cast Warn whenever a function call is cast to a non matching type Implicit Virtual Warn when a derived class function declaration may be an error in defining a virtual function Pointer to remove type Warn whenever a pointer is cast so as to remove a type qualifier from the target type
8. MOV RO Mode_SYS I Bit F Bit No interrupts MSR cpsr RO MOV SP R1 SUB R1 R1 SYS_ Stack MOV RO Mode_SVC I Bit F_Bit No interrupts MSR cpsr RO MOV SP R1 SUB R1 R1 SVC_Stack MOV R4 R1 MOV R2 0x0 LDR RO fbss LDR R1 end Do_Clear STR R2 RO 0x4 CMP RO R1 BCC Do Clear MOV PC R7 Demo star s can implement the following functions 1 Initialize the stacks used by program 2 Go to the main function in user s source file During edit demo star s you should pay more attention to the following important factors 1 start label Configuring a Project and Building Target Hitool for ARM User s Manual Hitool for ARM User s Manual Chapter 3 41 In the beginning of demo_start s there is a global label start It is the entry point of the whole program You can apply the entry point with another name such as Begin Go ToDo and so on NOTE The name you applied must be consistent with the Image entry point option in the Link Options panel in the Project Settings dialog box 2 __ main label After initialized the stacks it will perform BL __main line main here is a symbol which marks the entry point of user s program That is if your source starts with Begin function as below int Begin int i if i 0 printf d i return 1 else if i lt 0 Begin i else if i gt 0 Begin i You must replace main with Begin which kee
9. 27 2 Select the executable file to convert 3 Set the Output Format as Micetek Symbols from the list box 4 Click on Convert button ht file and st file will generate in the current path whose name are the same as the executable file name Hitool offers several methods of loading your executable file as described below Load from List of Recently Projects Because of project management an executable file is assigned to a project So you can open the project by choosing it from the bottom of Project menu to load it automatically Hitool lists up to four most recently used project files Load with Load Command or Load Reload Button gp When you launch Hitool Load File dialog box as illustrated below will popup automatically you could choose an executable file in this ReLoad Button dialog box and click on Open button You can download the code by the load command or load reload button whenever If you haven t opened a project click on Reload button is equivalent to click on load button If you have opened a project choose Reload command from the ay Project menu or click on Reload button on the debug Toolbar to reload it simply To load another executable file please click on the Food Button Load button on the debug Toolbar to load it with the corresponding project opened first Hitool for ARM User s Manual Getting Started 28 Chapter 2 Load File Dialog Box Project Parameters Download In the Load F
10. Hitool will create ld file and mak file automatically in the current directory whose names are both the same as the project file name Adding Source Files You can add your source files into the project via one of the following ways 1 Click on Add Source Files menu item from Project menu 2 Click on Add Source button on the Build toolbar 3 Right click on the folder in Files pane in the Project window and choose Add Source Files item from the pop up menu NOTE If the project type you choose is ARM Thumb Interwork you can only use the third way mentioned above to add source files Add source files to Project dialog box will then pop up as the following You can choose one or more files at one time and add them into the project NOTE Be sure not to choose the source files in the long path directory with parentheses Hitool for ARM User s Manual Configuring a Project and Building Target 38 Chapter 3 Add source files to Project Lookin Bpm ee Ae lwlPrime 89 Prime2 c o Prime3 c File name Prime1 c Prime2 c Prime3 c Files of type C Files c z Cancel Add source files to Project dialog box In order to initialize the program correctly you are also required to add a start up file into the project besides the source files Adding START_UP File to Project In the examples Hitool provides you can see there is a file named demo_start s in every project It
11. LPT2 or Serial communications up to 115200 baud COMI COMA 2 SamSung ATMEL or other maker and the corresponding Target CPU 3 Wiggler Raven PowerProbe PowerProbe Angel or Jeeni protocol or Simulator WARNING 1 It is meaningless that JEENI communicate with more than one debugger at a time If two debuggers are simultaneously connected with JEENI they will interfere with each other causing unpredictable errors 2 For Angel Protocol Angel debug monitor on the board will occupy some memory region 4 Little Endian or Big Endian according to the board you use 5 Use initialize file to initialize Hitool provides initsamp inc sample file in ARM installation directory for your reference 6 HeartBeat option NOTE HeartBeat option is only available for Angel Jeeni Protocol A debug initialization file contains a set of commands that initialize the target board when it is launched by the debugger A debug initialization file is a command file processed during Debug launch and each time Reset is selected in the Debug menu A debug initialization file can perform several functions e Initialize registers and memory in targets that do not yet have initialization code in ROM e Other special initialization code To create a debug initialization file that contains a register section Getting Started Hitool for ARM User s Manual Chapter 2 DIS EST 1 Use your data sheet to determine what your chi
12. Mem is to test memory DAta is to test data bus ADdr is to test address bus B specifies to test the memory in Byte format Hw specifies to test the memory in Half Word format W specifies to test the memory in Word format Memory test command is used to verify service ability of the memory data bus and address bus The test changes the original contents of the specified range It defaultly uses the current memory access mode which specified by the Memory Access Size command in Option menu Command Reference 186 Chapter 12 Upload Command Reference Keyboard Examples Test 0 FF Test memory from 0 to FF Upload adr1 adr2 Length length filename S R BIN DIS DISA DISC DISAC adri adr2 Length length filename S R BIN DIS DISA DISC DISAC indicates the starting point of the memory block to be uploaded is an unsigned value specifying the last memory location to be uploaded is the required prefix when specifying a length value is a hexadecimal value specifying the memory size to be uploaded is the file with path to store the uploaded data is to store the uploaded data in S Record format It is default is to store the uploaded data in binary format is to store the uploaded data in disassembly format not including address and opcode section is to store the uploaded data in disassembly format including address section is to store the upl
13. addresses are hexadecimal addresses such as 802C An example of a symbolic address is prime1 35 4 Click on Add button to add the breakpoint into the Breakpoints display pane 5 Click on OK button to exit Once executed Hitool will break the target at the specified address only if and when the expression or count matches When PC address is 0x802C breakpoint will work and emulation will be stopped NOTE More gt gt button is only for threadx support Hitool for ARM User s Manual Click on More gt gt button to display Task Qualify check box and Task list box You can check Task Qualify and choose the task from the list box in the bottom which lists all the created threads Only when the task you choose is running will the breakpoint you set function only if and when the expression or count matches Setting Breakpoint through Breakpoints Window You can set specific software breakpoint by accessing the Breakpoints Window as follows 1 Click anywhere in Breakpoints Window in the pop up menu choose Add item 2 In the pop up Breakpoint dialog box set software breakpoint Setting Conditional Software Breakpoint through Breakpoint dialog box You can use the Count field to implement a simple conditional breakpoint the debugger will report halt status only after the breakpoint encountered enough times specified in the Count field Also you should use the Break at Location If Condition to implement a Break
14. data rodata After building the code of elf format file usually consists of three sections text data and rodata Checks to download text data and rodata section and text data are compulsory Load Symbols Check on this item and each time your image is downloaded the symbols will be downloaded to provide debugging information Load System This item specifies that system variable symbols would be downloaded Clear all BP after load Check on this item and the system will delete all the breakpoins you have set afer loading the project again Load Image when open proj This item specify that when you open a project the load information about the project will be showed Load Type Hitool provides you two types for load image and symbols Click on Load Image or Load Symbol Only menu item from the File menu then in the pop up the Load File dialog box choose the executable file Below is a listing and brief explanation of the two types offered in the File menu Load Image Standard load Depending on the settings in the option dialog box Load Symbol Only Loading symbols only Load Code Only Keeping current symbols and loading new code only Downloading the Binary Image and Reading Symbols Once you have established communications you could download your symbol and code Getting Started 26 Chapter 2 Getting Started NOTE Before loading code Hitool will check whether the
15. i prime kh t SIZE k prime j Options for setting breakpoints include To set a software breakpoint you can also simply click on any source line number in the Source Window or low level address in the Mixed Source Window and Disassembly Window Hitool for ARM User s Manual Breakpoints amp Watchpoints 106 Chapter 7 Point the mouse to the left of a source line Hitool displays a e breakpoint bull s eye cursor Then click on the source line to set a Bull s Eye breakpoint A breakpoint set symbol red dot appears to the left margin of the source line Breakpoint Symbol NOTE If you try to set a breakpoint on a non executable statement you will get no response Setting Breakpoint through Breakpoint dialog box You can set specific software breakpoint by accessing the Breakpoint dialog box as follows 1 Choose Breakpoint command from the Debug menu Then set the breakpoint in the Breakpoint dialog box as illustrated below 2 Select the breakpoint type Break at Location from the Type combo box 3 Fill the address 802C in the Location field and Count field is 1 by default Typa Es at Location r Break at Locabon Loci fom Count 00000020 FPrimel oFI5 coun 100008034 SPrinel of lt COUK ibi i Breakpoints amp Watchpoints Hitool for ARM User s Manual Chapter 7 107 NOTE You can enter a numeric or symbolic address Numeric
16. ACcess specifies the memory access format Word Byte Half Ward B specifies access the memory in Byte format Hw specifies access the memory in Half Word format W specifies access the memory in Word format This command is to set the format to access the memory Keyboard Examples ACcess B Specify the type of access the memory into Byte format ALias original name new name original name specifies the system defaultly used Shell command name new name specifies the new name for the system Shell command This command is to rename or shorten the system Shell command One cannot use it to a Shell command which has been already renamed Keyboard Examples Alias Memory MM Rename the Memory command as MM MM 0 FF Use the alias shell command Hitool for ARM User s Manual Assemble Chapter 12 171 Assemble adr adr specifies the memory location where Hitool is to begin storing the assembly language program input by the user It may be a symbol name line number or an unsigned value Show the assembly equivalent of the entered string and write the instruction bytes to memory at the last known address If memory location is not specified assembly begins from current program counter PC Press Escape on the keyboard to stop inputting the instruction This command only accepts the instruction set controlled by the current CPU state For example for ARM Thumb state it will accept CPSR T bit instruction
17. Chapter 4 Go To Assembly This item allows you to open a window displaying source in Disassembly language Go To Mixed Source This item allows you to open a window displaying source in Mixed Disassembly and Source language Set Clear Breakpoint Selecting this menu item will allow you to set or delete an active software breakpoint You may also simply click on the margin besides source line number where you wish to set a software breakpoint Go To Cursor Selecting this menu item sets a temporary breakpoint Hitool will send a GO command to the emulator The breakpoint is automatically removed once it is hit Jump To Cursor Selecting this menu item sets the target s Program Counter to the address corresponding to the source line that you selected Browse From Selecting this menu item invokes the following Browse From dialog box to enable you to locate to the right position quickly through Address Bookmark Definition Error or Tag Line Offset and Reference Browse From Go to what Enter address expression GoTo Type any valid debugger expression Previous Bookmark Definition Error T ag Line Offset Close Reference FEE Source Select Menu To invoke the Source Select pop up menu right click once on a function in the Source Window to select it or double click then right click again Viewing amp Editing Source Code Hitool for ARM User s Manual Chapter 4 71 Cur Copy Co
18. NOCode Warn NOWarn is meaningless to S R BIN DIS The default is EXEC or S R format Loader will auto determine the format according to the file Keyboard Examples 1 LOAd prime elf 2 LOAd prime elf DISC 0x10000 Load the executable file Load the executable file to the memory block starting from 0x10000 in disassembly format including opcode section Command Reference LOG LONg Memory Command Reference LOG filename Command Append ON Off CLear filename is the file to store the logged shell commands Command is the command key word to log The command may then be executed using the Include command Append is the option to append the newly logged information into an existing file Otherwise existing data in the file is automatically overwritten OnlOFf is the option to enable disable logging of executed commands CLear is the option to clear the logged commands in log file Keyboard Examples LOG testl Log key in shell commands to file TEST1 LONg adr data 1 data 8 adr specifies the location where the Memory Modify operation is to begin of the emulation CPU datal data8 is a hexadecimal value up to 4 bytes O FFFFFFFFH Note that data format in Long implies double words Keyboard Examples LONg 400 1234 8888 Writes double word data directly Memory adr1 adr2 Length length B Hw W adri specifies the memory location where memory display operation i
19. Unused declarations Warn whenever a variable is unused aside from its declaration whenever a function is declared static but never defined whenever a label is declared but not used and whenever a statement computes a result that is explicitly not used Alignment increased Warn whenever a pointer is cast such that the required alignment of the target is increased Traditional ANSI C Warning Warn about certain constructs that behave differently in traditional and ANSI C Function cannot be inlined Warn if a function can not be inlined and either it was declared as inline or else the finline functions option was given Variable without initialize An automatic variable is used without first being initialized Missing Declarations Warn if a global function is defined without a previous declaration Conversion when absent of prototype Warn if a prototype causes a type conversion that is different from what would happen to the same argument in the absence of a prototype 4 Click on Apply button to save your changes temporarily Configuring a Project and Building Target 54 Chapter 3 Configuring a Project and Building Target Configuring the Debug and Optimization Use the Project Settings to configure options for debug and optimization 1 Display the Project Settings dialog box for the build target you want to configure 2 Click on Debug Optimization in the Project Settings dialog box panel list to dis
20. and thus narrow the focus of the break Hitool uses the same instruction swapping scheme to break the target with the break contingent on the validity of the if then condition Breakpoints amp Watchpoints 104 Chapter 7 Breakpoints amp Watchpoints Since software breakpoints use the aforementioned instruction swapping scheme code must be running within RAM Watchpoints Watchpoints occur on data accesses or instruction prefetch Wiggler series implement breakpoint and watchpoint via Watchpoint unit ICE Breaker Breakpoint will occur watchpoint unit 1 and the other watchpoint unit can implement instruction prefetch or data access watchpoint A watchpoint is always taken but the core may not enter debug state immediately In all cases the current instruction completes If the current instruction is a multiword load or store an LDM or STM many cycles may elapse before the watchpoint is taken When a watchpoint occurs the current instruction completes and all changes to the core state are made load data is written into the destination registers and base write back occurs If a watchpoint occurs when an exception is pending the core enters debug state in the same mode as the exception Each watchpoint unit can be configured to be either a watchpoint monitoring data accesses or a breakpoint monitoring instruction fetches Watchpoints and breakpoints can be data dependent Angel series watchpoint is just data cha
21. the license file to the PC will be OK For more detailed information about registering please refer to the following Registering section To use the dongle you should install the dongle driver first The installation process will install the dongle automatically Be sure to install Hitool for ARM software first then insert the USB dongle into the USB interface If you have trouble with the dongle please restart PC to make sure that the dongle will work properly You can use Hitool for thirty days before registering If you aren t a registered user every time you launch Hitool a Register Information dialog box will popup as following This snftware has mnt been registered ou may evaluate this soltware for 717 days before registering If you want to apply a license please press Piegketer buttonzelae prese Evaluate to continue After registering you can use this software undlimibedis and get full technical support TM Riegecter Inlnemalzan If you haven t got the license do the following to get it from Hitool Click on Register button in the Register Information dialog box In the popup Register Form dialog box fill in personal information then click on OK button And a file named Regform txt will generate in the current directory Please send this file to Hitool by Email or fax Hitool for ARM User s Manual Chapter 2 17 eger term 08 Permons Intermetan Uoerh ames Campany Mee Telephone
22. want to build your own executable file please add the source files manually IDE The Hitool IDE Integrated Development Environment is the center of Hitool software development The IDE offers Power From the IDE you can edit browse compile link and run your project The IDE includes a text editor and a project manager to help you do all your programming tasks easily and quickly The IDE s core tools are the tightly and transparently integrated primary components used to write code The following table describes some of the individual components included with the Hitool IDE This tool Provides these features and functions Project Use the commands in the Project menu to manager gather all the files of a program together with configurable sets of options into a project file These commands decide for you which plug in compiler and linker to act on the project to create the final executable file Source code Use the commands in the Edit menu and the editor controls in the IDE s editor windows to edit source code and text Some of the editor s features are e edit search and replace text in one file or several files e split an editor window into multiple panes Getting Started 24 Chapter 2 Getting Started e set bookmarks at arbitrary locations in a source file e compare two files or folders Compiler Thanks to its plug in architecture the IDE is a
23. All the sections you want to remove during convert will be listed in eXclude Sections At the same time the equivalent Command Line text box is displayed at the bottom of Convert dialog box 5 Click on Convert button to execute converting New format file whose name is the same as the executable file name will generate in the current directory and you can use it to test memory flash or load Programming Flash with the ARM Ultilities Panel GUI Miscellaneous Tools Hitool offers access to the complete Flash programming features of ARM By default the dialog will be set up to use the newer and faster TF target Flash programming method Flach puyi anem Ei Fade 5x0 Timata fa x Maker Selects the Maker from the list box Device Selects the corresponding device of the selected maker from the list box PortSize Selects the port size 8 or 16 Bits from the list box Chip Count Selects the count of flash chip The value for your Hitool for ARM User s Manual Hitool for ARM User s Manual Chapter 11 DI 159 selection will vary according to the port size you selected before Flash start Sets the flash start address Flash Size During flash sets the total flash memory size During erase sets the size of flash you want to erase It is no more than the total chip size RAM Range Sets the start RAM address To Sets the end RAM address Flash Offset Sets the start address you want to erase or flash Timeout Sets the time
24. Assembler 2 Float Point and Warning 3 Compiler 4 Warning 5 Debug Optimization 6 Code Generation 7 Link Options You can edit the options in the Equivalent Command Line edit box directly and Project Settings will compare the content in it and the options above in the panel When you save options Project Settings will generate options according to the options in the panel and your own input in Equivalent Command Line Configuring a Project and Building Target Hitool for ARM User s Manual Chapter 4 67 Viewing amp Editing Source Code Viewing Source Code Hitool for ARM User s Manual The Source Window The Source Window combines a number of powerful options that make source level debugging quicker and more efficient One of the main features of the Source Window is its drag and drop capabilities Selected variables can also be dragged from the Source Window and dropped into Watch window directly ie gi aw pr arn Pre La 32 uhile 1 Far iter 1 iter ITER iter i count i Fur i B i lt SIZE ie Flags i TRUE For i i1 t SIZE die 1 if Funciii LF The Source Window allows you to view source code in both high and low levels In the high level line number source code can be viewed in Source Window Viewing amp Editing Source Code 68 Chapter 4 In the low level Assembly Language Mixed Source can be viewed interleaved with source code in Mi
25. B Hw W adri specifies the location in the memory where the fill operation is to begin adr2 is the location in the memory where fill is to end Length is the required prefix when specifying a length value length is an unsigned value 0x1 to 0x 100000000 specifying the memory size to be filed string is character string enclosed in quotation marks A string may not be more than 4 bytes in length Up to 8 datum are accepted and a total of 32 bytes may be entered Combined use of hex and string is permitted data is the data which to be written into memory B specifies fill the memory in Byte format Hw specifies fill the memory in Half Word format W specifies fill the memory in Word format To fill a memory range with a particular value input the start address the end address or length and the desired value or string in Byte Half Word and Word format It defaultly uses the current memory access mode which specified by the Memory Access Size command in Option menu Keyboard Examples Fill 400 500 0x90 B Write the value of 90 to memory 400 500 in byte format Hitool for ARM User s Manual Go HAIt Help Hitool for ARM User s Manual Chapter 12 177 Go Run From adr1 From adr1 Till adr2 Monitor timer Run Specifies free run During free run all breakpoint settings are ignored but target information is still recorded in the trace buffer From adr1 is the address where
26. Breakpoints Window choose Disable All item from the pop up menu The all the red dot symbols prefixing the breakpoints will turn into the grey dot symbols Enabling All the Software Breakpoints or Watchpoints In the Breakpoints Window choose Enable All item from the pop up menu All the grey dot symbols prefixing the breakpoints will turn into the red dot symbols Project Window Symbols Pane The Project Window Symbols Pane offers the following option for setting software breakpoint within the window Breakpoints can also be set by selecting a function in the Symbols Pane of the Project Window Right clicking will invoke the pop up menu and choose Set Clear Breakpoint item Breakpoints amp Watchpoints 112 Chapter 7 E prime inter sumsung B S primel c e MI i Set Clear Breakpoint p Go Till k Jump to c View Source 00000 iter Flags t prime2 c c prime3 c WE demo start s Symbols Stacks Window Breakpoints can also be set in the Stack Window when it is active e Select a function in the Stack Window and right click to invoke the pop up menu Call Stack Eol x Entry Point Func 00008094 prime1 c 158 prime2 c 0 Inspect Source prinsi e 1 Set Breakpoint Run Until HE EJ 6 OxElooos7FDO 00008094 00000001 X EET OmOBO0D000 00057FE0 EF20E488 00000000 amp iter 1 x00000001 J00057FFO 00008158 00008010 00058000 32
27. Comms Channel Viewer in the Output Window by checking or unchecking the Enable Comms Channel Viewer Option in the target Control tab if available NOTE Comms Channel Viewer is only available for Jeeni now Console view Hitool for ARM User s Manual Comms Channel viewer allows you to examine data passed to and passing from the debugger target through the Debug Communications Channel DCC and to send data of your own Comms Channel viewer consists of two areas They are Send area and Received area Each of them has different function Send area of this viewer is to send information down the channel To send information type information in the edit box then click on the Send button on the right If you want to input data from a file select the Read from file item from the pop up menu The information will be word aligned and stored into the buffer automatically The information will be sent in ASCII character code when requested by the target Receive area is to send counter displaying the number of bytes left in the buffer The information received is displayed in ASCII character code in Receive area To log the received information into a file select the Log to file item from the pop up menu The Console pane allows you to enter data from your keyboard to the program being debugged when it might normally receive data from some other device and to display on your screen output that might normally be sent elsewhere Yo
28. DE on Dn ER 5 DITEMI O0 1h AU ES 34 20 Harary OF LO Ce E 1 HOOCEPEO 18 zb LE ES id 3 Bag iE 30 B ES b u HOODEO F FF FF EA ic j cir ic 3 B ES HOODEIdd 10 3b 1B ES bi ad i TE D FF FF Ek d D nnnnEiid un nn 03 nn pp rmn Lt D4 EU 47 EZ HOODEL2Z0 04 DP 4D E2 19 liist 10 20 IB ES H D nDERJO 02 XD D3 ET OF Oo rw bb d 03 DE d HOOCE D CD L Ei D D Bros hum Di D 4D EZ L Hoobs 10 Db OB E 18 20 D3 3 d E nnnnEis OF 20 ag Ez n3 gg iemdeineHeg Dp dg nn EB NOOR IO AZ E 00 AD EF LUE FF FF Ek D Toda akin pz d AN E n f Then choose Toggle Watchpoint from the shortcut menu A watchpoint will be set at the memory address you currently point to Setting Watchpoint through Source Window For Angel series to set a watchpoint in source window you can do as following Breakpoints amp Watchpoints 114 Chapter 7 Breakpoints amp Watchpoints 1 Active source window 2 Point to a globale variable then right click 3 Choose Toggle Watchpoint item form the local menu Then a Bitmask type watchpoint will be set at the variable address Setting Watchpoint through Watchpoint dialog box For Angel series to set watchpoint through Watchpoint dialog box do as following 1 Choose Watchpoint command from the Debug menu 2 Fill in the address in the Address field 3 Fill the value in the corresponding Boud field 4 5 6 Choose the Watchpoint type from the
29. HW1 specifies to clear Watchpoint 1 This command is ineffective when emulation processor is running To add breakpoints refer to Breakpoint command To add watchpoints refer to Watchpoint command Keyboard Examples CLear ALI Clear all SW breakpoint and Watchpoint settings Hitool for ARM User s Manual COMpare Hitool for ARM User s Manual Chapter 12 173 COMpare adr1 adr2 Length length adr3 B Hw W adr1 specifies the starting address of Block 1 the first of the two memory ranges to be compared It is a hexadecimal address in the memory space of the emulation CPU adr2 specifying the end address of Block 1 It is a hexadecimal address in the memory space of the emulation CPU Length is the required prefix when specifying a length value length is a decimal value specifying the memory size of Block 1 0x1 0x100000000 adr3 is a hexadecimal address in the memory space if the emulation processor specifying the starting address of Block 2 addri addr p length addr Referring to the diagram above Block 1 is compared with Block 2 If the blocks match exactly Hitool will display No different data If the blocks do not precisely match Hitool will display the first pair of non matching addresses B specifies compare the memory in Byte format Hw specifies compare the memory in Half Word format W specifies compare the memory in Word format It defaultly uses the current
30. Hitool provides the function permitting you to record playback save all of the screen actions you performed during debugging When you select the Action Record menu item from the Tools Menu you invoke the Action Record toolbar button This window contains six command buttons as the following Miscellaneous Tools 166 Chapter 11 Action Record x Recording To record the screen actions you performed just click on Start button Hitool will record the actions in the file Playback If you have previously recorded screen actions you may click on Playback command button to replay the screen actions you performed Miscellaneous Tools Hitool for ARM User s Manual Shell Command Chapter 12 167 2 Command Reference HEmcry BOODD000 IEngth OKA Di 2 02 O4 05 D OF DS 9 DA OB OC OD OE D BO000000 REGI ster RO 4 B EH HN B i ElAULCOUD OxD 0000000 O ffooodoo OxD 0000000 xf d OC OOO O ORU Odd OxD 000000 Ox d OO OO Build Fd in Fies Connand In the Command Pane you can key in shell commands instead of window menu commands and see the results Hitool features an auto expansion function which allows you to input command names with a shorthand or abbreviated entry This shorthand entry is shown in upper case in each command name The command window status bar is also sensitive It displays the full syntax and parameters of the command of what you are entering Refer to Shell Commands
31. NOTE Assemble command only supports Hexadecimal and the operators are divided by space or comma Breakpoint Hitool for ARM User s Manual Keyboard Examples 1 Assemble 80000010Input assembly instruction from program address 80000010 2 Assemble Input assembly instruction from current PC 3 Create ww 80000060 Assemble ww 4 Assemble prime 1 32 Input assembly instruction from address of line 32 in prime source file BReakpoint adr adr specifies the memory location of hardware execution breakpoint It may be a symbol name line number or an unsigned value Command Reference 172 Chapter 12 BYte CLear Command Reference If no parameters are specified all the breakpoints will display To delete breakpoints refer to Clear command Keyboard Examples BReakpoint 80000060 Set breakpoint at address 80000060 in the memory BYte adr datum1 datum32 adr Specifies the location where the Memory modify operation is to begin It is a hexadecimal address representing a hex address in the memory space of the emulation CPU It may be a symbol name line number or an unsigned value Datuml1 datum32 is a hexadecimal value up to 1 bytes 0 FFH Keyboard Examples BYte 400 1 23 Write 1 2 3 data to memory 400 to 402 CLear All adr HWO HW1 ALI specifies to clear all execution breakpoints and Watchpoints adr specifies to clear a particular breakpoint HWO0 specifies to clear Watchpoint 0
32. Project Do one of the following to build project 1 Click on Build button on Build toolbar 2 Click on Build item on Project menu 3 Click on Rebuild All item on Project menu to rebuild the project The result is displayed in the following Build pane Configuring a Project and Building Target Hitool for ARM User s Manual Chapter 3 43 gduarr Primed c arm elf got c I 7F armconpiler cempiler pc cyguin arm elf inc goc Llibfarm elf 2 97 include mlittle endiam A endian li g uark 2 x asxemhisr with cpp Wa gstabs Wa mall Wa E arn elF ld Ttext ANAN Tdata 1a0 0 Thss INANA EL e ctart n ra exanples gnu prime arm T 1 1d o 1 61f Primei o Prime so ypc cyguin arn elrF lib libe a Fi arncompiler compiler pc cyge Build Find Ta Files Comma Rezog Comms Channel Corercard Output window Build pane To stop building simply click on Build button on Build Toolbar The lines shown in red will provide detailed information if errors exist To locate to the corresponding source quickly simply double click on the line You can debug the source file directly without exit Hitool NOTE If you build an opened project please open the Project Settings dialog box to ensure the options correct especially to the Output Directory The difference between build and rebuild all is that when you build a project compiler will compare the source files with the object file Only when the source files are
33. Stack Window Double click on Thread Information dialog will pop up as the following which shows detailed information about an individual thread Hitool for ARM User s Manual ThreadX Window 144 Chapter 10 ThreadX Window Thresd Marne eas E Slack Lise ea Pri PT h Tina Slc thal Eriin Stata Fieady Thread Information dialog Time Slice The timer ticks remaining and the timer ticks given to the thread There are two numbers separated by a forward slash the first number indicates the remaining timer ticks in this slice and the second number indicates how many timer ticks the thread will receive when it is subsequently scheduled after it exhausts its current time slice Suspended On The component type on which this thread is suspended This field shows one of the following values when a thread is suspended Queue Semaphore Event Flags Group Block Pool Byte Pool Sleep or Suspend Call Name The name of the component on which this thread is suspended as given when that component was created Name Button Click on to display a view of the component on which this thread is suspended Entry Point The name of the function called upon thread startup If no debugging information is available for that location then this field may be displayed as an offset from a known label or an address in hexadecimal format Run Count A count of how many times the thread has been scheduled When this field is in
34. Type list box Check the data type option Click on Set button to set the watchpoint and OK button to close the dialog box Thus Watchpoint has been set in Watchpoint dialog box as illustrated below Tyr E pncnanea Bou FFFFFFFC ET mask dela hyper f Bbi mad FS pbt wies D 32bkmesk W Ibi wies pua Eee Loue 76 bit reac fe 16 bit wies o Dew Cancel W aichean a FFFFFFFL BITIASK bbe Hu FFFFFFFL BITMASE bheii H Watchpoint Setup with Watchpoint dialog box Hitool for ARM User s Manual Hitool for ARM User s Manual Chapter 7 ADS EO Watchpoint dialog box for Angel series With the watchpoint dialog box open you can view and set watchpoints The dialog box also allows you to view the address option and status of the all watchpoints you set Opening the Watchpoint dialog box You can open the Watchpoint dialog box by doing the following Clicking on the Watchpoint menu item under the Debug Menu Deleting All Watchpoints In the Watchpoint dialog box click on Clear All button on the dialog box all the watchpoints you set will be cleared and restore the default settings Disabling Watchpoint In the Watchpoint dialog box highlight the watchpoint then click on Disable button the plus symbol besides the watchpoint will turn into the minus symbol Enabling Watchpoint In the Watchpoint dialog box highlight the watchpoint then click on Enable button the minus symbol
35. and linked to form your application Powerful and Easy Data Watching Undoubtedly one of the primary purposes of a source level debugger is to evaluate and monitor high level variables at various points in your application program Hitool makes it easy for you to accomplish this task using the Hitool GUI dramatically improved in the form of a new high powered outline based Watch Window Further Hitool supports both simple and complex data type such as arrays and class data Hitool for ARM User s Manual Chapter 1 5 The Watch Window Continuous Data Monitoring The Watch Window provides an outline format for watching data If there is a variable that you want to continuously monitor simply add the variable into the Watch Window multiple Watch tabs The Watch Window consists of four separate tabs The tabs enable you to evaluate local variables on the current Call Stack and global variables memory content and registers value Every time the target stops the Watch Window is updated with the data s most current value waich iter 1 x c noD U 5 SriRZ a nagnocunon i 7375496 x 070SABS a DO0DGU44 DOGUBD4E AB amp l 00 OO SO C3 DO OO 020170008 flags 0 Oe005 flage 1 a p cosmos flags 2 Geis flagm 3 O Oxf Plage 4 O ioxDO vwu WIEXWELWI Ae a o Tee l Right click functionality allows you to click anywhere in the Watch Window and a pop up menu appears enabling you to
36. besides the watchpoint will turn into the plus symbol Setting Watchpoints for Wiggler series Source Window Click on any line number from within the Source Window to invoke the pop up menu as shown below S26 int i a7 prime k 29 count 3n iter 74 while i 33 Fur iter 1 iter lt TER iter 1 a toiak I mi 3 For i OF i t SIZE de Er Flags i TRUE EET F r i Of i de SIZE i 1 x if Func jijl 4 Ala prime Funri il ML For K i prime k lt SIZE k prime 4 k Breakpoints amp Watchpoints 116 Chapter 7 Options for setting watchpoints include To set a watchpoint you can also simply right click on the left of any source in the Source Window or low level address in the Mixed Source Window and Disassembly Window Point the mouse to the left of a source line Hitool displays a eh watchpoint bull s eye cursor Then click on the source line to set a watchpoint A watchpoint set symbol yellow dot appears to the left Bull s Eye margin of the source line Watchpoint Symbol Watchpoint dialog box For Wiggler series you can set watchpoint in watchpoint dialog box Do as follows 1 Choose Watchpoint command from the Debug menu 2 Check Activate check box beside WatchpointO to set Watchpoint0 3 Hill the value in the corresponding address 0 or data 0 field 4 Make the further read write size Opc options by select the item from the combo box in Opti
37. detailed information list of Event Flags Suspended Threads The number of threads currently suspended waiting for event flags In the bottom a list of threads currently suspended waiting for the event flags Each column is described in more detail below Double click on any listed thread to display a Thread Information dialog Name The name of the suspended thread by event flags Flags Selected The event flags that will satisfy the waiting thread s conditions The first part shows in hexadecimal format the flags that the thread requested The second part contains one or two characters that show whether the thread is waiting for all or any of the event flags and whether the event flags will be cleared once the thread s requested event flags are satisfied Stack Use The amount of stack currently in use by the thread ThreadX Window 150 Chapter 10 ThreadX Window Timer Pane The Timer Pane shows a list of all application timers in the system arranged in the order they were created Tiaar iow The Timer Pane has two columns Name Timer Internal Each of these is described below Name The name of the timer Timer Internal The combination of some members Double click on to invoke the following Timer Information Dialog and show detailed information about an individual timer imer LADS al oh Timer Bane finer example Remaining Ticks pee Reimitialime Ticks ut Timeout Paras
38. emulation is to begin Till adr2 Specifies a temporary breakpoint in the emulation This breakpoint adr2 exists only in this emulation session Monitor Specifies to refresh the content of the opened window after a defined period like source Register window etc timer Is the value of refresh window timer unit It is limited from 1 to ff When you execute the Go command and there is no breakpoint in this program the emulation CPU will start at the current program counter and go without stop And if you want to stop the CPU you can use the ESC key Keyboard Examples Go Execute emulation from current address HAlt This command may be used during free run emulation to stop execution at any time Help command command is the shell command you want to view its keyword and syntax If no parameter is entered an alphabetical listing of all available shell commands will display Pressing F1 will also provide the list Command Reference 178 Chapter 12 Include Jump LOad Command Reference Keyboard Examples Help Include filename filename is the command file to be executed It is a text file you can create or edit with a DOS based editor You may also use the Log command to create a command file Keyboard Examples Create the include file TEST1 INC in the directory c temp with any edit tools as follows Memory 400 430 Fill 400 430 0x90 0x78 Include TESTI Execute command file filena
39. floating point instructions Don t allow any floating point instructions Warning No warning Ignored Suppress warning of signed overflow Don t warn about signed overflow Warn differences altered for long displacements Warn when differences altered for long displacements 4 Click on Apply button to save your changes temporarily Configuring Compiler Settings This section describes the compiler settings group of panels These panels provide configuration options that are specific to the GNU compiler Use this panel to configure options for the GNU compiler including e Compiler e Warning Debug Optimization Preprocessor e Preprocessor Code Generation Configuring the Compiler Use the Project Settings to configure options for the compiler 1 Display the Project Settings dialog box for the build target you want to configure 2 Click on Compiler in the Project Settings dialog panel list to display the configuration panel 3 Choose and set the options as your requirement in the Compiler panel of Project Settings dialog box as follows Configuring a Project and Building Target Hitool for ARM User s Manual Hitool for ARM User s Manual Chapter 3 51 General E Assembler Compiler Assembler ARM Thumb Procedure Call Standard Options Float Point and Warning I Stck Rane compliant with APCS Compiler Compiler Warning Debug Optimisation Preprocessor Code Generation Library and
40. in on line help for detailed description of each command You can enter shell commands in the Command pane of Output window instead of window menu commands Hitool for ARM User s Manual Command Reference 168 Chapter 12 Syntax Notational Conventions COMMANDNAME Command names and aliases may be entered in commandname upper or lowercase CommandName Brackets indicate that the item can be repeated zero option or 1 time Brackets are used to define syntax and should not be entered unless otherwise noted A vertical line separates options one of which can option 1loption 2 be selected tion 1loption 2 One of the options must be selected Do not enter toption_ l option 2 the braces T x String constants must be surrounded by double string_constant quotation marks A hexadecimal data or symbol representing an address address Commands and System Variables Grouped by Function mw o eS Assembly Disassembly E OOS re jose 35 Ce Command Reference Hitool for ARM User s Manual Chapter 12 169 Here we list all the shell commands Hitool supports in details in alphabetical order Hitool for ARM User s Manual Command Reference 170 Chapter 12 variable ACcess ALias Command Reference variable value value Defines an integer value or C expression to a variable Keyboard Examples a 1 Define variable a as the integer value 1 ACcess B Hw W
41. into a file named Rdi log This option is based on the device level If Log ADP packets by byte option is checked the device driver level data is logged gt prefix is to write data prefix is to read data If Log RDI Level operations option is checked RDI level information is logged such as entered RDI info waiting for message and so on And then RDILog pane will appear in Output Window In addition Target Information is only available for Angel and Jeeni protocol Top Memory indicating the max memory address that can be used by Semihosting Make sure the Top Memory is available for the target board which indicates the RAM RDILog pane RDILog Pane displays the low level communication messages between Hitool for ARM and the target processor DEBUG ADP_ICEB_Exists gt 1C 88 88 gt 18 gt 61 gt SF gt SE gt 01 gt 1B gt 51 gt 00 gt 01 8 88 gt FF gt FF gt FF gt FF gt FF gt FF gt FF gt FF 88 gt 00 gt 01 8 gt 1B gt 5B gt 1D wait_for_debug message waiting for 860616611 1C 88 88 18 81 5F 5F 81 88 lt 66 81 88 8 KFF lt FF FF FF lt FF lt FF FF FF 1B 451 88 81 8 M E lt AA 1D wait for debug message got packet RDI interface does not implement stepping function So during stepping an instruction the debugger will analyze the code first then insert a breakpoint go halt then remove the breakpoint Whether Hitool for ARM User s
42. is the right start up file In addition there is a header file arm h at the same directory which demo start s needs during compiling The following is the detailed list of example arm h ifndet ARMH define ARMH define IRQ 0 define FIQ 1 define Mode_USR 0x10 define Mode FIQ 0x11 define Mode IRQ 0x12 define Mode SVC 0x13 define Mode ABT 0x17 define Mode UNDEF 0x1B define Mode_SYS 0x1F define Bit 0x80 define F Bit 0x40 Configuring a Project and Building Target Hitool for ARM User s Manual Hitool for ARM User s Manual Chapter 3 39 define SVC_Stack 0x10000 define ABT_Stack 0x1000 define UNDEF_Stack 0x1000 define IRQ_Stack 0x5000 define FIQ_Stack 0x5000 define USR_Stack 0x1000 define SYS Stack 0x10000 endif Next we will give you the detailed list of example demo_start s as the following include arm h text global start _ start BL Init_Stack B main Init Stack MOV R7 LR LDR R1 stackBottom MOV RO Mode_ IRQ I Bit F_Bit No interrupts MSR cpsr RO MOV SP R1 SUB R1 R1 IRQ_Stack MOV RO Mode_FIQ I Bit F_Bit No interrupts MSR cpsr RO MOV SP R1 SUB R1 R1 4FIQ Stack MOV RO Z Mode ABT I Bit F Bit No interrupts MSR cpsr RO Configuring a Project and Building Target 40 Chapter 3 MOV SP R1 SUB R1 R1 ABT Stack MOV RO Mode_UNDEF I Bit F Bit No interrupts MSR cpsr RO MOV SP R1 SUB R1 R1 UNDEF Stack
43. m E Mail Modek Ssmi g AF Taiki SM A Linate Dangi Luck Click OK a register file RiegF rm Tet will be genesated in the work direccion You can ceed This Ale to Hitanl by Emall or Fix Onlke after rr gisleralinn can you wer the esther unkimilrdiy and get full Vechaical 3uppart Solre W no hardware dongle ia anached you cam only ese PCacked fcemce If you have installed Windows MAPI it will invoke default mail program which enable you to send mail to Hitool for the license Be sure that your personal information is right Hitool will respond your mail with the exact license file After you get the license file you should save it to the installation directory and then you can use Hitool without limitation Hitool accepts two type of license Node Lock and PC Lock If you select Node Lock you need an USB dongle Please refer to the above section About Dongle for details If you select PC Lock the license is only available for the PC who has registered NOTE If you are a NT user be sure to login NT as administrator Otherwise you can not register successfully Checking Host Configuration Configuring Communications Communication Parameters Hitool for ARM User s Manual Getting Started 18 Chapter 2 Before you configure communications it is important to be aware of the parameters to stay within while working with Hitool These parameters are as the following 1 Parallel LPT1
44. manes 1 Hitool The Next Generation of Point and Click Support Tools sss 1 Software Debug ters ae Steps ate eee ere wee ios 1 Setting a New Standard for Intuitive eee eee ceececeeceeeeseesecseeseeesecseseetsesseseeeaees 2 Customizable Toolbars nis 4 e en Doe eh eds 2 Intuitive Debugging Windows eese nne 3 Easy Project Configurations oni e ee t oe ete o toe teed ttes 3 AIL New Graphical Symbols 2 2 2 bem D ea P re a 3 Fast and Easy Source Browsing Es iissa nensis eiia 4 Powerful and Easy Data Watching eese nennen nennen 4 Quick and Easy Display of Calls eese 5 Flexible Memory Display sitter rere P regne 6 Easy Viewing of Registers irani anaa AAN EAE AEE EEN neret enen eterne ens 7 Fast Robust Target Control ener Pe ertt redire ns 9 Project Wide Grep ete e n ea tte eit toe bara aes 10 Product Waranty entrent RUE mta tpe 10 Related Publications rem eet e edet T A RED ENTRE 10 R eiSIerinp cisterna 10 2 Getting Started 11 System Requirements eret tede idee tie le por dre e eoe n dade ot 11 Windows Requirements eeseesseeseeeeeeeeeeneeenee nennen nente entente nennen 11 Installing Hitool for ARM essen AEE OEA enne ntes A enne 11 Hitool for Windows Ox NT 5 ier ee n retener tete needle 11 About NT driver eite ede en dete ie debere debe eitis 15 About Dongle e oue Ree Re RI e tu RE e Meet
45. memory access mode which specified by the Memory Access Size command in Option menu Keyboard Examples Command Reference 174 Chapter 12 Copy CReate Command Reference COMpare 10 1F 20 Copy adr1 adr2 Length length adr3 B Hw W adri adr2 Length length adr3 B Hw W specifies the first location in the memory range to be copied is a hexadecimal address specifying the last location in the memory to be copied is the required prefix when specifying a length value is a decimal value specifying the memory size to be copied This value is from 0x1 to 0x 100000000 is the starting address of the memory range where the specified source memory range is to be written specifies copy the memory in Byte format specifies copy the memory in Half Word format specifies copy the memory in Word format The contents of the memory ranges beginning at adr1 are copied byte by byte to the destination range beginning at adr3 It defaultly uses the current memory access mode which specified by the Memory Access Size command in Option menu Keyboard Examples Copy 0 1F 20 Copy memory 0 through 1F to 20 through 2F CReate symbol adr symbol adr is the symbol to be created with any except of the alphanumeric characters is used to prefix the created symbol is the symbol address Hitool for ARM User s Manual DElete Disassemble Hitool for ARM User
46. menu Double click on the window s control handle Viewing amp Editing Source Code Hitool for ARM User s Manual Chapter 5 77 Controlling Execution Controlling Execution Hitool offers a number of options for controlling execution in both high and low level modes giving you greater control over your source code To make controlling execution even quicker Hitool incorporates a number of shortcut keys The keys are listed below and can be found on the Debug menu Debug Toolbar The debug toolbar allows you to control execution quickly and efficiently amp silmp amp lkcoiovedguoRmoipsusSSHO Debug Menu The debug menu gives ability to control execution quickly and efficiently Hitool for ARM User s Manual Controlling Execution 78 Chapter 5 Gn FS Free Run ALT F5 Shep Inte Fe Shep Creer Flo Shep Out Step Into Gonbmucushy Shep Creer Contin Gita Curior FT Shoe Execution Contest Breakpeaint CheFS Walchpoint hF Rezt Pmbart Visit AHE ing wm ian Ta Key Function F2 Halt F5 Go F7 Go to Cursor F8 Step Into F9 Set SW Breakpoint at the line of cursor F10 Step Over Alt F5 Free Run The following lists the description of the functions controlling execution SOURCE LINES High Level mode INSTRUCTION Low Level mode D Reset Resets the target and Set emulator Resets the target and Set P
47. more up to the minute will the compiler build to generate a latest object file While during rebuild all compiler deletes the existing object file first and then generates it again making no comparison If building succeeds a target file will be generated in the output directory specified in the Project Settings dialog The whole process of creating a project succeeded You can begin debugging Now Overview of the Project Settings Dialog Box The following section describes how to configure build target options including Compiler Assembler and Linker options for a specific build target in a project Build target options specify how the Hitool IDE should process a build target in a project Hitool for ARM User s Manual Configuring a Project and Building Target 44 Chapter 3 Using the Project Settings Dialog Box Configuring General Target Options Configuring Assembler Settings Configuring Compiler Settings e Configuring Library and Linker Settings Using the Equivalent Command Line text box NOTE The settings you define in these panels apply to the currently selected build target only You must configure each build target in your project separately Hitool doesn t provide GNU compiler For use of compiler you should install GNU compiler in addition Using the Project Settings dialog box This section gives basic information on using the Project Settings dialog box to configure Target options When you cha
48. mpi j o Ced AL New Project dialog box Set Project Type Choose Project Type then Language Hitool provides five types of Project Type ARM Executable ARM Library Thumb Executable Thumb Library and ARM Thumb Interwork two types of Language C and C Click on Next button in the dialog box to continue Select Project Stationery In the following pop up CPU page you will see a tree listing supported CPU If you select Empty Project AppWizard will just generate a single project file mpj Otherwise If you select a leaf node of the tree App Wizard will automatically generate two files in the current directory main c and start_up s After finish the setting the three files will be added into the project automatically Furthermore there is a option Create Folder for your check If you check it the project will not be generated simply in the path you specified there will be a new folder named after your project to store the project and relative files Configuring a Project and Building Target Hitool for ARM User s Manual Hitool for ARM User s Manual Chapter 3 35 Select project stationery ARM TDMI s3c3400 ARM TDMI s3c341 Ox ARM TDMI S3c44aDa ARM TDMI S3c44b0x ARM TDMI S3c4510x ARM TDMI S3c4510b ARMTTDMI S36452fla El Create Folder lt Back Cancel Help CPU Page Click on Finish button Choose files to add After the AppWizard dialog close a file manager dialog po
49. must be word aligned User ld file If you hope your program a specific layout you can supply your own link script file The file is written by link command language There are three controls for this option a check box an edit box and a button If you set the check box the edit box and the button are enabled You can enter the ld file in the edit box directly or select it by clicking on the button That means you don t want to use the options about the linker in Project Setting dialog box NOTE If you check Use ld file option you can enter the ld file Hitool created automatically in the current directory Hitool will build the project together with mak file it created in the same directory Configuring a Project and Building Target Hitool for ARM User s Manual Chapter 3 63 Here we give you a sample ld file ENTRY _ start SEARCH DIR DYNAMIC 0 PROVIDE hardware init hook z 0 PROVIDE software init hook 0 SECTIONS i text _ftext init eprol text mips16 fn mips16 call PROVIDE runtime reloc start rel sdata PROVIDE runtime reloc stop fini glue 7t glue 7 rodata rodata etext _ etext Hitool for ARM User s Manual Configuring a Project and Building Target 64 Chapter 3 ALIGN 16 data _fdata data CONSTRUCTORS ALIGN 16 ES rd
50. of all blocks in a memory block pool Block Pool Content Used 0xE000DO Available d OxE00104 Available 0xE00138 Available _ b Block Pool Content dialog Double click on any listed memory block to view the contents of memory at that location In the button is a list of memory blocks in this block pool Each column is described in more detail below Double clicking on any listed memory block will view the contents of memory at that location Block Pool Name The name of the memory block pool Address The address in memory where the block resides The four bytes immediately previous to this address contain a pointer value If that pointer points to the memory block pool control block the block is in use Otherwise it is available Status Either In Use or Available depending on the value of the pointer preceding the memory block as described in Address above Byte Pool Pane The Byte Pool Pane shows a list of all memory byte pools in the system arranged in the order they were created ThreadX Window 154 Chapter 10 ThreadX Window Bleck Food aspi The Byte Pool Pane has four columns Name Pool Size and Suspended Threads Each of these is described below Name The name of the memory byte pool Pool Size The size of memory pool Suspended Threads The number of threads currently suspended on an attempt to allocate memory from the pool with a call or 0 if no threads are suspended D
51. perform a variety of operations If you wish to see the value of a variable without permanently stopping the target just highlight the variable in the Source Window choose Inspect from the pop up menu This will add the variable into the Inspect Window which is always on the top Quick and Easy Display of Calls The Stack Window Ox00000000 prime O Ux DUDDUCD Insop3zpg O2003FDC D2onucAS 020001 E unt vd ngaggboeo 02Z203FED pucpucpu puopuonu noonnn irent 1 ibx B nDOUI 2OnirFu pncnaapu nzon4on 020001 i D2004000 D GD ODU nuoDQODO DlODOD nannanin nnnna nnn nnannannn nnnnmnn b a tme E Stack Window Hitool for ARM User s Manual Introduction 6 Chapter 1 Introduction The Call Stack Window provides a quick and easy display of all of the functions active on the calling chain and the memory content corresponding to the function stack pointer of highlighted function The Call Stack Window can also be used with the Watch Window s tab to view local variables of a function on the calling chain Flexible Memory Display The Memory Window The Memory Window provides a powerful format to display target memory in Hex Decimal ASCII and binary formats you select the formats depending on your needs Continuously scrollable the window allows you to view compare fill test and copy blocks of memory starting at any address you choose ehe rwy ATDROCHORTOHHT DocnoncD o cncncO DODOCDOD
52. s Manual Chapter PER 175 Any symbol created by this command is temporary and effective only during the current session It will not be written back to the symbol file but may be saved as a disk file using the SSave command To delete an existing symbol use Delete command Keyboard Examples CReate AAA 5 DElete symbol variable All symbol specifies the user defined symbol to be deleted must prefix the symbol to be deleted variable specifies the user defined variable to be deleted All specifies all the user defined symbols and variables to be deleted This command is to delete an existing user defined symbol or variable Only symbols created by Create command or variables created by variable command can be deleted with this command Keyboard Examples DElete AAA Disassemble adr1 adr2 Length length adr1 specifies the first location in the memory range to be disassembled adr2 is a hexadecimal address specifying the last location in the memory to be disassembled Length is the required prefix when specifying a length value length is a hexadecimal value specifying the memory size to be disassembled If no parameter is provided disassembly will execute beginning at the current PC Command Reference 176 Chapter 12 Fill Command Reference Keyboard Examples Disassemble 400 Disassemble program from address 400 to 40F Fill adr1 adr2 Length length string data
53. start address of the perip registers If the user changes the SYSCFG content all the perip registers will be moved Hitool maybe see this change but in some cases for example the user application code change it Hitool will ask the user set the perip registers start address manually Selecting Set New Base a Set Peripheral Base Address dialog box will pop up in which you can enter a new address NOTE Expanded format allows you to view the individual bit fields of the register If a register contains only one field then it is not expandable Expanded Registers Display The columns in the Peripheral window are from left to right A or symbol The relative address of the register or register field bit Register value or the register field value Register mnemonic or field mnemonic Register description or field description Displaying Data Memories Registers Hitool for ARM User s Manual Chapter 6 93 Pi phe as J0 ERIT Teo THTERRUPT Hitool for ARM User s Manual SSS 6 S882 ee wma ew j Peripheral Window in expanded format Watch Window The most powerful way of displaying and controlling data memories and registers is through the Watch Window The Watch Window allows you to continuously monitor or inspect local and global variables memories and registers in your application Every time the target stops the Watch Window is updated with the variable s memory s and register s mos
54. the folder you created or the files you added just press Delete key Working with Symbols The Project Window Files pane displays all the symbols information in source files You can make full use of the functions with just a few mouse clicks Hitool for ARM User s Manual PIECE 121 EL demo cpp Hi CEase DumpFunctong signed int d n Chace aaa void CAttach catach d CAttach CAttachieoaf E CAtach SeklefoAttachi signed int Snad inb nbe nivedding CBases PeriodT ine signed int d PAR a m n amp elurn m nTime Chee ed Chases Setinfotvoid Bd Fes lig Class Symbols pane You can expand the tree to view symbol information further After you expand information thoroughly you can see all the information of current active project such as modules functions and variables listed in the pane Point to an item in Symbols Pane and stop for several seconds all the detailed information such as Address Attribute Type and Size of different items will be displayed in a box You can debug through Symbols Pane conveniently Add or Remove Symbol Table Hitool supports multi symbol table to support Linux programs After loading the main project you can add and remove other symbol tables NOTE You can not remove the symbol table of the main project Hitool for ARM User s Manual To do this simply right click on anywhere in Symbols Pane choose Add Symbol Table from the shortcut
55. the functions defined in macro file Hitool enables you to write macro using the objects introduced in Hitool On line help with VBScript language frame with any edit tools such as Notepad For detailed information about writing macro with VBScript please refer to Advanced Topic in Hitool On line help NOTE Before you end the macro be sure to use a pair of single quotes without any characters or space between them or behind them To edit macro do the following Choose Edit Macro command from Tools menu or click on Edit button in Macro Files of Options dialog box then Macro dialog box will popup In the dialog box you can Run or Edit Macro Customizable Toolbars Hitool for ARM User s Manual Hitool provides a customizable toolbar for executing common actions using only a mouse Tasks such as stepping issuing a GO or Reset command can be accomplished with a just a simple click of the mouse With the Hitool toolbar you can also Move any one of the toolbars to another location on the screen e Hide a toolbar or entire group of toolbars Modify an existing toolbar to better suit the needs of your project e Add or rename a custom toolbar Use Hitool s predefined set of commands to create toolbar Moving Toolbars This function allows the user to drag each of the toolbars The toolbars can then be docked anywhere on the screen including the sides and bottom Miscellaneous Tools 164 Chapter 11
56. your own project Hitool for ARM User s Manual In order to debug your own project or modify a saved project you must install the Hitool release software To install the Hitool release software follow the steps listed in the Installing Hitool for ARM section at the beginning of this chapter Getting Started 22 Chapter 2 Hitool IDE Getting Started Once you have installed the software you must configure communications Follow the steps listed in the Configuring Communications section which appears earlier in this chapter Once you have completed these two steps there are several additional steps you must complete before you can begin debugging The following sections discuss the download formats Before you can download file you will need to know the compatible download formats Downloadable Formats Hitool debuggers accept the following download formats 1 Motorola S Records s 2 Elf Files elf axf out S elf axf and out are the load extension specified by the project settings Output Name One of the first steps in the debugging process is to load the executable file to be debugged into the memory You can load the executable file created by yourself or provided by Hitool whose default path is Hitool ARM examples Hitool is an Integrated Development Environment IDE for embedded system developers It provides strong features for debugging editing and project management In addition Hit
57. 000000 l ddGSS DboDDODD na d n d Node pbobDOODO O U Easy Viewing of Registers The Register Window The Register Window allows easy viewing and modification of target registers ICEBreaker pane will be added while using Wiggler Raven PowerProbe and PowerProbe Protocol and registers in this pane are read olny With the Vector Catch register in the ICEBreaker pane the debugger can set the corresponding bit to catch the vector instead of settings a software breakpoint in the vector address Using Angel or Jeeni Protocol some Coprocessor register pane will be added Debugger will auto detect how many Co processors is available after connecting successfully For example for Samsung KS32C50100 and Atmel AT91 CPO ICEBreaker in fact is available for Jeeni protocol but no coprocessor is available for Angel protocol An outline control updates only what you want updated For your convenience we have also included drag and drop capabilities in the Watch Windows Changing set values is easy just double click on the register buttons then fill in the new value directly Register Window displays or changes the target processor general register value Introduction 8 Chapter 1 Introduction Registers i OF XI Register Window The User Defined Register Window The User Defined Register Window allows easy viewing and modification of user defined registers The User Defined Register Window consists o
58. 00000D3 Indirect Through Register Ox00008170 PS nzCWFLSVC Float view As foz00000000 Sese ox00000010 ms ox0o000000 SPSB nzcvift User 4 Current User FIQ Undef ICEBreaker Peripheral Window With the Peripheral Window open you can click on to select a register Under the register name value or other space you also have the option of selecting the register and right clicking on to invoke the pop up menu Select the Add Watch Window item to place the register in the Watch Window BE Perqilveral OwO3FFED Memory Window With the Memory window open you have the option of right clicking to invoke this pop up menu Displaying Data Memories Registers 98 Chapter 6 Displaying Data Memories Registers nDDER20 OA NOR OReIO 1c Jopera 0 nDDEPSO0 i B nppsad 10 nonnEs 0 10 DOOR 01 bers LF nnnnEsAd 1n JOTTEI 10 nbDESCO 18 DODDESEO L8 n ESEU F2 kridd L nnnEELg an nDDES20 4 nngs3d oF nnnEs4g OD NO00RL50 10 n Es amp g OF DDE2 7H Az ob bb 3D np 3p 3b an 30 bb np zb 53b 1D zh 3B nn nb 5B ch DE sb FF aws ME eler pa un a coc mac Select the Add Watch item to invoke the following Add memory to Watch dialog box Add memory bo watch In the dialog box the start address is 8092 then fill in the length which is an integer less than sixteen Click on OK button to clo
59. 41106D 3F08407F 00058010 9500857B 9F410B13Z Q 00058020 20F7040 22DF8762 w I v 4 gt is ni Addr 00057FE8 Type Local int A When the menu appears select the Set Breakpoint item Breakpoints amp Watchpoints Hitool for ARM User s Manual Chapter 7 113 Setting Watchpoints Setting Watchpoints for Angel series Memory Window NOTE For angel series use the pointed address 4 aligned to set a bitmask type watchpoint whose bound is OxFFFFFFFC monitoring 8 16 and 32 bit writes For wiggler series use the pointed address to set a data access watchpoint with data mask is OxFFFFFFFF data is not cared Hitool for ARM User s Manual Point to the content from within the Memory Window then right click on to invoke the pop up menu as shown below bof Boe AB C D E F X AGCH HOOCRMO OD CB AU Ei D D a Cine 14 Ew i EZ L h bsi Oo Db ao Ei Br jg On 5 J iB Ei bod nnnnbs2 OA Db 53 E3 DS 0 amen nb 30 an E3 5 NOOR IC 20 JE EB 18 40 10 00 53 ERO NOOR Q0 DD dO DA D QU Shorlnemoda Bc 20 9F ES HOOORPSO 10 sb 1B ES DX i Di 30 63 EP 0 OOOO 10 3b dB ES F3 pp Y Ure ib J B E nnnnps 0 1n 3p 1B ES 12 on Word zb 30 1B EEO 5 DINED 01 20 33 EZ 29 J0 Come 10 d IB ES HOODEO LF DD dU EB D 30 17 00 00 D 5 nDDEPAU i Db 1E ES zz go dWeih ii 30 OB ES x idib i 10 fb 1B ES 14 J ib J ob Ki b nnnnpscu 18 3p 1E ER iz np Led Memere
60. Another Path to Search Clicking on the button will invoke a dialog box from which you may choose the directory to enter the search path order If the path you have entered does not exist a prompt will ask you if you wish to create this path Once all the paths are established Hitool will look to the path list when attempting to locate modules and search in the order that the paths are entered searching top to bottom Clear Path Information Clears source path information Editing Source Code Hitool for ARM User s Manual Hitool IDE permits you to edit the source code freely You can insert delete the string from the active source window save the changes you have made select copy cut and paste the strings in the active source window Here describes how to undo changes and search and replace text Undoing changes The Hitool editor provides several methods to undo mistakes as you edit a file The available methods are e Undoing the last edit e Undoing multiple edits Undoing the last edit The Undo command reverses the effect of your last action To do this choose the Undo Command on the Edit menu or from the shortcut menu of Source window For example you can select Undo to remove the text you just typed Viewing amp Editing Source Code 74 Chapter 4 Undoing multiple edits You can undo multiple edits when selecting Undo command multiple times To do this select Undo from the Edit menu or from the
61. C to the specified address directly if emulator PC to the start the symbol has been loaded address directly if the symbol has been loaded EI Restart Similar to Reset but it will go from Similar to Reset but it will go the start address to the C main entry if from the start address to the C it is specified You can specify the main entry if it is specified related option in Debug tab of You can specify the related Options dialog box option in Debug tab of Options dialog box Go Runs the target code Runs the target code Free Run Runs the target code ignoring the Runs the target code ignoring Controlling Execution Hitool for ARM User s Manual Chapter 5 79 software breakpoint the software breakpoint C5 Halt Stops the target code Stops the target code H Step Into Steps one source line If the line Step one instruction contains a function call the debugger steps into the function call 0 Step Over Steps on source line If the line Step one instruction If the contains a function call the debugger instruction is a BL the uses a temporary breakpoint to step debugger uses a temporary over that function going to the next breakpoint to step over that logical source line in the current instruction moving to the next function instruction P Step Out Single steps out of the current Single steps out of the current Only function to a newly called function subroutine t
62. Chapter 2 15 In the remaining installation dialog boxes click on Next button to choose default components The setup program will copy and decompress the files to the installation directory After installation is completed Hitool for ARM Program Group will appear Within this folder you will find the Hitool application fF Hitool for ARM L OL x File Edit View Help n e Manual Online Help Readme Register Now Software Simulation Startup Configuration 1 object s selected 344 bytes 7 Hitool for ARM Program Group About NT driver MAC MOT sys is used as the parallel driver under NT or win2K The installation disks will install and start the driver automatically But if user log on as non administrator the driver will not be installed for no privilege If Hitool for ARM reports the message of no driver do the following 1 Copy mac mot sys into lt NT gt system32 drivers 2 Run dvrload mac mot install start in command line About Dongle Hitool provides an USB dongle You can launch Hitool for ARM on the PC with the dongle which has registered For more details about registration please refer to the following Registering section Getting Started 16 Chapter 2 Registering Getting Started Further more You can launch Hitool for ARM on other PC if it is with the dongle In this case you can register with the same serial number on the PC but need not to send a mail to Hitool Simply copy
63. Close button to close the dialog box Or p To simplify this example compress the register display and highlight the IIC group you want to edit Then double click on IICCON to bring out the dialog box 2 Click on Next gt gt button Note that the highlight in the Peripheral window moves to the next IICBUF group the corresponding register value is displayed in the dialog box Click on Prev button to return to the previous group Memory Window Type over the memory contents you can directly modify the memory contents Displaying Data Memories Registers Hitool for ARM User s Manual Chapter 7 103 Breakpoints amp Watchpoints Breakpoints amp Watchpoints Hitool offers a number of different ways to set breakpoints and watchpoints making your debugging quick and easy Hitool for ARM User s Manual Software Breakpoints can be set from The Source Window The Breakpoint dialog box The Breakpoints Window The Project Window Symbols Pane The Stack Window The Shell command Window Watchpoints can be set from The Source Window The Memory Window The Watchpoint dialog box The Breakpoints Window The Shell command Window Software Breakpoints Software breakpoints are used by most source level debuggers as the standard way to halt the processor at a code address Hitool also allows you to set complex software breakpoints Complex Breakpoints allow you to set an if then condition for the breakpoint
64. DTLB single entry e co Read Write Cache lockdown CP15_cache_selected 0 DCache lockdown base CP15_cache_selected 1 ICache lockdown base ecl0 Read Write TLB lockdown CP15_cache_selected 0 Data TLB CP15_cache_selected 1 Instruction TLB eci3 Read Write Processor ID Displaying Data Memories Registers Hitool for ARM User s Manual Chapter 6 89 eci5 Read Write Test and Debug NOTE ICEBreaker pane isn t supported in simulator mode so the registers value in ICEBreaker pane are false in simulation mode If banked registers aren t in current mode the value of banked registers maybe incorrect The first seven panes are always available The last six pane maybe not true and unwrite able for Angel or Jeeni Protocol Display User Defined Registers You can open the User Defined Register Window by doing any of the following Locating the Debug toolbar and clicking on the Defined Reg Window icon Clicking on the Debug Window menu item from the View Menu Then choose Defined Reg item leer Beinn Register Window t jppuragosut 15 B LL A ils H Add Define Choose Add Define menu item from the pop up menu to display the Define Register dialog box to define the register Bittle Hitool for ARM User s Manual Displaying Data Memories Registers 90 Chapter 6 User can define some registers to monitor the corresponding memory All the registers will be recorded in the defreg cfg file in Hitool
65. ETENN J dias Period Time signed int d PAR mn nRetum om nme Sy CEase CEaseecki A Eee Setinfalwoid Bg ries Bal ces E Add Watch After you have selected a variable click on the Add Watch menu item to add the variable to the Watch Window s watch list These variables are automatically updated every time the target stops Viewing Class Class pane shows all the struct and class information defined in source files include public private and protected members Every class member includes functions and variables Point to the item a tip card will pop up indicating name and type d m n5aroHaa d operatore refarencs to Cleo Wa areire bo Cian fp DampFunctionisined nt T PerlodiTime sgned int Wh eiod Setinfolvoidl Chased Class pane Hitool for ARM User s Manual Chapter 8 127 The following table lists the icons in the Class pane and what they indicating Type Class Struct Public Variable Private Variable Protected Variable Public Function Private Function Protected Function Functions You can expand and contract the Class folder by clicking on the box to the left of Class By expanding this view a listing of members contained in that Class are displayed and more detailed information is provided While you still have the Functions folder highlighted right click anywhere on the right hand side to invoke the following pop up menu
66. Endian of elf file is the same as the Endian of hardware you use If not we will give error message box If you debug in simulator mode you may build the executable file in Little Endian format If you only load symbols Big Endian or Little Endian are both OK After you loading the executable file successfully with symbol information for the first time you will find two new files ht file and St file generated in the load path whose name are the same as the executable file name The two files will be used while you reload the executable file to improve the speed of loading symbol especially for the large size files Every time you load an executable file Hitool will try to find out the two files and compare them with the executable file If Hitool can not find both two files or the executable file is newer Hitool will use the executable file itself to load symbol information and re generate st and ht files Otherwise Hitool will use the two files instead of the executable file to load useful symbol information You can generate the two files manually To do this 1 Choose Convert from Tools menu Convert dialog box will pop up as the following Select npu Object Modal 10 Comet hinti amempa pme nie pime rie ama eli Dutput Fos Hirsz Symbak 7 gxtlude Secions redi obicope ees 0 Micetek Symbols E Jhiteol amv eiamplec Dna PRIME T PRIME 1ELF Hitool for ARM User s Manual Chapter 2
67. LUPA reet ber nts 15 Registering nd er ettet he de in d e P eae ee e a eiie aS 16 Checking Host Config r tion 1 2 2 eet tret o tette teens 17 Configuring Communications essent neret 17 Debugging your own project rear a R enhn E ener eter OEA 21 Hitool for ARM User s Manual Downloadable Formats n e nente nne eerte 22 HitooL IDE re trt rre need taste e ete ee epe eei ee ee voee epa ue even 22 Project Management ssir arousa eed tet nd estende 22 bj 23 Load Options ene ters reet reo ree eee pe tre geeev eee a 24 Eoad Tey EA 25 Downloading the Binary Image and Reading Symbols 25 Project Parametefs o ae er to nsi D EU EDD RE E e 28 Troubleshooting Tips ads cbs etr eorr ents as ce p eet e p ep rr e retta 29 3 Configuring a Project and Building Target 31 Building Tatgetzz 2e rera eie ipie 31 Configuring Compiler Pathi soa niente Pt nere rta eee Pena 31 Creating anew project o iore ter f et edere iret edi e re 32 Configuring Attributes of the Project sese 36 Adding Source Files s i4 tein rre tei ie te 37 Building Project ss tee reinen in een ren GR Cre NORTE HIR 42 Overview of the Project Settings Dialog Box sese 43 Using the Project Settings dialog box seen 44 Configuring General Target Options sese 45 Configuring Assembler Settings sese 47 Config
68. Linking Generate 26 bit code Output containing floating point instructions T Output containing library for floating pointer Use unaligned word loads to load half word r Endianness Setting Library and Linking Little Endian Default Link Options i Link Layout C Big Endian r Equivalent Command Line Cancel Apply Help ARM Thumb Procedure Call Standard Options Stack frame compliant with APCS Generate a stack frame that is compliant with the ARM Procedure Call Standard for all functions even if this is not strictly necessary for correct execution of the code Generate 26 bit code Generate code for a processor running with a 26 bit program counter and conforming to the function calling standards for the APCS 26 bit option Output containing floating point instructions Generate output containing floating point instructions Output containing library for floating pointer Generate output containing library calls for floating point Use unaligned word loads to load half word Do not try to load half words by loading a word from an unaligned address Endianness Setting Little Endian Default Little Endian Configuring a Project and Building Target 52 EN Chapter 3 Configuring a Project and Building Target Big Endian Big Endian 4 Click on Apply button to save your changes temporarily Configuring the Warning Use the Project Settings to configure options for warning
69. Manual Semihosting And Misc 192 Chapter 13 Semihosting And Misc RDI support instruction stepping is displayed in Target Info dialog box Target Info dialog box Simply click on Target Info in Help menu Target Info dialog box will pop up as the following Target mfo eee Target Speed IPS 10 3 Target Type Hardware Debug Agent reloadable Inquire buffer size can not Profiling not supported Thumb state supported Breakpoint amp Watchpoint Features trap address equal not supported trap address range not supported D Oh de ce eh nee ete It displays some information about RDI interface and Angel debug monitor You can expand the items to get more information Comms Channel Viewer NOTE The Comms Channel Viewer is only available for the Embedded ICE logic The Embedded ICE logic in ARM cores such as ARM7TDMI and ARM O9TDMI contains a debug communications channel which enables data to be passed between the target and the host debugger through JTAG port without stopping the program flow or entering debug state The DCC sample is available in Hitool for ARM installation directory examples ARM DCC For more information about how to build and execute these examples please refer to the Readme txt file in the same directory By the way the DCC semihosting can not be implemented so far Hitool for ARM User s Manual Chapter 13 193 You can enable or disable the
70. Miscellaneous Tools To access Hitool s full range of tool functions click on the Option menu and select the Customize item from the drop down menu allowing quick and easy access to its many functions Customizing Toolbars Choose Customize item from the Option menu Customize dialog box open and switch to Toolbars tab With this open you have the ability of placing toolbars into other locations including any toolbars that you may have created By clicking and dragging the toolbar you can place it into the right location allowing for greater efficiency Toolbar Tabs ca I Allows you to hide or display an entire toolbars by checking the box to the left of the toolbar name When the check can be seen the toolbar is visible as when the check is gone the toolbar is hidden Add a custom toolbar e Re name a custom toolbar But you can not rename the default toolbars Delete custom toolbar Restore the default toolbar settings Hitool for ARM User s Manual Action Record Hitool for ARM User s Manual Chapter 11 165 Commands Tab With access to Hitool s set of predefined commands the user has the ability with the Commands tab open to place these into toolbars Simply click on the icon and drag to place the icon into the desired location or toolbar Allows you to see each category and corresponding commands e Gives a set of predefined commands that can be used in a modified toolbar
71. OU OUOOOU ganong B c g l Gn oO gonon nG Gn nncGDODZD oDoDGDGD D D DUDU DUOUODO ODGDGDOD p ogonn30 c c cOgO ODDO ONDADA QO G DODK BDugDODA4D ODODUCGDUUDU DO DODUDU MONOTONO ODOUGCUEU nnaocnn nsnononcngn ngngn ana ngonogono ononcnan nogonos g c c cOGO DOOR giuig QD nucDOGD DODODGDGD DGD DUDU U DUOUOUO ODGDOGDOD DORIA c cOGDOD DODOIDODO gogogaga cOcOCDD DOMINO Gac GUGO d do DO d gOO titititi nnGDODAD GDGDGDGD DODOD DU oUOUODUO ODGDGDGD DOIG AGATHY PHPH ONDADO O G DODO DuDDODLCD GDODODOD DODODUDU DUOUOUO ODOGUCDUOD nnong npn paganan ngngn ana gonogono ononcnan E The PA TAG RAM Window 920T implements PA TAG RAM to perform write back from Data Cache Scan Chain 4 can view it so Hitool can provide an UI to display it to make user aware This view is read only Hitool for ARM User s Manual Ug 43 7 8 Jaf ag 2 sg amp ddzAFE gazgee d2cFE 1000207 dd2EFE Hitool for ARM User s Manual Chapter 1 7 DOO OUO EE eS DOGO OO ROO O CCE OBUUUHNU bppppoppO D OOOQO 40119 bppppponD n n d Dpppopoo gud ppoooooo UnUDOUUU uU Dpnnnnnun noggunuU Dppnanun nuguunud bpppoDbo n 0 n d ddd bDbpbbobD o n 0 d bbDppobon n n d DpppnpnD nnononoon gangy Dpnppnnpu n nnnonnun Dpppnoanun nunnunug bppppoDO n d d booooooo a bbpponponD u DpppopDDO DogDOQQU gf ppppppuD nononQUQ ppppoapon onggi bpphonoO 00
72. Point and Warning z Compiler No startup files Compiler No default libs Warning No standards library Debug Optimisation IV No dynamic linking Preprocessor Remove symbol info Code Generation E Library and Linking Library and Linking Link Options Link Layout startup file Link library pM Choose Clear Cancel Apply Help Option No startup files Do not use the standard system start up files when linking This is the default option because we supply the initial code ourselves No default libs Do not use the standard system libraries when linking No standards library Do not use the standard system startup files or libraries when linking Same as No startup files No default libs No dynamic linking Configuring a Project and Building Target Hitool for ARM User s Manual Hitool for ARM User s Manual Chapter 3 59 On systems that support dynamic linking this option prevents linking with the shared libraries On other systems this option is not in effect Remove symbol info Remove all symbol table and relocation information from the executable Link library You can supply your own libraries to this project you can enter them by clicking the Choose button You can choose one library at one time Please put your libraries in your project directory to ensure the libraries work correctly 4 Click on Apply button to save your changes temporarily Configuri
73. STAE etr ende nn ve nan I In E GU 182 RES Warts sais ist ette er n e t idt eR a os 182 SAVeGOISASIL n ee EE ERN NEU AREE EUR EC ETE AERE STRE ER ROS 183 SAvedisasm adr1 adr2 Length length file sees 183 Nux E 183 SRecall filename 5 cnet ree eo ed dete E IRI 183 SSaVe iiU IR ER RE IRR RD ee de 184 SSave fil natie cete eene es ese etes 184 SLOP sceau tecti E Pe e b eene edv ee ete tuto Pvt eee eee e Ua 184 Step Over count FOrever o eee eeceesceseceseceeceseeeseceseceaeeeaeeeaeeeaeeeaeeeaeee 184 Nou M cde ba EA E led O E aw tadud eve taee TE OE 184 SYmbol Global Module module Lines esseeeseeee 184 TBSt iude ere er RU RR owes aaa Ras E aa Ne ea TS TUEIEA 185 TEst addrl adr2 Length length Mem Data Addr B Hw W 185 IBI ET 186 Upload adr1 adr2 Length length filename S R BIN I DIS DISA DISC DISA Olpe E 186 M ATCIE ner ite ede HH NINH 187 WAtCH C EXpressiOn ine terere tete ten ene ed eene 187 M atchpotht eee eb oe epe i re sere e estet eb eS 187 Watchpoint ADdr addr AMask mask DAta data DMask mask B W Fetch Access Read Write I HWO HWI eeeeenenene 187 MOERS EUST ET Re A A RT EI US 188 Word adr datal data l6 nnna nni rette m ter e etate ger evel 188 Hitool for ARM User s Manual 13 Semihosting And Misc OVERVIEW sth tetti ht en Ri tete dE Semihosting Handle
74. TAG RAM 920T implements PA TAG RAM to perform write back from Data Cache Hitool provides an UI to display it to make the user aware This window is read only Taq Ham be a ggcsppp OOONRRDD DOOD QOnOUQGGS DoDOOGG DDDOUOUG DDDDODO GDDDODDUUU U ggcopnn ngggGSDD nOGGGOD DogUOGGO DnmOUUGG DDDDUOUG DDDDODUUU CGDDODDUN n depoo g dG eoD HOON dong d de non ddS DOUG DDODODO GDDODOU ggcsppp gdgGeDpp n n dgG D QOnOUQGGS DoDOOGG DDDODUOUG DDDDODOU GDDDDDOU U ggaopnn ngggGSGDD ngcGGOD DougUOUGO DnmUOUUGG DDDODDUOUG DDDDODUUG wuruning depoo g dgS GS5bD n rS5D d g SS DG DD DDDOOOO SDDODOU ggcGeppp g dgdgGeDD g0gdgGSOD pogoda DDOOUGG DDDDOOUI DDDDODO GDDDDDOU U ngcopun ODEO nggUUCGOD DouUUOUGO DDUOUUOG DDDOUUUOUG DDDDOUU CDDODDUUU Hitool for ARM User s Manual Displaying Data Memories Registers 86 Chapter 6 Display Registers Display General Registers You can open the Register Window by doing any of the following Locating the Debug toolbar and clicking on the Register Window icon Clicking on the Debug Window menu item from the View Menu Then choose Register item Registers OF XI o 00000000 LR 0 00008094 o 00000000 RG 00000000 CPSA o 800000D3 o 00000000 R11 FFFFFFA0 SPSH 0 00000010 0 00000000 R12 FFFFFFA4 SPSB nzcvit User 0 00000000 SP OxFFFFFFSO User lo 10 o 00000000 CPSA NzeviFtS C lo lo
75. Watch Window rtt e Patrice Ferte n Ei ea RSS 93 Opening the Watch Window sesssseseseeseeseeeeennen eee ener 93 Placing Data into the Watch Window essere 94 Placing Registers Memories into the Watch Window sss 96 Viewing Data Registers Memories in the Watch Window 99 Chane ine Data nsien dian sdupenta vevs suse Mien onng bus cas eden uti bane sens a dune seo dee 100 Changing Registers Memories 0 0 0 0 cece eee eeeseceeceeceseeaeeeseeeeseeseeeseeeeseseseaeeas 100 7 Breakpoints amp Watchpoints 103 Breakpoints amp Watchpoints eese enne eene etre e a si 103 Software Breakpoints e pP PP Debes 103 Waichpotnts ees ede endi eie nie ative 104 Setting Breakpoirnts 5 2 erepto e eap e erede seers 105 So rce Window de e eter o lere tas rais 105 Setting Breakpoint through Breakpoint dialog box esses 106 Setting Breakpoint through Breakpoints Window esse 107 Setting Conditional Software Breakpoint through Breakpoint dialog box 107 Breakpointdialog box uie ee ere e eee qr sie 109 Breakpoints WindOowW vun pn eere D redire rns 110 Project Window Symbols Pane eese 111 St cks WindOoW dede iet mpm dte tgp ts 112 Setting Watchpoints ie e e NC In e s 113 Setting Watchpoints for Angel series 113 Setting Watchpoint through Source Window
76. again detailed information about the module is displayed in the right side of the screen Shortcut Menu for Modules Highlight a module then right click in the window to invoke the following pop up menu Hitool for ARM User s Manual Project Window 124 Chapter 8 Project Window d CEt Basel void d CAtbschizeCAkEach void p CAttach sCa ttach oid i CAsch SetInfaAktsch sgned int signed n dh rDate riveddng Ep Sp CBace Period Timed signed int a PAR c m ngRebum dh om nee p Cece Basel cie amp CEase SetInlal cid Ad ries i Class Open Source After you have selected a module click on the Open Source menu item to load the module in Hitool s Source Window Hitool will align the source display and locate to the first executable source line in the procedure specified Functions You can expand and contract the Modules folder by clicking on the box to the left of Modules By expanding this view a listing of functions contained in that Module are displayed and more detailed information is provided By expanding this view you can obtain detailed information on a particular module While you still have the Functions folder highlighted right click anywhere on the right hand side to invoke the following pop up menu Hitool for ARM User s Manual Hitool for ARM User s Manual Chapter 8 125 JIE demo euag BSS demo cpp zm puppe gn SetjClear Sp CE Go Til d CAttach Jumpta
77. al Window in compressed format Click on a symbol in the left column of the registers associated with a group Click on an indented symbol to view the bits associated with a register Goto Peripheral Choose Goto Peripheral menu item from the pop up menu to invoke Go To Peripheral dialog box then fill in the peripheral name you want to locate to Goto Register Choose Goto Register menu item from the pop up menu to invoke Go To Register dialog box then fill in the register name you want to locate to Goto Address Choose Goto Address menu item from the pop up menu to invoke Go To Address dialog box then fill in the offset of the register you want to locate to Expand All Choose Expand All menu item from the pop up menu to expand all the registers Compress All Choose Compress All menu item from the pop up menu to compress all the registers Add Watch Choose Add Watch menu item from the pop up menu to add the highlighted register into Watch Window Initialize file Generate Choose Initialize file Generate menu item from the pop up menu in the following pop up Upload Perip internal register dialog box you can save current registers value into an include file for initialization Displaying Data Memories Registers 92 Chapter 6 Save pt Ci hcol ara 7er 1T ine Save az bpa Desc File et T Cano Set New Base For Samsung KS32C50100 SYSCFG a perip register bit16 bit25 indicate the
78. and erase the specified Flash when you tell it to do so 2 Optionally you may enter only the address range of your Flash device s for which you want to erase You would use this feature when you only want to erase selected sectors of Flash or perhaps selected Flash devices in a bank of Flash Step 4 Enter a Target Workspace Address The high speed programming method requires a small amount of Target RAM to perform the Flash algorithm You need to tell Hitool where write able RAM is located on your target for this purpose So fill in starting address and end address in RAM Range field and to field Step 5 Begin Erasing and or Programming Flash With the Flash programming feature properly configured you can now choose to Erase or Flash your target Flash Logging and Running Include Miscellaneous Tools Hitool can record the shell commands and the result that are sent down to the target The log file can be saved in text format but which can use any three characters as file extension File name can be appended to contain further commands Hitool for ARM User s Manual Chapter 11 161 Logging On Off To record a command file with or without the corresponding result specify a valid file name and path in the Command pane first The Log On Off toggle shortcut menu is used to begin and end your recordings and will always display the appropriate status in the Command pane Writing Include If you have previously recorded
79. arily by clicking on Apply button But if you click on Cancel button the temporary change you made are discarded You can even get online help by clicking on Help button Configuring General Target Options This section describes how to configure general options for a specific build target in the following General panel of Project Settings dialog box such as the type of the project the name of the output file and the directory of output file Project Settings x Assembler Float Point and Warning Use batch file E Compiler Compiler Project type ARM Executable Warning Debug Optimisation Output Name prime elf Preprocessor Code Generation Library and Linking Output Directory Jl Choose Library and Linking Link Options Target Link Layout CPU annvtdmi 05 None E cea Project Type There is a combo box to let you choose the type of the project In the combo box there are five types for selection ARM Executive ARM Configuring a Project and Building Target 46 Chapter 3 Library Thumb Executive Thumb Library and ARM Thumb Interwork You can select one of them to serve as the type of your project Output Name In this edit box you may enter the desired output name The default is a file whose name is the same as the project s name and the file extension is elf Output Directory This is an edit box You can enter the directory either by keying i
80. arm elf gcc mlittle endian A fno rtti DMACHINE TYPE ARM w O0 g gdwarf I src_c g src_c prime1 c o prime1 o arm elf gcc c Wa EL gdwarf DMACHINE TYPE ARM I src_c g src_c prime2 c o prime2 o arm elf gcc c Wa EL gdwarf DMACHINE TYPE ARM I src_c g src_c prime3 c o prime3 o arm elf gcc c fno rtti DMACHINE TYPE ARM w g gdwarf O0 x assembler with cpp Wa gstabs Wa mall Wa EL EL l src c src_c start_up s arm elf Id Ttext 80000000 Tdata 80100000 e start EL nostartupfiles static g n N L Tprime ld o prime elf start up o Prime2 o Prime3 o Prime1 o rs232 a pc cygwin arm elf lib libc a JIpc cygwin lib gcc lib arm elf libgcc a Be sure that the batch file is in the same directory as the project file Configuring Assembler Settings This section describes the assembler settings group of panels These panels provide configuration options that are specific to the GNU assembler Assembler use these panels to configure options for the assembler including e Assembler e Float Point options and Warning Configuring the Assembler Use the Project Settings to configure options for the Assembler 1 Display the Project Settings dialog box for the build target you want to configure 2 Click on Assembler in the Project Settings dialog box panel list to display the configuration panel 3 Choose and set the options as your requirement in the Assembler panel of Project Se
81. aspdee Thora Coen Cenni Linker pr Eara omnes Lire FTF Prot Lindow miy Hcr oben eS AHM irl F Editar You can set RO Base and RW Base addresses separately in the RO Base and RW Base fields in the following Output tab of ARM Linker panel according to the evaluation board you are using Compiler Configuration and JTAG Port Hitool for ARM User s Manual JTAG port Hitool for ARM User s Manual Appendix A 199 Lagat Sethe Goce Pathe Tiugh range Puld Esas B Basa le cn ange E TETTE Fin Mapp Eanes Tess Language Sad pp Diii ARM Acorn peste desciiptins Ha e AP C Doanpier ARH C ranger Thunb C Compas Thad Cer Dipi Likes FTP Pari nkar hy toby rhe De BP bok LF Este Factavp air The 20 pin connector J1 is connected to the JTAG interface of the microcontroller The pinout is compatible with the ARM Multi ICE interface unit A pinout of the JTAG connector is shown in the following Figure Vcc 9 2 9 Vcc NTRST e 3 4 GND TDI 9 5 6 GND TMS e 7 8 GND TCK eg 10 9 GND NC 9 11 12 GND TDO 9 13 14 GND NRESE 15 16 GND T NC 9 17 18 GND NC 9 19 20 GND Pinout of JTAG connector J1 Vcc Power supply from ARM7TDMI evalution board NRESET This signal resets the ARM7TDMI processor core NTRST This signal resets the tap controller and EmbeddedICE logic This resets the internal functionality used by any debugger or other device connected to the JTAG
82. ata rdata ALIGN 8 _gp 0x8000 global gp lit8 lit8 lit4 1it4 sdata sdata ALIGN 4 edata _edata _fbss Sbss sbss scommon ALIGN 4 bss _bss_start bss COMMON Configuring a Project and Building Target Hitool for ARM User s Manual Chapter 3 65 ALIGN 4 end _end _freeramStart end _freeramEnd _end Ox1fffff ALIGN 4 endi z stackBottom 0x74000 debug 0 debug line 0 line debug srcinfo 0 debug_srcinfo debug sf names 0 debug_sfnames debug aranges O debug aranges debug pubnames 0 debug_pubnames debug info 0 debug_info debug abbrev 0 debug_abbrev debug line 0 debug_line debug frame _0 debug_frame debug_str 0 debug_str debug_loc 0 debug_loc debug macinfo 0 debug_macinfo debug weaknames 0 debug_weaknames debug funcnames 0 debug_funcnames debug typenames 0 debug_typenames debug varnames 0 debug_varnames Click Apply to save your changes temporarily Hitool for ARM User s Manual Configuring a Project and Building Target 66 Chapter 3 Using the Equivalent Command Line text box The Equivalent Command Line text box is displayed at the bottom of configuration panel You may find them in 9 panels seven of which are useful 1
83. box by clicking on the Run Include item from the shortcut menu of Command pane Select an Include file then click on the Open button to run include file All recorded commands are actually re sent to the emulator and target during running and the commands and results are displayed in the Command pane as they are executed Writing and Using Macro Miscellaneous Tools To perform some functions automatically Hitool provides Macros function with VBScript Some examples have been provided in the Macro directory of Hitool setup directory You can load it directly To load a macro do the following 1 Select Option command from Option menu In the popup Options dialog box switch to Macro Files tab 2 Click on Browse button then select the Macro file in the dialog box 3 Seta checkmark right to the path of macro file then click on OK button to load it If some errors exist in the macro file Hitool will popup an error message dialog box If no error message dialog boxes popup that means the macro file is loaded successfully You can check load on startup option to load the macro when startup Hitool To remove loaded macro file simply remove the checkmark beside the path of macro file in Macro Files tab Hitool for ARM User s Manual Chapter 11 163 After you loaded macro file you can choose Customize from the Option menu to open Customize dialog box In the Customize dialog box Commands tab you choose macro category to view
84. ch Hitool searches for source modules Locating Source Modules If the debugger is unable to find one or more modules it often uses source path information in the debug information contained in the executable file Then use the source specified in the project Source Files folder to diagnose the problem If the problem still exists the debugger will automatically begin its search for modules using the source path s specified in the Options dialog box directory tab You can also append multiple search paths or if you Specifying Source Paths have many paths you can list them and the debugger will use to search for modules If Hitool is unable to locate a source module via source path information specified in the Options dialog box directory tab it will then popup a dialog box for user to specify the source file directly Viewing amp Editing Source Code Hitool for ARM User s Manual Chapter 4 73 Specifying Source Path Hitool s Options dialog box Directory tab permits to specify paths as described in the following section Clicking the arrow in Search Order For will invoke the list box from which you may choose Source Files then edit search paths enter multiple paths to be searched list multiple paths in paths list that Hitool will use to search Edit the Search Path s Double click on the path then enter edit the search path directly When entering paths be sure to separate paths with a semicolon Append
85. creasing that indicates the thread is being scheduled and run A run counter that stays the same may indicate a thread that is unable to run for some reason Control Block Shows the address of the thread control block Control Block button Clicking on to invoke Thread Control Block dialog box which displays the detailed information list of Thread Hitool for ARM User s Manual Hitool for ARM User s Manual Chapter 10 145 Queue Pane The Queue Pane shows a list of all message queues in the system arranged in the order they were created When a queue is deleted it is removed from this list The Queue Pane has four columns Name Size Filled and Suspended Threads Each of these is described below Name The name of the queue Size The size of each message in the queue Message sizes range from 1 to 16 32 bit words ULONGs Filled The value with slash indicating the filled information of message queue The left section tells the number of message queue currently filled and the right one tells the total size of the queue Suspend Threads The number of threads currently suspended on attempted accesses to this message queue or 0 if no threads are suspended Double click on the Queue Information dialog will pop up as the following and show detailed information about an individual message queue including a list of threads currently suspended on attempted message queue accesses that have not yet to be satisfie
86. d ThreadX Window 146 Chapter 10 ThreadX Window O Menage Sow o Filed Dee De Fest EFEC Wie prm ax ur rasan Eral peme oci Suspended Threads D0 Hara Slack Ure These sre ra iem In zhow in Has veri Queue Information dialog Queue Name The name of the queue Message Size The size of each message in the queue Message sizes range from 1 to 16 32 bit words ULONGs Valid message sizes are 1 2 4 8 and 16 words Filled The number of messages currently stored in the queue awaiting a call This is shown in the form enqueued total where enqueued is the number currently stored in the queue and total is the total number of messages Following this the number of available messages fotal minus enqueued is shown for convenience Read The address of the next message Write The address where the next message sent Start The address of the beginning of the message queue storage area Queue End The address of the end of the message queue storage area Control Block Shows the address of the queue control block Control Block Button Click on the button to invoke Queue Control Block dialog box which displays the detailed information list of Queue Hitool for ARM User s Manual Hitool for ARM User s Manual Chapter 10 147 In the bottom a list of threads currently suspended waiting for the queue Double click on any listed thread to display a Thread I
87. d bbd ni eunt ti rovsn bang I2DIJEFE D2DP3EFC z4 4pin Di DDl70 d20DdDiE 320p400p OOOO ORION DOO JODDQOOE J20p401p no OODS Oc30ODIO A A 120020 OOO ONION aon gDDOODOD xj CE E h Aude SEGRE Tm Leari Stack Window The Stack window contains two panes You may resize the two panes by pulling the cutting bar when the mouse shape changes to a clipper When one is enlarged the other is reduced correspondingly Upper Pane The upper pane displays the function calling sequence in the call stack up to the current function In the upper pane you can inspect source set breakpoint directly and run by choosing the item from the pop up menu All of the columns can be resized by drag the column margins when it becomes clipper Lower Pane The lower pane consists of two sections The left one shows parameters and local variables of the highlighted function in the upper pane It can be seen as a miniature of the Watch window Not only does it provide most of the features of the Watch window but also it even has the same look as the Watch window You can modify the value of highlighted variables The right one shows the memory content corresponding to the function stack pointer All levels of functions in the upper pane can Displaying Data Memories Registers 84 Chapter 6 be located in Memory window in different colors Highlight the function the Memory window will locate to the right address of the stack pointer of t
88. d Line Cancel Apply Help Code Generation Allocate enum bytes they used exactly Allocate enum bytes they used exactly Same size for double as for float Same size for double as for float Global variable in bss section Place the global variables in bss section Assume all pointers contain unaligned address Assume all pointers contain unaligned address Generate position independent code Generate position independent code 4 Click on Apply button to save your changes temporarily Configuring Library and Linking Settings This section describes the library and linking settings group of panels These panels provide configuration options that are specific to the linker Use these panels to configure options for the GNU linker including Library and Linking e Linking Options Configuring a Project and Building Target 58 Chapter 3 e Linking Listings Configuring the Library and Linking Use the Project Settings to configure options for the library and linking 1 Display the Project Settings dialog box for the build target you want to configure 2 Click on Library and Linking in the Project Settings dialog panel list to display the configuration panel 3 Choose and set the options as your requirement in the Library and Linking panel of Project Settings dialog box as follows Project Settings x General bi L assembler Library and Linking Assembler Option Float
89. ef 33 1 eh o Ear titer E i 1ter ITEE itrrst 3 iher 1 x0 00001 2b cuumt d 37 TE For i l lt SIZE i 3 Flags i TRUE LI h1 For qi 0 i SIZE i Lr i a it Fmnc ri Ah i z qa zj Hitool for ARM User s Manual Displaying Data Memories Registers 82 Chapter 6 Inspect Another simple and convenient way to view data is through an Inspect To view an Inspect select a variable in the Source Window and right click Inspect window is always on top but only view a variable You can open multiple Inspect windows Highlight the variable in the Source window and right click on From the pop up menu select the Inspect item ber shiled ih t Por EET i iter 9 ITER iter 1 sl raun Far rar f SISEQ amp prir From the Inspect Window you may modify the variable as wished Inspect iiter Lx 0 x00000000 Displaying Data Memories Registers Hitool for ARM User s Manual Hitool for ARM User s Manual Chapter 6 83 Stack Window You can open the Stack Window by doing any of the following Locating the Debug toolbar and clicking on the Stack Window icon Clicking on the Debug Window menu item from the View Menu Then choose Stack item Aidem TORTH pial ct 0 eri Pree tit To prise c CODE pr i dann mes n 420bEDB 2043FDC z3 b34 biu bl24 Gono cxi a a renti L200 FED DP OD DOd0 br5 Widdi
90. ewhat more time and a lot more memory for a large function Most Optimize 2 Optimize even more All Optimize 3 Optimize yet more 4 Click on Apply button to save your changes temporarily Configuring the Preprocessor Use the Project Settings to configure options for preprocessor 1 Display the Project Settings dialog box for the build target you want to configure 2 Click on Preprocessor in the Project Settings dialog box panel list to display the configuration panel 3 Choose and set the options as your requirement in the Preprocessor panel of Project Settings dialog box as follows Project Settings x General iL assembler Preprocessor Assembler Predefined Macros Float Point and Warning TS Compiler Compiler F Include Path Warning Debug Optimisation Code Generation Library and Linking Up Library and Linking Link Options Link Layout Add Delete r Equivalent Command Line Hitool for ARM User s Manual Configuring a Project and Building Target 56 Chapter 3 Predefine Macros Define macros It is an edit box and you can enter predefined macros separated by space For example you can enter Thumb HELLO GPF to define three macros Thumb HELLO and GPF And DThumb DHELLO DGPF thus appear in the Equivalent Command Line text box Do not edit macros in Equivalent Command Line text box directly because Project Settings will check macros according t
91. ext to the Function heading to open the Function outline Then click on the desired function to display a list of the local variables within the function With the Locals list open you can drag the variable into the Watch Window just as you would a global variable You also have the option of right clicking on a local variable and selecting the Add Watch item from the pop up menu Displaying Data Memories Registers 96 Chapter 6 prime arm sumsung primel c EE 2 4 Add Watch a iter flags c prime2 c CQ funco Bi H 3 prime3 c funci Bi t demo start s uU Symbols Placing Registers Memories into the Watch Window Registers Window With the register window open you can click once to select a register You can then drag the register directly into the Watch Window then drop Under the register name value or other space you also have the option of selecting the register and right clicking on to invoke the pop up menu Select the Add Watch menu item to place the register into the Watch Window Displaying Data Memories Registers Hitool for ARM User s Manual Hitool for ARM User s Manual Chapter 6 97 Registers nl x 0 00030014 R10 000072000 1 0x00000001 pi ox00057FFC Refresh 0 00030000 H12 0 00058000 w view Hex SE LR tat Ox00057FDC View Decimal Ox00048000 5 lo o0000000 Pc oxoonos0e8 Add Watch Ox00000000 CPSH Ox2
92. ext For Window allows you to perform project wide searches or module specific searches for text cross referencing variables easily We provide a thirty day limited warranty for hardware products Defective equipment will be repaired or replaced as determined by Technical Support Software components are sold as is and defective repair is made on a best effort basis in priority order as determined by Technical Support An Extended Warranty is available for purchase and offers the added advantage of a firmware update service Ask your local sales representative for details Related Publications Registering Introduction e See the Microsoft Windows 95 98 or NT User s Guide for the Microsoft Windows Operating System for more information on using Windows Notepad and Macro Recorder e See the pertinent Processor User s Manual for information on the target processor you are using Be sure to complete and return the enclosed registration card so that Hitool can provide you with technical support and keep you informed of new product developments Hitool for ARM User s Manual Chapter 2 11 Getting Started System Requirements Currently the host platforms available for Hitool are Windows 32 bit operating systems Before installation make sure that you have the following minimum host configuration Windows Requirements e A personal computer with a Pentium or higher processor with a CD ROM drive to install Hitool
93. f Caltech Vem source dp CAbtach Setioa signed int signed int qe riebe dp redd CE Period inet signed int dh PAR ip n neun dh m nTrwe Cle Clase vos CE SelInl otc Set Clear Breakpoint After you have selected a function click on the Set Clear Breakpoint menu item to set or clear the software breakpoint on the first executable source line in the procedure specified Go Till After you have selected a function click on the Go Till menu item to emulate to the right start address of that function Jump To After you have selected a function click on the Jump To menu item to set the target s Program Counter to the start address of the function that you selected View Source After you have selected a function click on the View Source menu item to load the module containing that function in Hitool s Source Window Hitool will align the source display and locate to the first executable source line in the procedure specified Variables You can expand and contract the Functions folder by clicking on the box to the left of Functions By expanding this view you can obtain detailed information that displays local variables While you still have the Variable highlighted right click to invoke the following pop up menu Project Window 126 Chapter 8 Project Window db Base al Basel void db Cattache Catach yond d catach C Asch void J CAtbachs Set Fo ach signed inb aped ink E NEC
94. f two panels the left one displays all the user defined registers similar to the Register Window the right one displays the information of the selected user defined register and its each bit if it is bit able An outline control updates only what you want updated Changing set values is easy just double click on the register buttons then fill in the new value directly uj Dx1412 ity Jena T ojojoj opo 1 o 15 a ojojoj on jojo User Defined Register Window The Peripheral Window Peripheral Window displays memory mapped control registers Hitool for ARM User s Manual Hitool for ARM User s Manual Chapter 1 9 F eurgbasr al Us F E DETCHICHI EBT E 01002529 EBI CSED noEoOnn4 02002121 EBI CZRi UDEDUUUE 20000000 EBI Coke DOEODO DC J0000000 EBEI CSE3 poEOOU10 40000000 EBEI CSR4 DDEOJS1TA S0000000 EBI CSES noEOnD18 f0000000 EEI CSE6 DEOODU1C FOO00000 EEI Csr D OEOOD 20 ggpOdgS ERIRE QUEQ020024 O0000006 EBT MCE SF SPI WTSARTU Fast Robust Target Control Hitool uses a compiled VBScript which offers dramatic target control improvement In addition Hitool delivers tuned up stepping while still maintaining the same pre emptive architecture With Up Level Breakpoint and Stay at High Level two features you get even more speed for target control In addition you can perform a number of target control actions by simply pressing a function key e Start Stop execution G
95. figuring a Project and Building Target Building Target This section describes how to build target Configuring Compiler Path Now let s begin with a sample project now You can use GNU compiler to generate an executable file for debugging NOTE GNU compiler isn t installed with Hitool for ARM installation So before using GNU compiler you should install it in addition The default installation directory is lt Hitool for ARM installation directory gt compiler Be sure to configure compiler path in the beginning To do this from Option menu choose Option command Switch to Directory tab in the Options dialog box that popup then set the path of executable files global include file path and lib file path as the following Hitool for ARM User s Manual Configuring a Project and Building Target 32 Chapter 3 Search Order For Directories E compiler amp RM pc cygwin bin NOTE Be sure to re specify the path of the Executable Files when you change the compiler installation directory And the paths of global include files path and lib files path will also be changed manually If you install the Gcc compiler with the installation disk we provided please make sure that make exe and ARM ELF GCC exe are included in the Executable Files directory you sepecified Creating a new project Hitool provides Wizard dialog box to guide you create a new project step by step which we call AppWizard New a Project T
96. for ARM installation directory in the following format Name StartAddr Length Bitable Name can be up to 8 characters mixed with alphabetic character and numeric character but the first character must be an alphabetic character StartAddr can be numeric or symbolic Length is limited Usually the length can be from 1 to 4 NOTE Start address and end address should be in the same word range Bitable 0 1 indicates whether the register can be bit expanded Remove Define Choose Remove Define item from the pop up menu to remove the highlighted user defined register from the User Defined Register Window Reconfig Define Choose Reconfig Define menu item from the pop up menu to display the Define Register dialog box to reconfig the register Display Peripheral Registers You can open the Peripheral Window by doing any of the following Locating the Debug toolbar and clicking on the Peripheral Window icon Clicking on the Debug Window menu item from the View Menu Then choose Peripheral item Peripheral Window Display Peripheral window is displayed in compressed format by default Compressed Registers Display The columns in the Peripheral window are from left to right A symbol Memory mapped Control Registers group mnemonic Displaying Data Memories Registers Hitool for ARM User s Manual Hitool for ARM User s Manual Chapter 6 91 Peripher E ala xi E IHTERRUFT LI Peripher
97. for ARM software documentation and examples Microsoft Windows 95 Windows 98 or Windows NT 4 0 operating system or later A minimum of 32 MB of RAM available disk space e VGA or Super VGA color monitor and Mouse e Printer or Serial port USB port optional Installing Hitool for ARM Hitool for Windows 9x NT Follow these steps to install Hitool for Windows 9x Windows NT release on your hard drive NOTE Hitool runs under 32 bit Windows programs only Windows 95 98 and Windows NT Hitool does not support Windows 3 1 Hitool for ARM User s Manual Getting Started 12 Chapter 2 Installing on Microsoft Windows 95 98 and Windows NT e 1 Invoke Microsoft Windows 95 98 NT on your PC e 2 Place the Hitool disk in the proper drive e 3 Run Setup exe If the comctl32 dll in your system is older than the one required the following dialog box will popup Setup will auto run 401 COMUPD exe Be sure to click on Yes button to update it After you restart computer run Setup exe to continue e 4 Click on Next button to go on Getting Started Hitool for ARM User s Manual Hitool for ARM User s Manual Chapter 2 13 Chasse Destination lee abion Seshup vell retell Hiao for AAM in the lolloeang folder Tomai to thes lokder click Het Tantali ics disan pider cick Boorse and pisoi anole Vult reu can chess nol to irtal Higa For ARM by ticking Cancel bo egal Sahu 5 Af
98. fragments in the memory byte pool Search Address A pointer to the first unallocated memory fragment This is set to the last fragment that was released Memory Start A pointer to the start of the byte pool Control Block The address of the memory byte pool control block Control Block Button Click on to invoke Byte Pool Control Block dialog box which displays the detailed information list of Byte Pool Suspended Threads The number of threads currently suspended on an attempt to allocate a byte from this memory pool with a call A list of threads currently suspended on an attempt to allocate from this memory pool Double click on any listed thread to display a Thread Information dialog Byte Pool Content EE x Byte Pool Name Byte Pool Example 0xDo0000 Used Ox6C OxDOO06C Available Ox6C xDOODDS Used OxDO xD001A8 Used n nO nonco Wed 0x134 amp n mn gt Byte Pool Content dialog The Byte Pool Contents dialog shows a list of all fragments in a memory byte pool In the button is a list of fragments in this byte pool Each column is described in more detail below Byte Pool Name The name of the memory byte pool ThreadX Window 156 Chapter 10 Address The address in memory of the fragment The four bytes immediately previous to this address contain a pointer value If that pointer points to the memory byte pool control block the fragment is in use Otherwise it is available
99. g Event Flags Pane The Event Flags Pane shows a list of all event flag groups in the system arranged in the order they were created Thrasai s The Event Flags Pane has three columns Name Current and Suspended Each of these is described below Name The name of the event flag group Current The current event flags status in hexadecimal format Each event flags group contains 32 binary event flags Suspended Threads The number of threads currently suspended waiting for event flags or 0 if no threads are suspended Double click on The Event Flags Information dialog will pop up and show detailed information about an individual event flag group including a list of threads currently suspended waiting for event flags conditions that have not yet to be satisfied Hitool for ARM User s Manual Hitool for ARM User s Manual Chapter 10 149 Event Flags lnhomaton E veni Flange Hama een Haga Curent Eveni Flags Chall Control Black oo Sumpended Thiesds sc Mame Flage Sele Sheek Up isad f 1 Deh F Tha Event Flags Information dialog Event Flags Name The name of the event flag group Current Event Flags The current event flags status in hexadecimal format Each event flags group contains 32 binary event flags Control Block Shows the address of the event flag group control block Control Block Button Click on to invoke Event Flags Control Block dialog box which displays the
100. gh and low level screens When the Source Window is the active window you can click on the Mixed Disassembly icon in the Debug toolbar to open Mixed Source window and Disassembly window e You can also right click on anywhere in the Source Window and select the Go To Assembly Go To Mixed Source menu item from the pop up menu Features Include Drag and drop capabilities You can double click on to highlight a variable in the Source Window then drag it into the Watch Window where it can be viewed directly then drop Also you could select a pattern first then drag and drop it in the source window to search the next Double clicking In the Source Window you have the option of double clicking on a function to reposition to view the source code corresponding to that function Pop up menu Right clicking anywhere in the Source Window invokes a pop up menu containing added features Source Window Pop Up Menus When you right lick anywhere in the Source Window and source is not selected you will invoke the pop up menu Cut Cope Cornet Eo Uni Select all Ga En Gssembhy G0 bo Mixed Source Set Clear Breakporn Gobo Cursor F7 Jump to Cursor Shift4F7 Braves from Convert to Unix This item allows you to convert a text file from DOS format to Unix format As DOS format the line is ended up with OxaV0xd Unix format ended with Oxa Hitool for ARM User s Manual Viewing amp Editing Source Code 70
101. he address 60 Command Reference 182 Chapter 12 Register RESet RESTart Command Reference Register reg_id data reg id is a general register related to the processor data is the new data to be assigned to the designated register This command displays or modifies the contents of the emulation processor registers If Register alone without any parameter is entered the contents of all of the emulation processor registers are displayed Keyboard Examples Register SP 0x8 Modify register SP to 8 directly RESet adr adr is the address where PC is to set directly after reset It is an unsigned value Use this Output command to reset initialize the emulation process It will perform a Reset action first then set the PC to the specified address directly Default address is zero or the entry point if the elf file loaded Keyboard Examples RESet Reset emulation processor RESTart Similar to Reset but it would go from the start address to the C main entry if it is specified You can specify the related option in Debug tab of Options dialog box Hitool for ARM User s Manual SAvedisasm SRecall Hitool for ARM User s Manual Chapter 12 183 SAvedisasm adr1 adr2 Length length file adr1 indicates the starting address of disassemble instruction to be saved adr2 indicates the end address of disassemble instruction to be saved It may be prefixed Length is the required prefix when
102. he debug agent then handles the SWI exception The debug agent provides the required communication with the host In many cases the semihosting SWI will be invoked by code within library functions The application can also invoke the semihosting SWI directly NOTE Semihosting is not available for GCC build environment Semihosting Handle Hitool for ARM handles the semihosting in similar manner for vary protocol For Angel and Jeeni protocol Angel debug monitor or Jeeni converter monitors the semihosting but for the other protocol the host debugger monitors the semihosting Some semihosting functions are implemented by the debugger You can set some setting to control the manner in Target Control tab of Option dialog box as following Hitool for ARM User s Manual Semihosting And Misc 190 Chapter 13 Semihosting And Misc Dipti xj Keyboard Format Disectory Macro Fies Debug Exceptions Target Control F Enable omms Channel Viewer abe Rn MAE v Log ADi Level operations Ll ADP S E e Log AL petere SemhosingStae Disable Leg rtemal oper Log to File ton eoim E j Senkom SWis ILER UP carts ARM Ss 123455 Command Line T a ll poi ane usiryg an EmbeddediCE DE a rialas set Tan Memory in fe bots Top po ME sl aia ii NOTE If the target does not support semihosting or each of semihostings the corresponding item will be grayed Usually users had better not change
103. he function indicating and the content is displayed in corresponding color You can scroll the vertical bar of Memory window to locate to the next or previous content NOTE The shortcut menu of the upper pane will be activated only when you highlight the items in them Displaying Memories Registers Hitool gives you convenient ways of displaying memories registers You can view memories through the Memory Window For even greater control over registers you can use Hitool s powerful Register Window and Peripheral Window Display Memories Display General Memories You can open the Memory Window by doing any of the following Locating the Debug Toolbar and clicking on the Memory Window icon Clicking on the Debug Window menu item from the View Menu Then choose Memory item Displaying Data Memories Registers Hitool for ARM User s Manual Chapter 6 85 Mon cad 1n a6 IDIDAEZ3 0A EO ICU band LC J0 De i ato o m IMusE Le 20 IMD Tz FT koiaa bo J PO a0 wo 3 IMDS 34 DO Ioar 42 1 don cari ap co IEIS Lo ED Iol1pbaled 47 10 E bi Gait hz FF I a bl adi Hitool offers a number of different options for displaying memory in the Memory Window e Memory Toolbar Click on the icon on Memory toolbar to display memory in different format e Pop up Menu Right click in the Memory Window to invoke the pop up menu Select the menu item to display memory in different format Display PA
104. he relationships among the files included in the project workspace The relationships in Files pane are logical ones not physical ones It does not reflect the organization of files on your hard disk Files pane shows the relationships of the source files and its relevant files Hitool for ARM User s Manual Project Window 120 Chapter 8 Project Window jud Wrorkopace EE demo sumsungmpl ag Source Files iz Loader Files cg List Fils Sy Map Fies 23 Link Pile Files pane With the project open its name in the workspace is indicated in Files pane in bold And Hitool will load the code from the executable file automatically if the corresponding executable file exists Workspace directory is the root directory of project workspace Every project consists of six relative default folders They are Source Files which may be separated into three independent folders ARM C Sources Thumb C Sources and Assembly Sources if the project is for interworking Loader Files List Files Map Files Link File Include Files You can also create new folder in the project To do this highlight the project file then choose Create New Folder from the shortcut menu in the pop up New folder dialog box fill in the folder name you want to create For example you can create a folder named Document and then you can add MS Word document or others into this folder Then you can view these documents just by double clicking on them To delete
105. hreadX item in Tools menu to bring up the ThreadX window ThreadX Information window consists of the following eight panes e System Pane Thread Pane Queue Pane e Timer Pane e Event Flags Pane e Semaphore Pane Block Pool Pane Byte Pool Pane System Pane System Pane lists seven fundamental components of ThreadX and its corresponding number of current members Each component is explained below ThreadX Window 142 Chapter 10 ThreadX Window Thrsai s Thread Pane The Thread Pane shows a list of all threads in the system arranged in the order they were created When a thread is deleted it disappears from this list years Tear acd Vosa eai d Pasaji teen 3 Wasacid The fields displayed for each thread are explained below Name The name of thread State The current execution state of the thread when the system was halted The thread can be in one of four states Ready The thread is ready to execute The thread will execute when it is the highest priority thread Suspended The thread cannot run because it is waiting Threads can wait for time message queues event flags semaphores and memory or may be placed in a suspended state on thread creation Sleep The thread sleeps because it is waiting Threads can be invoked after a time Hitool for ARM User s Manual Chapter 10 143 Queue Suspended The thread cannot run because it is suspended by Queue component e Sema
106. hrough memory or edit memory GaN ea Byte Word Long Go Hexadecimal Decimal Unsigned Decimal Asm Code Memory toolbar Displays memory elements in byte Displays memory elements in half word two bytes Displays memory elements in word four bytes Specifies a numeric to scroll to On the left there is a combo box for you to input the exact hexadecimal address you want to go to Displays memory contents in hexadecimal indicating positive values in all cases Displays memory contents in decimal indicating positive values in all cases Displays memory contents in unsigned decimal indicating positive or negative values Displays memory contents in assembly code Pop up Menu Right click in the Memory Window to invoke the pop up menu Closing the Memory Window To close the Memory Window use the window s control handle located in the upper left hand corner of the window e Click on the control handle and select the Close menu item from the pop up window control menu Double click on the window s control handle Memory Window Hitool for ARM User s Manual Chapter 10 141 ThreadX Window Hitool ThreadX Window Hitool for ARM User s Manual Hitool works seamlessly with ThreadX providing detailed debugging for developers as well as full C debugging ThreadX examples are included with Hitool software installed in a directory under Hitool ARM ThreadX directory Click on T
107. ialized the target when powering on Therefore writing some system perip register ROMCON etc could cause ANGEL unpredictable And you d better not to use 115200 baudrate Under this baudrate the communication may be unstable ARM Debugger can not connect with the hardware under this baudrate at all Some memory writing may be timeout such as 0x8 It seems that ANGEL does not protect Getting Started Hitool for ARM User s Manual Chapter 2 21 these region but if these region are changed ANGEL would be unpredictable 8 Config the semihosting if necessary NOTE For Wiggler Raven PowerProbe PowerProbe Protocol and Simulator set the semihosting in Startup Configuration dialog box For Angel Jeeni Protocol set the semihosting in Options dialog box Target Control tab For detailed information please refer to Semihosting Startup Configuration 3 xl T 3 ud Endan C Wie Enden Bia Eri Samb5ung i Bigt Target CPL Target FFU Wiel Ue ris ie E Vhitogl am clg simel meminz Eat Peale ate I Hestea Diable heartbeat val des able hoet bnsiecut com sm and packet end opes Now that you have selected your settings you can launch Hitool for ARM which would connect t target according the communication settings Once you have established communications you need not to make configuration again when launch Hitool next time unless the hardware is changed Debugging
108. ile dialog box appears enter your object file or double click to select an executable file from your system Then click on the Open button to download the file Source Files Enter your source paths in the Options dialog box Directory tab Using the buttons you may edit search paths enter multiple paths to be searched When Hitool attempts to browse a source module in the Source Window it follows the following search orders e The source path specified in the debug information contained in the executable file e The source specified in the project Source Files folder e The Source Files path specified in the Options dialog box directory tab e The path specified by the user directly Source Path information and related options are discussed in greater details in the chapter entitled Viewing Source Code found later in this manual Getting Started Hitool for ARM User s Manual Troubleshooting Tips This section provides information about how to diagnose and fix the associated problems The following types of problems are e Reading symbol information into Hitool e What to do when you are unable to establish valid target communications e Diagnosing download problems As always if you encounter any difficulties try to find the answer in the user s manual or on line Help If you can t find the answer contact Hitool Technical Support Department Hitool for ARM User s Manual Getting Started Chapter 3 31 Con
109. ing Communications To initialize communications do the following in the Startup Configuration dialog box 1 Select the Maker 2 Select the Target CPU 3 Select the Protocol Hitool for ARM User s Manual Getting Started 20 Chapter 2 NOTE 1 Choosing Simulator means running Hitool in simulator mode 2 Wiggler Raven PowerProbe will not support ARM9 for hardware limitation 4 Select your communication port supported by the selected protocol 5 Set the port parameter corresponding to the selected port Baudrate 9600 19200 38400 57600 115200 for COM port or address of parallel port NOTE 1 If you are using Hitool with Wiggler Raven PowerProbe or PowerProbe Protocol you must be communicating over LPTI LPT2 For Angel or Jeeni Protocol only communicating over Serial port COMI COM4 2 If LPTI is used make sure that its address is 0x378 if LPT2 is used make sure that its address is 0x278 And be sure that the PC CMOS setting is consistent with the address of LPT If the wiggler or raven work abnormally try to change LPT mode ECP EPP etc 3 When using parallel port if no driver massage is displayed simply run driver bat in Hitool for ARM installation directory which will install the mac mot sys and fdparse sys automatically for your debugging 6 Select the Endian 7 Check to whether to Use initialize file For Angel Protocol initialize file is grey because ANGEL agent has init
110. lbar 3 Double click on the disassembly line in the Instruction area to open Assemble dialog box Fill ARM or Thumb instruction in the box Note that the value in the same line of OP code area is changed accordingly Pogseinble x Or Double click on OP code area to invoke Modify Memory dialog box to enter the value The content in the same line of Instruction area is changed accordingly Memory Window Hitool for ARM User s Manual Chapter 9 133 4 Click on Accept button in the Assemble dialog box Or Click on Modify button in the Modify Memory dialog box to write the result into memory and update the Memory window 5 Click on OK button to quit Assemble dialog box Or Modify Memory dialog box 6 Click on Cancel button to ignore what you have entered and quit Assemble dialog box Or Modify Memory dialog box NOTE If you perform some actions to write memory such as fill copy download and so on you should be within the specific RAM range For more detailed information please refer to the related manual Memory Action Choose Memory Action command from Tools menu or Memory command from the shortcut menu to define memory setup The command displays Memory Action dialog box which contains 5 tabs You can fully perform memory actions within this group of the dialog boxes But Hitool only supports Search Compare Copy Fill and Test memory actions Search Compare Copy Fill and Test actio
111. lick on Enable button The minus symbol prefixing the breakpoint will turn into the plus symbol Deleting All the Breakpoint s In the Breakpoint dialog box click on Delete All button to delete all the software breakpoints you set Breakpoints amp Watchpoints 110 Chapter 7 Breakpoints amp Watchpoints Saving all the Breakpoint s In the Breakpoint dialog box to save all the software breakpoints you have set do the following Click on Save button Save Breakpoint dialog box will popup to accommodate saving process Restoring Saved Breakpoint s In the Breakpoint dialog box to restore all the software breakpoints you saved do the following Click on Restore button Choose the directory and filename in the pop up Restore Breakpoint dialog box Breakpoints Window With the Breakpoints Window open you can view and set software breakpoints The Window also allows you to view the status type and address of all the software breakpoints you set Breakpoints Pals X Status Address Type Symbol Disabled 00008064 lt FFFFFFFC gt BITMASK bhwBHW Data access Watchpoint Disabled 00008060 lt FFFFFFFC gt BITMASK bhwBHW Data access Watchpoint Enabled 00008068 SW 3primel cs41 Disabled DOO00802C SW prime1 c 36 Enabled 000080F4 SW prime1 c 50 Opening the Breakpoints Window You can open the Breakpoints Window by doing any of the following Clicking on the Debug Window
112. ll adr1 adr2 Length length string data B Hw W 176 o EE M 177 Go Run From adr1 From adr1 Till adr2 Monitor timer 177 EDATL citet ote Sean tabs Fees ENS It er ve nietos ras Det as DR ORO N 177 BRAT uk ree ertet meret ee rere te EE c eh reef eoe tee 177 lE 177 Help comimandy titer eee eere eren 177 Inu e espe est re 178 Include filename scsi 2 reir success e Ie Ne HET eed 178 Hitool for ARM User s Manual Jump nep a aa a a E 178 Jump dK oes ieii EET 178 O a aie E EE EI a Ree eee 178 Load filename Symbols NOSymbols Code NOCode Warn NOWarn S R BIN addr DIS addr DISA DISC addr DISAC EXEC 178 LOG oian dee de ING WERE rte Ud 180 LOG filename Command Append ON Off CLear 180 Ie 180 LON adr data 1 data 8 eterne tne nee ie 180 MOMON oinetseeie iiie testes eire tei DG D e e estet eee te ets 180 Memory adr1 adr2 Length length B Hw W sees 180 l8 181 QUEBry symbol h x adrt entere em ertet te tente 181 Resistors aorar EE e ee tute vee eee E ede Re eR ete Yo eR ERR eR eae uie age PN ON 182 Register reg id Gata ttt 182 RES et eeu ee e IDE EIC I NU IG D 182 RESet ade ssc enint e eer DEOR 182 RE
113. loat Point and Warning User d file CENE ir E Compiler r Link Option Compller TEXT Section 0 8000 warming DATA Section 013000 Debug Optimisation BSS Section Jox30000 Preprocessor Cade Generation isa Pipe Library and Linking Generate Rom Image Library and Linking Link Options Equivalent Command Line Cancel Apply Help Link Option TEXT Section Start address of text section It must be a hexadecimal number so the value in the edit box will be recognized as hexadecimal format DATA Section Start address of data section Hitool for ARM User s Manual Configuring a Project and Building Target PEN Chapter 3 It must be hexadecimal number so the value in the edit box will be recognized as hexadecimal format BSS Section Start address of bss section It must be hexadecimal number so the value in the edit box will be recognized as hexadecimal format Be sure to allocate the three sections space carefully Generally text section needs a larger space and bss needs a smaller one Stack Top Stack top of the stacks NOTE You must prefix Ox to indicate the address in the Stack Top box as hexadecimal format otherwise it will be regarded as decimal Please refer to Creating a new project section in this chapter carefully We strongly recommend you to set the value at the end address of RAM NOTE All the addresses in the four options above
114. ly CP15_cache_selected 0 ID Code CP15_cache_selected 1 Cache Configuration ecl Read Write Control e c2 Read Write TTB e c3 Read Write DAC Domain Access e c5 Read Write CP15_cache_selected 0 FSR Data Abort CP15_cache_selected 1 PFSR Prefetch Abort e c6 Read Write Fault Address ec Write Only Cache Operations Bit 2 0 of the data value written in conjunction with the value of CP15 cache selected decide on the function performed Hitool for ARM User s Manual Displaying Data Memories Registers 88 Chapter 6 CP15 cache selected bit 2 bit 1 bit 0 Function 1 Invalidate Cache amp DCache Invalidate Cache Invalidate I single entry VA Prefetch ICache Line VA Invalidate DCache Invalidate D single entry Clean D single entry VA So Io Io o e gt Io Io Io o lo o o j oOo lo ie o o O e O S ee Clean amp Invakidate D single entry VA Clean D single entry index Clean amp Invakidate D single entry index Drain Write buffer e c8 Write Only TLB Operations Bit 1 0 of the data value written in conjunction with the value of CP15 cache selected decide on the function performed CP15 cache selected bit 1 bit 0 Function 1 0 0 Invalidate ITLB amp DTLB 1 0 1 Invalidate ITLB 1 1 0 Invalidate ITLB single entry 0 0 0 Invalidate DTLB 0 0 1 Invalidate
115. m and type a new value in the box e Data can be deleted in the Watch Window by selecting the variable and pressing the lt Delete gt key e Data can also be deleted in the Watch Window by selecting a variable and right clicking to invoke the pop up menu Choose Delete or Delete All item from the menu to delete the data Changing Registers Memories Register Window When a register value is changed i e when it has a new value from when it last halted the register value is displayed with yellow background Register window display is updated when emulation halts When click on Reset button on the debug toolbar to reset and reinitialize the target processor the following happens 1 The processor reset pin is asserted 2 All windows are updated with the following consequences The Stack Window display is invalid because the stack is reset PC counter points to the start of code Displaying Data Memories Registers Hitool for ARM User s Manual Chapter 6 101 Modify General Register You can modify general register value directly To modify general registers do the following 1 Highlight the general register which you want to modify double click on the value panel of register 2 Fill in the new value in the pane then press Enter key The modified general register value is displayed with yellow background Peripheral Window When choose Reset command of debug menu in menu bar or Reset button in Debug Toolbar t
116. m nMinor oe m nSayHello m nSaYoMaRa operator reference to CBase Q CBase reference to CBase amp p DumpFunction signed int o PeriodTime signed int Q CBase void SetInfo void SetInfo signed int signed int Q eCBase void CAttach E Ri A es en E Files View Source After you have selected a function click on the View Source menu item to load the module containing that type name in Hitool s Source Window Hitool will align the source display and locate to the first executable source line in the procedure specified Closing the Project Window To close the Project Window use the window s control handle cross located in the upper right hand corner of the window Hitool for ARM User s Manual Chapter 8 129 Click on the control handle in the upper right hand corner of the window directly Uncheck the Project window menu item in View menu Hitool for ARM User s Manual Project Window Memory Window Hitool for ARM User s Manual Chapter 9 E 131 Memory Window The Memory Window allows you to display and modify target memory You can open up to three memory windows where you can view various memory address of the flat memory space In each memory window from left to right are The hexadecimal memory addresses The contents of memory which can be edited These contents can be displayed with four modes The ASCII equivalent of the memory contents which can be changed co
117. me TESTI Jump adr adr is the command to change the program counter PC to hexadecimal address Change the emulation processor s PC counter to the specified address without perform emulation Keyboard Examples Jump 500 force PC 500 Load filename Symbols NOSymbols Code NOCode Warn NOWarn S R BIN addr DIS addr DISA DISC addr DISAC EXEC filename specify the filename you want to load Symbols directs the loader to load symbols defaultly set Hitool for ARM User s Manual Hitool for ARM User s Manual NoSymbols Code NOCode Warn NOWarn S R BIN DIS DISA DISC DISAC EXEC addr Chapter 12 179 skips loading symbols directs the loader to load binary code defaultly set skips loading code displays warnings from the loader defaultly set Supresses all warnings directs the loader to load code in S Record format directs the loader to load code in binary format directs the loader to load code in disassembly format not including address and opcode section directs the loader to load code in disassembly format including address section directs the loader to load code in disassembly format including opcode section directs the loader to load code in disassembly format including both address and opcode section directs the loader to load the executable file specifies the start address where the loader is to load code Symbols NOSymbols Code
118. meet tees erede 141 System Pane ices eed eter CREER A ESTEE RE S URe e ERR 141 Thread Pathe aniio sisson etae et eite petet geste t tet eds 142 Quce Pane E P 145 Semaphore Pan n sirosis natn tr ete d Tode en 147 Event Fl gs Pate cn e a e ette o ER E OUR EE e eee a 148 Timet Panne ssr orio here ee ete te ette tegis 150 Block PoolP ne tete en REI RE m nete P ree owes 151 Byte Pool Pane oderit oim em te ems 153 11 Miscellaneous Tools 157 CONV ERE segs costed mI 157 Programming Flash with the ARM Utilities Panel GUI eese 158 Programming Flash Step by Step sse 159 Logging and Running Include eese 160 Eoggmg ON OM zie nee rtr e ren te iei one qii gts 161 Wiritmng Include scott S eC RD RO EP RR LER ER C Let diete 161 Runmneg Includ iieri rrt tr iret ten 162 Waiting and Using Macte treten oer rre nep Crede perd gr egets 162 Customizable Toolbars idet imet hi eee eem eve reins 163 Moving Toolbars x itte tatto d C leet CIR EE e 163 Customizing Toolbars eei deceret he ettet 164 Hitool for ARM User s Manual Action Record aeter e ese Oque eat decer ere 165 ini M 166 Playback CER 166 12 Command Reference 167 Shell Command 2 etbecttteite Ort aesti Ana ere ce trece Ete edt tre In ievet dod 167 Syntax Notational Conventions seen 168 Commands and Sy
119. menu Project Window 122 Chapter 8 d Chktschere CAtkschivoed d Chktsche CAtkschC vod Ea Citta tetin pAtksch signed int signed int or Choose Add Symbol Table from File menu Then in the pop up Add Symbol Table dialog box shown as below choose the executable file Add Symbal Table File rame demo ama et Fieschhpe ELF Fiet oi ad al Cancel Test n Data fon Bex ovo Furthermore while you add symbol table you can input offset of your new symbol table There are three types of offset 1 Text text offset affecting the address of code such as the module and function Project Window Hitool for ARM User s Manual Chapter 8 123 2 Data data offset affecting the address of data such as global variables 3 Bss Bss offset Thus Project nodes are added in symbol list NOTE If you perform reload or normal load all added symbol tables will be removed Drag and Drop Capabilities The Project Window allows you to read data under any of the following categories Functions Modules and Variables The Project Window gives you the ability to place items directly into Watch Window Modules You can expand and contract the modules folder by clicking on the box to the left of the modules By clicking on the module a listing of the active modules is displayed in Symbols pane where more detailed information is given By selecting a module in the Symbols pane and clicking
120. menu item from the View Menu Then choose Breakpoints item Adding Software Breakpoint or Watchpoint In the Breakpoints Window highlight the breakpoint and choose Add item from the pop up menu to invoke the Breakpoint dialog box or highlight the watchpoint and choose Add item from the pop up menu to invoke the Watchpoint dialog box through which you can add software breakpoint or watchpoint Hitool for ARM User s Manual Hitool for ARM User s Manual Chapter 7 111 Deleting Selected Software Breakpoint or Watchpoint In the Breakpoints Window highlight the breakpoint or watchpoint you wish to delete and choose Delete item from the pop up menu Disabling Selected Software Breakpoint or Watchpoint In the Breakpoints Window highlight the existing enable breakpoint or watchpoint that you wish to disable and choose Disable item from the pop up menu The symbol red dot 9 prefixing the breakpoint will turn into green dot 9 Enabling Selected Software Breakpoint or Watchpoint In the Breakpoints Window highlight the existing disable breakpoint or watchpoint that you wish to enable and choose Enable item from the pop up menu The green dot 9 symbol prefixing the breakpoint will turn into the red dot 9 Deleting All the Software Breakpoints or Watchpoints In the Breakpoints Window choose Delete All item from the pop up menu to delete all the breakpoints or watchpoints Disabling All the Software Breakpoints or Watchpoints In the
121. n directly or clicking on the button besides it to select an existed path from the pop up Browse for Folder dialog box NOTE You must enter an existed directory otherwise an error message box will pop up advising you to re select an existed path Target CPU Choose the target CPU OS Choose the target OS Use Batch File There are three controls for this option a check box an edit box and a button If you set the check box the edit box and the button are both enabled You can enter the batch file s name in the edit box or select it by clicking on the button Also you could type the make file name mak as batch file directly NOTE If you check Use batch file option you should edit the batch file by yourself That means you don t want to use the options about the compiler in this Project Setting dialog box So if you use Use batch file mode you should prepare a batch file to control building process in advance Configuring a Project and Building Target Hitool for ARM User s Manual Chapter 3 47 Here we give you a sample batch file GNU compiler is installed in lt Hitool for ARM installation directory gt compiler directory so edit prime bat as the following with any text edit tools SET PATH lt Hitool for ARM installation directory gt compiler pc cygwin BIN PATH Set appropriate compiling options Assembler Compiler Linker and Library so continue to edit prime bat as the following
122. n chip C C debugger Hitool provides a high speed parallel connection between a host debugger and target microprocessor With lightning quick stepping and the ability to reduce download time from minutes to seconds you ll spend less time waiting and more time actually debugging your applications Hitool for ARM User s Manual Introduction 2 Chapter 1 The cutting edge Graphical User Interface of Hitool and the raw power supplied by Hitool combine to give you the perfect environment for developing state of the art software applications In addition to being a full featured software debugger Hitool offers a comprehensive set of advanced features to minimize your time to market With functionality that extends beyond debugging you get a tool that is also useful for bringing up hardware initializing on board chip peripherals and burning code into Flash Designed for Windows 9x NT Hitool delivers a solution powerful enough to uproot and destroy even the nastiest of bugs quickly and efficiently yet is affordable enough for every developer on your team to have Setting a New Standard for Intuitive Introduction By using a Windows 95 graphical user interface Hitool helps make your embedded development project move faster and easier helping you beat your competitors to market hands down Time saving features include e Customizable Toolbars e Detachable Menus Create Your Own Toolbars e Drag and Drop Information From One Wi
123. n outline format for watching datum registers memories You can expand contract or add information with a simple click Watch Window Tabs There are four tabs running across the bottom of the Watch Window Each of the watch tabs allows you to maintain separate data that is continuously updated The watch tabs also enable you to move between the information on each tab with the click of a mouse Right click anywhere in the Watch Window and a pop up menu appears A description of main menu item found on this menu follows Displaying Data Memories Registers 100 Chapter 6 Add Choose the Add item to add a new item You can also type to add the item you wish to view Edit Choose the Edit item to delete the selected item and add a new item Delete Choose the Delete item to remove the selected item Delete All Choose the Delete All item to remove all items on the selected tab Modify Value Choose the Modify Value item to set the selected item s value Type in a new value Changing Data In addition to offering a number of options for viewing data Hitool provides a number of ways to change data e You can also change data in the Watch Window by selecting a data and right clicking to invoke the pop up menu Select the Modify Value item and type a new value in the box To change data in the Stack Window select a data in the lower pane and right clicking to invoke the pop up menu Select the Modify Value ite
124. nd linker able to play host to GNU compilers and linkers to generate software for several operating system and processor platforms Debugger Use the commands in the Debug menu to control your program step through its source code or assembly statements set breakpoints set watchpoints and examine its data while it executes The IDE s debugger works with all kinds of code in all the supported languages C C Use the debugger to debug libraries executables multiple threads and processes The debugger also supports debugging code running on multiple processors Load Options Clicking on the Option menu item from the Option menu will invoke the Options dialog box The following Debug tab in this dialog box provides access to debug options including load options Opbhions x Eybosed Format Directory Maco Filer Debug Exceptions Tana Contra Soca Losi I ire number in s F Los Code E SOM ER TE KL aus f wd V dua pdea Pv Cursor Link From Trace Fe Load pntat Came ceni F Load Sperm Mas Unda leer 4095 ere Dinaaseimbie Tenn BP Lise FF Load image when open proi fe Sumbokc Ir pty Erradilion M FF naa bres poinl on den Aetat to Stat acdoess only C man ent nan kal Hitool for ARM User s Manual Hitool for ARM User s Manual Chapter 2 25 Load Options Below is a listing and brief explanation of the available options offered in the Debug tab Load section e Load text
125. ndow to Another e Right Mouse click Pop up Menu Support with tool tips for most icons Customizable Toolbars Menus from toolbar are detachable so that you can create additional customized toolbars A powerful Hitool macro language makes it possible to alter the pre programmed icons to support different commands or to include further functions beyond a single task Alternatively icons can be entirely re programmed and re labeled to support other desired features In addition when you place your mouse over an icon on the toolbar you ll see a tool tip appear for that icon The following sections will introduce some of the enhanced timesaving features of Hitool for Windows 9x and Windows NT For more detailed information on any of these topics refer to the chapters which follow in this manual Hitool for ARM User s Manual Hitool for ARM User s Manual Chapter 1 3 Intuitive Debugging Windows Hitool is a full Windows 9x Windows NT MDI Multiple Document Interface application This means that you can have any number of its child windows open simultaneously The sections below provide an overview of the capabilities of these windows and how you can use them to expose complex bugs swiftly and easily Easy Project Configuration Project Window can be opened automatically after you launch Hitool You can display or hide Project Window by adding or removing the check mark beside Project Window from the View menu i Wo
126. nert bo Unir Select Al Go En Assembly Go En Mixed Source Irenect Source View dd ess Range SetlJear Breakpeoint Goto Cursor F7 Jump bo Curso Shift4F7 Inspect Source Relocate to the right position of source corresponding to the function View Address Range Display the address range and the name of the function in the box Right click once on a variable in the Source Window to select it or double click then right click again to invoke the Source Select pop up menu cu Copy Convert bo Linbe Select al a0 bo Assembly Go bo Mined Source Wabch Warlsble vag SetiClear breakpoint gobo Cursor FF Jump to Cursor HEHH Browse From Watch Variable Activate Watch Window and add the variable into it Inspect Activate Inspect Window and add the variable into it Hitool for ARM User s Manual Viewing amp Editing Source Code 72 Chapter 4 Source Display Format Hitool support the Built in syntax colored source display format To customize the Format choose the Options menu item from Options menu to invoke the Options dialog box You could define the display format of the source such as font colors of text and so on Kabom Formal Dimcton Macro Filer Debug Exceptions Target Contre Source Paths In order to debug the debugger needs to know where the source modules are located Thus it is important to understand how to specify source paths and further the process by whi
127. nformation dialog Semaphore Pane The Semaphore Pane shows a list of all semaphores in the system arranged in the order they were created When a semaphore is deleted it disappears from this list T hicat The Semaphore Pane has three columns Name Count and Suspended Threads Each of these is described below Name The name of the semaphore Count The count of the semaphore Semaphore counts range from 0 to Oxffffffff Suspended Threads The number of thread currently suspended on an attempt to get this semaphore with a call or 0 if no threads are suspended Double click on the Semaphore Information dialog will pop up as the following and show detailed information about an individual semaphore including a list of threads currently suspended on attempted semaphore gets that have not yet to be satisfied ETT EDDITESIITIEETI Sensphoe hane impae Semaphere Couri po Suspended Thad Semaphore Information dialog ThreadX Window 148 Chapter 10 ThreadX Window Semaphore Name The name of the semaphore Semaphore Count The count of the semaphore Semaphore counts range from 0 to Oxffffffff Control Block Shows the address of the semaphore control block Control Block Button Click on to invoke Semaphore Control Block dialog In the bottom a list of threads currently suspended waiting for the semaphore Double click on any listed thread to display a Thread Information dialo
128. ng the Linking Options Use the Project Settings to configure options for the linker 1 Display the Project Settings dialog box for the build target you want to configure 2 Click on Linking Options in the Project Settings dialog box panel list to display the configuration panel 3 Choose and set the options as your requirement in the Linking Options panel of Project Settings dialog box as follows General Dile Link Options Assembler Remove Symbols Endianness Setting Float Point and Warning All symbol Little endian Compiler Debugger symbol T Compiler All local symbols Eie Warning Debug Optimisation Warn if global constructor are used Preprocessor Warn if a common symbol combined with another Code Generation War for undefined symbol once Library and Linking Do not link against shared libraries Library and Linking Give progress info r Image entry point Link Layout sat o r Equivalent Command Line EL e start Configuring a Project and Building Target 60 Chapter 3 Remove Symbols All Symbol Remove all symbol table and relocation information from the executable Debugger symbol Strip debugging symbols NOTE You had better not set the above two options otherwise there is no symbol information even after loading You can not perform source level debugging All local symbols Discard all the local symbols Endiannes
129. nge target settings the changes you make apply to the currently selected build target in the current project Displaying Project Settings dialog box panels Do the following to display Project Settings dialog box for a specific build target in the current project 1 Open the project file you want to configure then 1 Click on Settings item in the Project menu Or 2 Click on Settings button on Build toolbar Hitool IDE displays Project Settings dialog box with a list of available panels on the left The options of selected panel in the list are displayed on the right in details 3 Select the panel in the list you want to configure To do this you can use the up and down arrow keys or simply click on the name of the panel Configuring a Project and Building Target Hitool for ARM User s Manual Hitool for ARM User s Manual Chapter 3 45 Each panel contains the related options you can configure The options you set will apply to the current selected build target in the project 4 Select the options as you require See the following sections in this chapter for detailed descriptions of the options in each configuration panel 5 Save or discard your changes as required There are four buttons OK Cancel Apply and Help on the dialog box You can save change by clicking on OK button or discard change by clicking on Cancel button When you make change in the dialog Apply button becomes active You can save change tempor
130. nged watchpoint that is they are not activated if the data point is read or written at the same data as the one currently in memory Therefore the Angel series watchpoint dialog is similar to the breakpoint dialog box Watchpoints are taken when the data being watchpointed has changed When this happens the PC is updated to point to the instruction following the one that caused the watchpoint to be taken Then value of the watchpointed data is therefore the new data NOTE The functions about Watchpoint such as Watchpoint dialog box Watchpoint shell command and so on are not available in simulator Hitool for ARM User s Manual Setting Breakpoints Chapter 7 105 NOTE Symbols must be loaded before you can define breakpoints on l line numbers or functions Source Window One of the easiest and most convenient ways to set breakpoints in Hitool is through the Source Window Click on any line number from within the Source Window to invoke the pop up menu as shown below L Erh prime inter Prime Lc Ky count iter whilegi for iter 1 iter lt ITER i 1 coumt il For i i t SIZE i Flags i THUE For i 8 i t SIZE Les i if FuncB i h 1 prine Funci i Paste Conert by Lini Select All Ga bo Appembsly Go bo MEced Source Seer Ensakpoinr Gobo Cursor Fr dump ba Cursor Seer Brest Fri FU usmelis PA amp b bm For k
131. ns use the current memory access size setting which could be set by Access Hitool for ARM User s Manual Memory Window 134 Chapter 9 shell command or through Memory Access Size menu item in Option menu NOTE If you enter one byte data in Modify Memory dialog box one byte is written if enter two bytes data one halfword data is written if enter three or four byte data one word data is written Memory Search Dialog Box Fierent Grwp Search Compare Copy a Test Range Stan Address soo End Adde eren Data Seach Pattee c Case Sernitive Tipat Search iet found ot DODOBODA Search result found a CODOBO X Search mak found at OODBOS tha End Where Start Address Sets the start address of the memory block to perform search Sets the end address of the block to perform search in the next field End Address sets the end address Length sets the address range Search Pattern Key in the string of the data pattern to search from the block Case Sensitive Check to whether to be case sensitive during search Output Message box displays the area where the search data pattern is found If none is found Not Found will be displayed Memory Window Hitool for ARM User s Manual Hitool for ARM User s Manual Chapter 9 DS EIS Click on Apply button to start memory search then Close button to quit Memory Compare Dialog Box Memory Crap Seach Compa
132. o Goto Cursor Free Run Halt e Single step at the source level either into over or out of functions e Single step at the instruction level Reset the target system Flexible and Intuitive Breakpoint and Watchpoint Management With Hitool you can easily set both breakpoint and watchpoint from Source Mixed Source and Disassembly window By clicking on anywhere within the Source Mixed Source and Disassembly window you can invoke the shortcut menu which allows you to easily set a breakpoint or watchpoint For software breakpoints simply click on left of any source line or low level address Click on Breakpoints window in the View menu or Breakpoint dialog box in the Debug menu to display a list of tasks you may perform Hitool also supports conditional breakpoint allowing you to specify a condition under which the target will break Introduction 10 Chapter 1 Product Warranty Providing that the watchpoint is in use it can be set to break on any address read write or access any data read write or access any instruction execution RAM or ROM or after any specified number of clock cycles Integrate UTILS With Hitool real time target control is always reliable Rather than having to jump from program to program typing in commands and locating files everything you need to perform your debugging tasks is available from within Hitool Project Wide Grep With its improved Windows 95 format the Find Find N
133. o quit You also can see the result directly from the Memory window Hitool for ARM User s Manual Hitool for ARM User s Manual Chapter 9 137 Memory Fill Dialog Box Memory Group 8010 End Addres v 8016 0x45 0x67 aad Where Start Address Sets the start address of the memory block to be filled Sets the end address of the block to be filled in the next field End Address sets the end address Length sets the address range Fill Pattern Sets the data pattern of the block to be filled Output Message box shows the fill result for the filled block Click on Apply button to fill the memory and you will see the result directly from the Memory window Click on Close button to quit Memory Window 138 Chapter 9 Memory Test Dialog Box Lets Where Start Address Action Access Width Output Sets the start address of the memory block to be tested Sets the end address of the block to be tested in the next field End Address sets the end address Length sets the address range Sets the start address of the memory block to be tested Memory Test sets to test memory Data Bus Test sets to test the data bus Address Bus Test sets to test the address bus Sets the width of the memory block to be tested Byte sets the access width as byte Half_word sets the access width as half word Word sets the access width as word Message box shows the test re
134. o Predefined Macros edit box during saving Include Path List the paths for current project which is used to search head file You can add an include path by clicking on Add button And you can remove a selected path item by clicking on Delete button Once you select an item in the list in Include path the content of the item will be displayed in the Update edit box 4 Click on Apply button to save your changes temporarily Configuring the Code Generation Use the Project Settings to configure options for code generation 1 Display the Project Settings dialog box for the build target you want to configure 2 Click on Code Generation in the Project Settings dialog box panel list to display the configuration panel 3 Choose and set the options as your requirement in the Code Generation panel of Project Settings dialog box as follows Configuring a Project and Building Target Hitool for ARM User s Manual Hitool for ARM User s Manual Chapter 3 57 General Assembler Assembler Float Point and Warning E Compiler Code Generation r Code Generation Compiler Warning Allocate enum bytes they used exactly Debug Optimisation Same size for double as for float Prepi global variable in bss section Co tion Assume all pointers contain unaligned address Library and Linking Generate position independent code Library and Linking Link Options Link Layout r Equivalent Comman
135. o a newly called available for or the return function whichever subroutine or the return C Code occurs first subroutine whichever occurs first Step Into Continuously single steps on source Continuously single steps on Continuously line one instruction ignoring breakpoint Step Over Continuously single steps over source Continuously single steps on Continuously line one instruction even if the instruction is a BL ignoring breakpoint 4 Go To Cursor Runs the target code to the address Runs the target code to the corresponding to the source line instruction which the cursor which the cursor points to points to Show Activates Source window and Activates Disassembly Execution displays from the source line Window and displays from the Context corresponding to current PC instruction corresponding to current PC Hitool for ARM User s Manual Controlling Execution Chapter 6 ES Displaying Data Memories Registers Displaying Data Hitool gives you three different ways of displaying data You can view data through the datatip in the Source Window an inspect or for even greater control over your data you can use Hitool s powerful Watch Window Datatip One of the easiest ways to view data is through the datatip To view the datatip place the mouse on the desired variable in the Source window wait a moment until the datatip appears giving the information LINES li xl Ji iter 2 whsil
136. o new a project you can choose one of the following and the following New Project dialog box will pop up 1 Click on New menu item from File menu 2 Click on New button on standard toolbar Then select Hitool Project from the following pop up New dialog box Configuring a Project and Building Target Hitool for ARM User s Manual Hitool for ARM User s Manual Chapter 3 33 Hitool Project Form Microsoft Excel Worksheet Or 3 Click on New command from Project menu Project page will pop up as the following Project Name JE buildsamples armbuild prime prime mpi Project Type ARM Library Thumb Executable Thumb Library ARM Thumb Interwork m Language On 9 lt Back Next gt Cancel Help Project Page Specify Project Path and Name You should specify the name and path of a blank project in the popup Project page first There are two controls for this option an edit box and a button You can enter the project file path and name in the edit box directly or click on the button If you click on the button New Project dialog box will pop up as the following in which you can set the project file path and fill in a name serve as your project file name The default extension of the project file is mpj Configuring a Project and Building Target 34 EN Chapter 3 New a Project 2h x Lookin prime e A e File name mmemi Files of type Project
137. o reset and reinitialize the target processor the following happens 1 The processor reset pin is asserted 2 All windows are updated with the following consequences The Stack window display is invalid because the stack is reset PC counter points to the start of code Edit a Memory mapped Conirol Register in the Peripheral Window Double click on anywhere on a register line to bring out the dialog box This dialog box enables you to edit the register value or the individual register fields If you double click on some field of a register the dialog box displays the dialog box that field is highlighted For example 1 Expand the IIC group and expand the Control Status Register 2 Double click on any fields of the register to bring out the following dialog box Hitool for ARM User s Manual Displaying Data Memories Registers 102 Chapter 6 CS i 6 6 l Begleter Vale ielda RES Reset the C bes coatr Busy Bus is currently not in s3 ned bugy Coma Comcrete alert condition ADE Do meat genesate an ACK at Sth ECL LAE The most recent SOA is Paw ACK lo recebyed EK Lir mbln HF amp eicared Field Veto f Reset Theta z Arert the Hi bue controller we ces cpm ma tep 3 Change the value with the Field Value spin box or fill in the value directly 4 Click on Write button to change the register The dialog box stays open enabling you to change other register fields 5 Click on
138. oaded data in disassembly format including opcode section is to store the uploaded data in disassembly format including both address and opcode section This shell command is used for uploading memory code by formatted hex record to a file Keyboard Examples Upload 0 FF test BIN Hitool for ARM User s Manual WAtch Watchpoint Hitool for ARM User s Manual Chapter 12 187 WAtch C Expression C Expression specifies variable or c expression The quotation mark must be entered Keyboard Examples WAtch a Watchpoint ADdr addr AMask mask DAta data DMask mask B W Fetch Access Read Write HWO HW1 HWO0 specifies HWO Watchpoint HW1 specifies HW1 Watchpoint ADdr is the prefix when specifying the address of Watchpoint addr specifies the address of Watchpoint AMask is the prefix when specifying the address mask of Watchpoint mask specifies the address mask of Watchpoint DAta is the prefix when specifying the data of Watchpoint data specifies the data of Watchpoint DMask is the prefix when specifying the data mask of Watchpoint mask specifies the data mask of Watchpoint B specifies access memory in Byte format Hw specifies access memory in Half Word format W specifies access memory in Word format Fetch specifies Instruction Fetch Access specifies Data Access Read specifies only after meeting Read Data to memory condition will watchpoint f
139. ons section 5 Check Enable to enable the WatchpointO 6 Click on OK button to set the watchpointO and close the dialog box Thus WatchpointO has been set in Watchpoint dialog box as illustrated below e x z Viichpeand 1 alins meik peserved for acte addr di puc CYC diis D T mE dais 1 men PF r Miskckpaiuiz Optan E Embi yewi wine E Ope ff Wakhid Fe ncc ost care ctos F Vrat Iz od EF 5 r m WatchpointO Setup with Watchpoint dialog box Breakpoints amp Watchpoints Hitool for ARM User s Manual Chapter 7 117 Output Window Command Pane Hitool provides you with powerful commands to directly control software breakpoints and watchpoints instead of operation through window or dialog box You can use shell command to set watchpoint both for Angel series and for Wiggler series For further information see the chapter of Command Reference Configuring Exception Trapping Settings Hitool for ARM User s Manual These settings control how ARM and the target handle and share run time exceptions Exception Trap Settings may be configured from the Hitool Window GUI To configure exception trap settings click on Options menu item from Options menu Switch to Exceptions tab and check the Exception Handling For Wiggler series the debugger sets the corresponding bit of the Vector Catch register to monitor the excep
140. ool also provides other utilities to facilitate your project development such as include batch macro etc Project Management Hitool is based on Project Management The Project Manager enables you to construct necessary environment to automate the process of debugging or building Hitool adopts the concept of project to maintain information about the system you are debugging or building A project describes how to load an executable file set breakpoint how to build executable file etc Hitool debugging actions start from opening project Opening a project means to restore all the environment you have set previously and auto load the executable file into memory To make it easy to use Hitool for ARM User s Manual Hitool for ARM User s Manual Chapter 2 23 Hitool also provides Load function When you load an executable file directly Hitool will auto open new a project first Its project management further lies in project setting saving When you close a project or open another project all the elements such as breakpoints watchpoints and so on will be saved automatically with the project If you open the project next time all the settings will be restored Also Hitool permits you to build your own executable file You can refer to Building Project in Chapter three for more detailed information about building In the project a portion of project setting controls how to build it By default no source file is added So if you
141. ouble click on the Byte Pool Information dialog will pop up as the following and show detailed information about an individual memory byte pool including a list of threads currently suspended on attempted memory allocations that have not yet to be satisfied If a memory byte pool is deleted while a Byte Pool Information dialog for that pool exists the Byte Pool Information dialog will not automatically disappear It will continue to show the contents of the memory byte pool control block Byta Foel Hama bie Fool Example paese Total Seareh Adres pec 5 5 5 Menory Start hb ZLLNEENNENM Suspended Threads o0 Basa Faqueat Stik Une Thats ara ne itema Le ghee in thia viar Byte Pool Information dialog Hitool for ARM User s Manual Hitool for ARM User s Manual Chapter 10 155 Byte Pool Name The name of the memory byte pool In Use The number of bytes currently allocated from this pool This is shown in the form allocated total where allocated is the number of bytes currently allocated and total is the total number of bytes Following this the number of available bytes total minus allocated is shown Note that the available byte count does not compensate for the two pointers of overhead that each memory fragment requires In Use Button Click on to display a Byte Pool Contents dialog showing all allocated and unallocated fragments in the byte pool Fragments The number of
142. out to flash or erase Programming Flash Step by Step This section provides you with a step by step approach to using the Flash programming GUI in the Flash programming dialog box Step 1 Invoke the Flash programming Dialog Box Open the Flash Programming dialog box by selecting the Flash Programming item on the Tools menu item Step 2 Select a File to Program Into Flash In the Flash programming dialog box File field enter a filename or click on the button to choose a file in the following Browse for file dialog box In general the Flash GUI always remembers the last file that you have chosen to Flash Gem 3 r amp y eH Iz dra arspraes L3 Pe D Hash LJ shave I rclude 2 ndteemp inc dna zi man j pecugein meome Flies of bese lrchade fie omnl x asa Click on the file you want to program into Flash and then click on the Open button to close the dialog and bring the chosen file back to the main Flash programming dialog Miscellaneous Tools 160 Chapter 11 NOTE All files for Flash programming MUST be in the BIN format Step 3 Enter the Flash Information Address of Your Target Choose Maker Device and Port Size from the list box Flash and Optionally Specify Custom Erase need to know where your target Flash is located on your board You have two options here 1 Enter the starting address and size of your device In this scenario Hitool will calculate the ending address of your device s
143. p select and pin assignment registers should be following initialization 2 Edit a copy of the appropriate init inc file as plain ASCII text with any text editor or word processor in the include file syntax provided by the Hitool 3 Define each register on a separate line to apply the correct values for your target 6 Semihosting options Vector address Top RAM are only available for ARM toolchain NOTE If the options about semihosting aren t configured correctly you can t debug the code correctly Semihosting is a mechanism for ARM targets to communicate input output requests from application code to a host computer running a debugger This mechanism could be used for example to allow functions in the C library such as printf and scanf to use the screen and keyboard of the host rather than having a screen and keyboard on the target system Semihosting is implemented by a set of defined software interrupt SWI operations The application invokes the appropriate SWI and the debug agent then handles the SWI exception The debug agent provides the required communication with the host In many cases the semihosting SWI will be invoked by code within library functions The application can also invoke the semihosting SWI directly Refer to the C library descriptions in the compiler manual for more information on support for semihosting in the ARM C library At this point you can initialize communications Initializ
144. phore Suspended The thread cannot run because it is suspended by Semaphore component Event Suspended The thread cannot run because it is suspended by Event component e Block Suspended The thread cannot run because it is suspended by Block component Byte Suspended The thread cannot run because it is suspended by Byte component Completed The thread has returned from its entry function Executing The thread was executing when the system was halted Priority The priority information of the thread when the system was halted The first number is the priority level of the thread The second number in parentheses is the preemption threshold of the thread Stack Use The amount of stack currently in use by the thread Two numbers separated by a forward slash are displayed The first number indicates the amount of stack the thread has used and the second number indicates the total amount of stack space allocated to the thread Register Content The registers list and its value With emulation halt when Thread is created and switch between Thread it displays the current registers pop in stack If Thread state 1s running it will display the registers which are the same as those in Register window Function Address Entry Point Module Level These columns displays the stack information of the highlighted thread ever called Otherwise they are blank They are the same as the contents in the upper pane in
145. play the configuration panel 3 Choose and set the options as your requirement in the Debug and Optimization panel of Project Settings dialog box as follows General m m E Assembler Debug Optimisation Assembler Float Point and Warning r Debug control Compiler IV Enable debug table generation Compiler J Produce info in DWARF format Warning IV Produce info in DWARF2 format Debug Optimisation I Produce info in STABS format Preprocessor target uses the same floating point format Code Generation Library and Linking r Optimization Level Library and Linking No Optimize Most optimize a veu C General Optimize C All Optimize r Equivalent Command Line 00 g gdwarf 2 Cancel Debug Control Enable debug table generation Produce debugging information in the operating system s native format STABS DWARF2 or DWARF Produce info in DWARF format Produce debugging information in DWARF format Produce info in DWARF2 format Produce debugging information in DWARF format Produce info in STABS format Produce debugging information in STABS format Target uses the same floating point format Hitool for ARM User s Manual Chapter 3 55 When running a cross compiler pretend that the target machine uses the same floating point format as the host machine Optimization Level No Optimize 0 Do not optimize General Optimize 1 Optimize Optimizing compilation takes som
146. points amp Watchpoints 108 Chapter 7 more complex breakpoint If you want to set more complex breakpoints you can write a macro with VBScript You can set specific conditional software breakpoint by accessing the Breakpoint dialog box as the following 1 Choose Breakpoint command from the Debug menu Then set the conditional breakpoint in the Breakpoint dialog box as illustrated below 2 Select the breakpoint type Break at Location If Condition from the Type combo box 3 Fill in the address in the Location field condition in the Condition field and Count in the Count field Breakpoint Type Break at Location If Condition Break at Location Location 00008048 Count Conditor p3 2 Delete 00008048 1 3 lt COUNT 2 gt Hisce UU Save Restore More gt gt Delete All 4 Click on Add button to add the breakpoint into the Breakpoints list pane 5 Click on OK button to exit When meet the condition j 3 count will be increased by one After count is increased to the count number 2 breakpoint will work and emulation will be stopped Breakpoints amp Watchpoints Hitool for ARM User s Manual When a breakpoint is reached emulation halts before the instruction at the breakpoint address is executed Hitool for ARM User s Manual Chapter 7 109 Breakpoint dialog box With the Breakpoint dialog box open you can view and set software breakpoin
147. port Compiler Configuration and JTAG Port 200 Appendix A TDI JTAG Test Data In The TDI level is used to serially shift test data and instructions into the ARM7TDMI during JTAG test operations TMS JTAG Test Mode Select This pin controls JTAG test operations in the ARM7TDMI TCK JTAG Test Clock The JTAG test clock shifts state information and test data into and out of ARM7TDMI during JT AG test operations TDO JTAG Test Data Out The TDO level is used to serially shift test data and instructions out of the ARM7TDMI during JT AG test operations Compiler Configuration and JTAG Port Hitool for ARM User s Manual
148. ps the function name consistent 3 Stacks Sizes In arm h header file you can see there are seven stacks and their default stack sizes SVC Stack 0x10000 bytes ABT Stack 0x1000 bytes UNDEF Stack 0x1000 bytes IRQ Stack 0x5000 bytes FIQ Stack 0x5000 bytes Configuring a Project and Building Target 42 Chapter 3 USR_Stack 0x1000 bytes SYS_Stack 0x 10000 bytes The default sizes of these stacks are recommended not compulsory You can resize them according to personal requirement NOTE The total amount of these stacks sizes should not exceed the end label The end of program sections That is we allocate the stacks from _stackBottom Higher address to end Lower address If the space between end and stackBottom is not large enough to hold all the stacks an underlying error will be generated The error resulted in during debugging cannot be detected during building So be sure to estimate and specify the stacks size carefully before building 4 stackBottom _stackBottom is a symbol that tells the base address of stacks You can specify it in Stack Top option in Link Listing panel in Project Settings dialog box In order to provide stacks with plenty of space we strongly recommend you to specify it to the highest address of RAM And this value must be word aligned Otherwise there will be running error only during debugging After finished adding source files you can begin building project Building
149. ps up The left list box lists the file names You can select one or more source files or header file to add into the project or remove the files You can select none to configure the project later NOTE Make sure that the source files and the project must be in the same path Configuring a Project and Building Target 36 Chapter 3 FABuildS amplesARMBuiid Filter E prime primel c gt Prime2 c Prime3 c lt gt lt Cancel OK Click on OK button in the dialog box Configuring Attributes of the Project After you specify the project name a project name is created automatically At the same time Project Settings dialog box will pop up automatically as the following Project Settings x General E Assembler Assembler Float Point and Warning aee ler Project type ARM Executable Warning Debug Optimisation Output Name pime elf Preprocessor Code Generation Library and Linking Dutput Directory Choose Library and Linking Link Options Target Link Layout CPU amrtdmi 05 None 7 Cancel Apply Help Project Settings dialog box Configuring a Project and Building Target Hitool for ARM User s Manual Chapter 3 37 The Project Settings dialog box handles settings that affect how the Hitool IDE builds a specific target file within a project Simply click on OK button in Project Settings dialog box to close it
150. psum 8 TT amose Timer Information dialog Timer Name The name of the timer Remaining Ticks The number of initial timer ticks and the timer reschedule tick value There are two numbers separated by a forward slash The first number specifies the initial number of ticks when the timer is created and the second number specifies the number of ticks for all timer expirations after the first A zero in the second number specifies a one shot timer Both numbers range from 0 to Oxffffffff Hitool for ARM User s Manual Hitool for ARM User s Manual Chapter 10 151 Re initialize Ticks The number of timer ticks when the timer re initializes Timerout Param The parameter passed to the callback function when the timer expires Control Block Shows the address of the timer control block Control Block Button Click on to invoke Timer Control Block dialog box which displays the detailed information list of Timer Block Pool Pane The Block Pool Pane shows a list of all memory block pools in the system arranged in the order they were created H r Fall Bleck Fol Exaepla 3 Uiii The Block Pool Pane has four columns Name Block Size Full and Suspended Threads Each of these is described below Name The name of the memory block pool Block Size The size in bytes of each memory block in the pool Block sizes displayed here are rounded up by the ThreadX kernel to an even multiple of four bytes to allow s
151. rkspace prime_inter_atmel mpj G ARM C Sources zy Thumb C Sources LJ Assembly Sources Loader Files List Files G Map Files Link File zy Include Files Right click on any setting within the Project Window and you have instant access to key project settings All New Graphical Symbols The Project Window Symbols pane allows you to view a full graphical display of your project symbols The Symbols pane offers convenient drag and drop capabilities as well as right click menus For added convenience you can expand and contract Modules Functions Locals and Globals with just a click of the mouse Simply click on a module or a function variables and you will see the module selected type address attribute and size Introduction 4 Chapter 1 Introduction EHS p met c Ei _ man i d prime 4 uei a i Se demo_stait s Eii Fies Class Symbols Fast and Easy Source Browsing The Source Window is the primary window for all views of your application Right click anywhere on the Source Window and a pop up menu appears enabling you to perform a variety of operations easily and efficiently to easily control the execution and monitoring of variables inside the Source Window Simple Viewing of Modules and Functions When you read symbols into Hitool the software builds an internal table of all of the modules and functions that you have compiled and or assembled
152. rrespondingly with the memory contents The ASCII field displays the memory as ASCII characters or a period a period represents a non printable character drea i DDOgOBUOD OD C DOOGBOLO 27 UG OO EB 7D DDUOBUZD 14 J0 H4 ES 10 AS 1E E9 DD DOOGBOFD 04 EG 4C EZ 08 DO 4D E2 DD 30 AD DDgOBU4D 14 20 0B ES 10 20 1E ES 10 0 DOOOBOED 14 20 H3 ES 00 AS 1E E9 DD CD AD Dn coBUeD 4 EG 4C E2 10 DO 4D E2 ic OD GB DDgOBU7D 10 3O 1B ES 19 30 DE ES 10 20 IB DD OBUSD OF 00 OF C 14 20 1E E5 18 30 IB DD OBUSD 14 30 0B ES 18 30 IB ES 01 3D DDn OBUAD IC UG 1B ES 18 10 IB ES EA FF F Memory Window Memory Window 132 Chapter 9 Editing Memories To edit a memory field 1 Move the cursor into the field you want to change 2 Type over the field to modify it A field is defined as either a center column or one of the 16 ASCII characters 3 Move the cursor out of the field to change the field An illegal entry will receive no response from Hitool Illegal entries include Non numeric values in Decimal display e Non hexadecimal values in Hexadecimal display The default display for address and data are in Hexadecimal Use the Single line Assembler To assemble code starting at a specified address do the following 1 In the Memory window click on ASM Code button on the memory toolbar to display disassembly lines of code 2 Enter exact hexadecimal address and then click on Go button on the memory too
153. s Copy Fu Test Source Hange Slant address zx Found dimene ot CODDBDG Found dillsence ot ODD06001 Where Source Range Sets the start address of the first block to compare Start Address Sets the end address of the first block in the next field End Address sets the end address Length sets the address range Destination Sets the start address of the second block to compare Start Address Stop when When selected checked the compare command will mismatch is stop when first mismatch address is found found Output Message box shows the compare result for the compared block Click on Apply button to start memory compare then Close button to quit Memory Window 136 Chapter 9 Memory Window Memory Copy Dialog Box Memory Group x Search Compare Copy Fil Tes r Source Range Start Address End Addres jeo 0 8020 m Destination Start Address 8040 Output Memory copy OK Close Apply Help Where Source Range Start Address Destination Start Address Output Sets the start address of the first block to copy Sets the end address of the first block in the next field End Address sets the end address Length sets the address range Sets the start address of the destination block to copy to Message box shows the copy result for the copied block Click on Apply button to execute memory copy then Close button t
154. s Setting Little endian Little endian Big endian Big endian Warn if global constructor are used Warn if global constructors destructors are seen Warn if a common symbol combined with another Warn about duplicate common symbols Warn for undefined symbol once Warn only once per undefined symbol Do not link against shared libraries Do not link against shared libraries Give progress info Output lots of information during link If you set this check box the progress information of linking will be displayed in build pane Image entry point Entry of the whole program For more detailed information please refer to Creating a project section in this chapter carefully It must be consistent with the entry in start up code Configuring a Project and Building Target Hitool for ARM User s Manual Chapter EE NOTE Do not enter a number just a symbol in Image entry point option 4 Click on Apply button to save your changes temporarily Configuring the Linking Listings Use the Project Settings to configure options for the layout of the output file 1 Display the Project Settings dialog box for the build target you want to configure 2 Click on Linking Listings in the Project Settings dialog box panel list to display the configuration panel 3 Choose and set the options as your requirement in the Linking Listings panel of Project Settings dialog box as follows B Fee Link Layo ut Assembler F
155. s the total number of memory blocks Following this the number of available blocks total minus allocated is shown for convenience In Use Button Displays a Block Pool Contents dialog showing specifically which blocks are allocated First Available A pointer to the first available memory block or zero if the block pool is completely allocated The address displayed is actually four bytes before the memory block These four bytes of overhead contain a pointer Available memory blocks are kept in a singly linked list starting with the first available block In allocated blocks this pointer points to the memory block pool control block which allows blocks to be released on a call without specifying the block pool from which the block was allocated Pool Size The number of bytes in the memory block pool storage area Control Block The address of the memory block pool control block Hitool for ARM User s Manual Hitool for ARM User s Manual Chapter 10 153 Control Block Button Click on to invoke Block Pool Control Block dialog box which displays the detailed information list of Block Pool Suspended Threads The number of threads currently suspended on an attempt to allocate a block from this memory pool with a call A list of threads currently suspended on an attempt to allocate from this memory pool Double click on any listed thread to display a Thread Information dialog The Block Pool Contents dialog shows a list
156. s to begin It is a Hitool for ARM User s Manual QUEry Hitool for ARM User s Manual Chapter 12 181 hexadecimal address representing a hex address in the memory space of the emulation CPU adr2 is the hexadecimal address specifying the last memory location where memory display ends Length is the required prefix when specifying a length value length is a hexadecimal value specifying the memory size to be dumped displayed B specifies display the memory in Byte format Hw specifies display the memory in Half Word format W specifies display the memory in Word format To display the contents of memory in a specific range input a starting address and either an end address or the desired length If no end address is given the contents of memory will be displayed one page at a time When an end address is specified the contents of memory are displayed continuously until the last location in the range is reached Memory contents are displayed in hexadecimal Keyboard Examples Memory 400 Display memory from 400 QUEry symbol hex adr symbol is the symbol name or line number of the address in query hex_adr is the hexadecimal address setting of the symbol name in query To query for the address of a specified symbol or the symbol of a specified address Hitool will search through the symbol table and list the specified symbol or address Keyboard Examples QUEry 60 Query the symbol corresponding to t
157. se the dialog box or click on Cancel button to cancel Watch Window You can retrieve data directly from the Watch Window by right clicking to invoke the pop up menu Select the Add Item Hitool for ARM User s Manual Hitool for ARM User s Manual Chapter 6 99 Bp pp np Eleoe BDBDDHDIDO aH ERUNT tlegs D 1 ZDkDlI drid lwge i i cii 7 EEA al 1 DEDI Elege 3 1 fei fleas 4 1 0w01 E Lege 1 ixi Elegs 6 1 iDxDI1I Eleae 7 i iDxDil Once this item is selected a blank box will appear allowing you to enter a variable register memory Variables To add a variable in the Watch Window type in the variable you wish to view Memories To view memory of specified address type in the start address and end address you wish to view Be sure that the format of the item you type must be the same as the format of its kind in the Watch window Registers Placing a register into the Watch Window requires you type the register you wish to view Be sure that the format of the item you type must be the same as the format of its kind in the Watch window Viewing Data Registers Memories in the Watch Window The Watch Window allows you to continuously monitor or inspect local and global variables registers memories in your application Every time the target stops the Watch Window is updated with the most current value of variables registers and memories The Watch Window provides a
158. shell commands you may edit it manually The following table lists all the sub commands used when you write include file Sub commands Description Used before stop execution Start sign used at the beginning of a group of sentence End sign used at the end of a group of sentence label Used to set the location label where to go to Used to set the time of beep when executing batch BELL count file ELSE Conditional branch sentence used together with IF or IF_NOT sentence ERROR Used to set stopping or continuing execution when ABPRT CONTINUE an error happens GOTO label Used to jump to the label location and start execution ICE Command Used to set to use the shell commands Hitool supports IF condition Used to set when the condition in quotation marks is matched perform the sentence in the braces If C Expression Used to set when the C Expression in parentheses is matched perform the sentence in the braces IF_NOT condition Used to set when the condition in quotation marks Hitool for ARM User s Manual Miscellaneous Tools 162 Chapter 11 is mismatched perform the sentence in the braces IF NOT C Expression Used to set when the C Expression in LOOP parentheses is mismatched perform the sentence in the braces Used to start loop LOOPEND count Used to end loop after specified time Running Include If you have finished writing include you may invoke Run Include dialog
159. shortcut menu of Source window multiple times to undo your previous edits For example if you cut a word paste it then type some text you can reverse all three actions by choosing Undo three times The first undo removes the text you typed the second unpastes the text you pasted and the third uncuts the text you cut to restore the text to its original condition The maximum times of the actions you can undo is defined in Max Undo Len option in Debug tab of Options dialog box Searching and Replacing Text This section describes how to use the Hitool IDE search and replace functions The search and replace facilities in the Hitool IDE enable you to search and replace from either the current editor window or other text files You can search for and replace text in a single file in every file in a project or in any combination of files The Find dialog and Replace dialog shown as below provide comprehensive search and replace facilities The Find dialog box enables you to search for text patterns in the active editor window When you find the text you are searching for you can change it or look for the next occurrence ee Fe fete Mach whole ved onde Direction Cancel 7 Much gasd LE DD Find dialog box If you are looking for repeated instances of the same string do one of the following 1 Click on Find Next button in Find Dialog box 2 Choose Find Next from Edit menu 3 Click on Find Nex
160. specifying a length value file is the name of file where disassembly instructions save into SAvedisasm is used for saving disassemble instruction within the specified address range into a file Address must be hexadecimal values Keyboard Examples SAvedisasm 0 FC a Save disassembly instruction into file a from address 0 to F SRecall filename filename is the symbol file where the to be recalled symbols are located Use this shell command to retrieve stored symbols from file Symbols were previously created with Create command and saved with the SSave command This command is useful when retrieving stored symbols to insert them into a newly created symbol table If symbols already exist in the new symbol file when the stored symbols are retrieved the symbols from disk file are appended into the newly created symbol table Keyboard Examples SRecall TEST1 SYM Command Reference SSave Step SYmbol Command Reference SSave filename filename the filename to save and store the created symbols If filename already exist it will be overwritten This command is use to save the symbols created by Create command Keyboard Examples SSave TEST1 SYM Step Over count FOrever Over is the option to treat subroutines Call INT and loop instructions REP LOOP as single step instruction With this option you need not stop into subroutines you are not concerned about Hitool runs through such subroutines witho
161. stem Variables Grouped by Function 168 h TET a NE EAE EN AESA A i te en teer A ene O adeft duke Reis dot AAS 170 SVaniable avae 5 ra ee rtr re rre ert ER 170 Ye EE 170 AGcess B sow Wy ai ou siio i teet rrr rr rte eer eis 170 CAEDE 170 ALias original name new name esee 170 Assembler ete rr tree deer a eve as e RR RN EROR E TOR HER RARI 171 Assemble adf s i sce i ore eoe 171 BreakpolTnt maet t Cos t e ERE a e RENE Ep eene IRE es DI PERRO eun Pre DRESS 171 BReakpoint adr itti ite erri erint eterne 171 BIS oattecssst rrt atre tony v teret tied vtt cot aer 172 BYte adr datum datum32 sess 172 PvE 172 CLear All adr HWO HW1 ori eneee iiis 172 COM pare daiis trai o tte eR SEE He OPERI ops t tuat es vas oet cive de Pa EIE OL 173 COMpare adr1 adr2 Length length adr3 B Hw W 173 COPY acest teed eet tt dino Sella teat Sieh vhs laore tee Lori COR EE OSTIO E IP IR CH Posee Reg 174 Copy adr1 adr2 Length length adr3 B Hw W J eese 174 GG Co EE 174 CReate Zsymbol adr ves s 5nd rrr ree e ete 174 Ib ERE 175 DElete symbol variable All esee 175 Dis sserible 32 etcetera Han RE B RERO A EEN ERGO RR TUN 175 Disassemble adr1 adr2 Length length eese 175 Fill S c iteetestecoc e tette t tas E Sea DER ATC NUR ces SORTI 176 Fi
162. sult for the tested block Click on Apply button to execute then click on Close button to quit Memory Window Hitool for ARM User s Manual Hitool for ARM User s Manual Upload Download Memory To save the current memory into a file which you can load again next time do the following 1l Select Memory Upload from Tools menu of menu bar then Upload dialog box will popup 2 Inthe dialog box select the path file format specify the range of memory then save it into the file you specified Lipa Upload dialog box S Record Choose to upload download memory in S Record format file Bin Choose to dump download memory in binary format file Disassembly Choose to dump download memory in disassembly format file It includes OPCode and Addr two sections When dumping OPCode and Addr indicate whether the OPCode and Address are included in the file When Downloading the OPCode and Addr indicate whether the file includes OPCode and Address Start Specify the start address of the memory you want to upload Or Specify the start address of the memory you want to upload if the target file does not include address End Specify the end address of the memory you want to upload Memory Window 140 Chapter 9 Viewing Memory Hitool offers a number of different options for displaying memory in the Memory Window e Memory Toolbar From the Memory toolbar we can quickly show memory in different modes navigate t
163. t button on Edit Toolbar Viewing amp Editing Source Code Hitool for ARM User s Manual Hitool for ARM User s Manual Chapter 4 75 You can use the Replace dialog to perform find replace operations for e text in a single file e text in arbitrary files that are not part of your current project mie e Pepacemi r Bee Fleplace Al Match whole ond only P Match case Cae Replace dialog box You can use text strings text substrings and pattern matching in find and replace operations In addition you can use the following Find In Files dialog box to perform batch search and display the results of a find operation in Find In Files pane in Output window Fr in fites 4 o In Heats pper nz azpp E arces n bolder E lhini amsaarqiss sr Hl owes sich Cad Look in mbes Mach eale sod only Find In Files dialog box The Hitool IDE Find In Files dialog enables you to search multiple files for the occurrence of text strings The Find In Files dialog box enables you to specify searches through e Source files in a project e Header files in the project Viewing amp Editing Source Code 76 Chapter 4 e Any additional files you specify Closing the Source Window To close the Source Window use the window s control handle located in the upper left hand corner of the window e Click on the control handle and select the Close menu item in the pop up window control
164. t current value The Watch Window provides an outline format for watching data memories and registers You can expand or contract with just a simple click iter x bbd dl B PIFC 0a000THIAC inuit 00h26 30 00 DE lagz BDid ppr LELAI 1 a01 mE j i x il dLls25 1 all Ilsas 4 J sl 11229 p ida n dieas 8 1 UxUl I lsaa 71 Opening the Watch Window You can open the Watch Window by doing any of the following Locating the Debug toolbar and clicking on the Watch Window icon Displaying Data Memories Registers 94 Chapter 6 Displaying Data Memories Registers Clicking on the Debug Window menu item from the View Menu Then choose Variable item Placing Data into the Watch Window With the Watch Window open there are a number of ways to place information into the window so that it can be viewed or modified The Source Window The first step in placing data into the Watch Window is to select a variable which can be done a number of ways Double click on a variable e Right click once on a variable Click in front of the variable While holding the button down you can drag the mouse across the variable to select it After selecting a variable in the Source Window there are a number of different ways to place it into the Watch Window One method is to click on the variable after it has been selected When the folder icon appears you can drag it directly in
165. ter the setup program is loaded you will need to indicate the directory where you want the release to be installed By default it will be installed in the following directory C Hitool ARM where C is the system driver Click on the OK button if the above default directory is the location where you want to install the release We recommend that you use the default C Hitool ARM directory so that the changes you will need to make to the demo templates are minimal Otherwise you can edit the path as necessary Then click on the OK button 6 Select the type of Setup you would like to install then click on Next button to go on Getting Started 14 Chapter 2 Setup Type Chick the papa of Setup pou peia Pen chek Hid rna Pragam val be installed vih the most common x opion Recommended lor mast usas f Gonpsd Program vail ba inita wih amnium nrquised epinar Tou mag choose the optiona pou wamni bo install Heomeddssb ee RE If you choose Typical type most common components will be selected That is default If you choose Custom type the Select Components dialog box will popup and you can select components in it Select Components Select the components you went bo install dew the components you do ral wart bo install Gigon Shaved DLLs 2260 K Register aE Descspson Space Fiequined Space Araabia Getting Started Hitool for ARM User s Manual Hitool for ARM User s Manual
166. the semihosting setting unless users change the default SWI instruction setting during application In addition to using semihosted SWIs many applications will need to install their own SWI handlers into the vector table Then the semihosting vector must be modified to point to a location at the end of the application handler that is only reached if your handler does not recognize the SWI or recognizes it as a semihosting SWI Note that the instruction at the vector address never gets executed because the debugger returns directly to the application after processing the semihosting SWI However using a normal SWI return instruction ensures that the application does not crash The ARM C library startup routines use system SWIS to set up the heap and stack In this case the vector must initially point to the system vector until the application is ready to install its handler So you should set a breakpoint in the application code just before the application handler is installed to change the vector In Target Control tab you also can set ADP log Command Line Semihosting argument etc Hitool for ARM User s Manual Chapter 13 191 NOTE ADP log group is only available for Angel or Jeeni protocol Command Line option specifies the argument of the image debugging ICEBreaker lockpoint shows or sets the locked EmbeddedICE logic units If Log to File too option is checked the device driver level data or information is logged
167. tion But for Angel series it just sets a DWORD value to Angel debug monitor or Jeeni which will monitors the exception Keyboard Format Giectoy Macro Fles Debug Exceptions T aget Control Se Salad tea KO EE High vacia Addis v aese a FE CWODOO0004 Uindefined Instruction F se High Add Some ARM implementations alle D onoma WI the tepien locaton do ba e 0000C Paniai A moved from their romal iange xOODODOOC THIT v DODDI aa Abest in an allemalree address range BF Addiers Exception FFFFDODO U FFFF TIC Cher Sy Fac Pisses reference your chip cwon cmcrri manual bo see whether the high vector aim supported FF Enn wet Jac ftw Breakpoints amp Watchpoints Chapter 8 119 Project Window Project Window Overview After you launch Hitool Project window will be open by default The Project Window is modeled after the Microsoft Windows Explorer The window consists of three panes with the right side Symbols pane providing an outline of the three categories of symbols Modules Functions and Variables The left side of the window provides an outline view of project categories And the middle of the window provides all the class information defined in source files Working with Project Files pane makes it easy to configure your embedded software projects and save the project settings into project files and then restore them with just a few mouse clicks Files pane shows t
168. to the Watch Window Another method for moving data is to right click on the selected variable to invoke the pop up menu From the menu select the Watch Variable item bers whiledi 4 hs iar Pi Laer is liss j Fii Diopsaj i rani eu 37 a a For m 1 B Comet ta Unix hi fnr od Select Al Mw 1 isk j Sebo Amerbhy bk 1 pto bar Source z Wich Reishee Vespesct Lr t SiE k p uk Sak Ciaar Drapo ut Gotz Cursor Lr H Juma tr Curazr SweerT 45 Eens of Hitool for ARM User s Manual Hitool for ARM User s Manual Chapter 6 95 Project Window Symbols Pane Hitool also allows you to select and place either local or global variables into the Watch Window from the Project Window Symbols Pane Global Variables To place a global variable into the Watch Window you can either drag the variable directly into the Watch window or use the pop up menu To drag the variable click once to select the variable When the folder icon appears keep the mouse button depressed and drag the variable into the Watch Window then drop You can also select the variable and right click to invoke the pop up menu From the menu select the Add Watch item ZE pi mm ae J rial amp oman 2 i a prre e k count iter m2 preze odd Watch J Fux ei Bs demo tuts 8 3 Fies li Class Local Variables To place a local variable into the Watch Window click on the n
169. ts The dialog box also allows you to view the status and address of the all the software breakpoints you set Opening the Breakpoint dialog box You can open the Breakpoint dialog box by doing one of the following Locating the Build Toolbar and clicking on the Breakpoint icon Clicking on the Breakpoint menu item under the Debug Menu Specifying the Breakpoint State and Type Breakpoints can be enabled disabled or cleared An enabled breakpoint is defined and active emulation breaks when the breakpoint is reached A disabled breakpoint is defined but is inactive emulation does not break when the breakpoint is reached The two states enabled and disabled allow you to turn breakpoints on or off For example enable a permanent breakpoint and emulate until that breakpoint is reached Then disable the breakpoint and continue emulation Later you can enable the breakpoint again and continue emulation Deleting Selected Software Breakpoint In the Breakpoint dialog box highlight the breakpoint you wish to delete and click on Delete button Disabling Selected Software Breakpoint In the Breakpoint dialog box highlight the existing enable breakpoint that you wish to disable and click on Disable button The plus symbol prefixing the breakpoint will turn into the minus symbol Enabling Selected Software Breakpoint In the Breakpoint dialog box highlight the existing disable breakpoint that you wish to enable and c
170. ttings dialog box as follows Hitool for ARM User s Manual Configuring a Project and Building Target 48 Chapter 3 Configuring a Project and Building Target Project Settings xi omaa Assembler Assembler r Assembler Options ii Point and Warning T Generate Listing file MRI compatible T pss cas JV Generate Stabs information T Local Symbol omp er Strip local symbol Warning Debug Optimisation APCS Instructions liora APCS32 C Thumb Code Generation Library and Linking APCS26 C Thumb Interwork Library and Linking Link Options Link Layout Reentrant Alltype r Equivalent Command Line Wa gstabs Wa mall Cancel Apply Help Assembler Options Generate Listing file Turn on listings MRI compatible Assemble in MRI compatibility mode Generate Stabs information Generate stabs debugging information Local Symbol Keep local symbols Strip local symbol Strip local absolute symbols APCS APCS32 Specify 32 ARM Procedure Calling Standard is in use APCS26 Specify 26 ARM Procedure Calling Standard is in use Reentrant Position independent reentrant code has been generated Hitool for ARM User s Manual Hitool for ARM User s Manual Chapter 3 49 Instructions Thumb Only allow Thumb instructions Thumb Interwork Mark the assembled code as supporting inter
171. u might want to debug an image that is intended to receive input from or write output to devices that are not yet available The Console view provides the semihosting facility that allows you to do so Output from an executing image is displayed and you can respond by entering data from your keyboard or from a file to provide input for the image A typical Console pane view is shown as below Semihosting And Misc 194 Chapter 13 Dhrystone Benchmark Version 2 1 Language C Program compiled without register attribute Please give the number of runs through the benchmark 2 Build Find In Files Console RdiLog Comms Channel Command Semihosting And Misc Hitool for ARM User s Manual Appendix A 195 Compiler Configuration and JTAG Port Compiler Configuration Here we introduce some important options you should pay attention to if you want to debug target file built under e ARM compiler environment e ADS compiler environment ARM Compiler Configuration Assembler and Compiler Configuration In the following Assembler Configuration dialog box Options tab and Compiler Configuration dialog box Language and Debug tab you should choose dwarf format in Debug Table Format section for Hitool does not support asd debug format Hitool for ARM User s Manual Compiler Configuration and JTAG Port 196 Appendix A Assembler Configuration To fully debug you had better choose Source Line Deb
172. ug and Keep Symbols options in Assembler Configuration dialog box and Optimization Level NONE option in Compiler Configuration dialog box Compiler Configuration 2a ee Compiler Configuration and JTAG Port Hitool for ARM User s Manual Hitool for ARM User s Manual Appendix A 197 Linker Configuration In the following Linker Configuration dialog box Output tab you should choose ARM ELF image format for Hitool only supports ARM ELF format Linker Configuration ADS Compiler Configuration ARM C Compiler Configuration In the following ARM C Compiler panel Debug Opt tab you should choose Enable debug table generation in Debug Control section for Hitool needs debugging information during debugging Compiler Configuration and JTAG Port 198 Appendix A Emu Handing Laapas ard Drag lnckala Files Pexgrcecezzs Cada Drainer A H1 ARM Linker Configuration In the following ARM Linker panel Options tab you should choose Include debugging information to provide debugging information during debugging AHU arn Tape T TN Duca li img Eo Anoan Palm Pears urate tecum Buil arar F Raadpes F Mahy F Zeii Finde ndr Fic Alen F2 roud denuppregandcmuakcr O Cava pogan amabo chia inkurg Source lur Fe bemp rodri xar D Fapa rh aif coir ar een Largan Deg T Lua ANAU Ex nd Mri ARM rijetki Fe Chig icd aub AFIM C Copier ANY Ce Comngidaa p Pe orm paini Tharsb 7 L c
173. uitable alignment for the one pointer of overhead Full The number of memory blocks currently allocated This is shown in the form allocated total where allocated is the number of blocks currently allocated and total is the total number of memory blocks Suspended Threads The number of threads currently suspended on an attempt to allocate a block with a call or O if no threads are suspended Double click on The Block Pool Information dialog will pop up as the following and show detailed information about an individual memory block pool including a list of threads currently suspended on attempted block allocations that have not yet to be satisfied ThreadX Window 152 Chapter 10 ThreadX Window Flock Frol Infarmation ET Block Peal Hase Block Posl Enel Black Sine TES A Dz14 Mead Tat al Firat Available Ecacan Faol Sire ALD Cantrel Black orema Sucpardad Thraadz iu Tus Stack lira Thara ara n2 itsesi to ihr im this rise Block Pool Information dialog Block Pool Name The name of the memory block pool Block Size The size in bytes of each memory block in the pool Block sizes displayed here are rounded up by the ThreadX kernel to an even multiple of four bytes to allow suitable alignment for the one pointer of overhead In Use The number of memory blocks currently allocated This is shown in the form allocated total where allocated 1s the number of blocks currently allocated and total i
174. unction Command Reference 188 Chapter 12 Write specifies only after meeting Write Data to memory will watchpoint function For more detailed information about Watchpoint please refer to Chapter 7 Keyboard Examples Watchpoint ADdr 34 B Fetch Set Watchpoint1 at memory 34 NOTE For Angel series Watchpoint command only supports Write Access Address B Hwl W B means the watchpoint is ET type while Hw and W mean the watchpoint is BITMASK type Word Word adr data1 data16 adr specifies the location where the Memory Modify operation is to begin Itisa hexadecimal address representing a hex address in the space of the emulation CPU datal datal6 is a hexadecimal value of up to 2 bytes 0 FFFFH Note that data format in Word implies words Keyboard Examples Word 400 0x A3 Write 0xA3 to memory 400 405 Command Reference Hitool for ARM User s Manual Chapter 13 189 3 Semihosting And Misc Overview Semihosting is a mechanism for ARM targets to communicate input output requests from application code to a host computer running a debugger This mechanism could be used for example to allow functions in the C library such as printf and scanf to use the screen and keyboard of the host rather than having a screen and keyboard on the target system Semihosting is implemented by a set of defined software interrupt SWD operations The application invokes the appropriate SWI and t
175. uring Compiler Settings essent 50 Configuring Library and Linking Settings esse 57 Using the Equivalent Command Line text box sse 66 4 Viewing amp Editing Source Code 67 NMaewing Soutce Godea ott ed P eMe 67 The Source WIBdOW iei economie Hee 67 Source Window Pop Up Menus ssesseesseseeeeeeeee nennen en eerte 69 Source Display Fotmat rccte te e eee ee Pose rn 72 Soutce Patliscie cinta tete n teak Mea pe e aiid eta eva eee INTR XN ES 72 Specifying Source Path un rette e rt eder iet 73 Editing Source Code irr ette n eee He e eae eo reve Pet eR ee ES 73 Undoing changes nete t ree o reet eee pe rr goce reas 73 Searching and Replacing Text sesesesseseeeeeseeeeeeenen eerte 74 Closing the Source Window essent nenne 76 5 Controlling Execution 77 Controlling EXecution deti e Ue D Ret t eis ob es oh nN co rats 77 Debus Toolbar teet tte ia EGER ENTRE TI Debog Ment oen iret inen Hio rem reden TI Hitool for ARM User s Manual 6 Displaying Data Memories Registers 81 BEI EAGIIPADPIDPe I Em 81 IBEir ido EE 81 Itu TE 82 Stack WindOoW ite Ice deer e Fr de Petr dae 83 Displaying Memories Register Senenin nonesma anen naano erai eh 84 Display Memories sssr msi endete ri be determi de heirs 84 Display Registers Rete Re RU etu ue Rete re ue re ee eth o 86
176. ut displaying count is a hexadecimal value specifying the number of instructions to step FOrever is the option to step instruction continuously until forced to stop by pressing lt Esc gt After each step the window information is also updated accordingly if the respective window updating toggle is enabled During Step execution NMI is disabled and other interrupts are masked Keyboard Examples Step Execute one Instruction SYmbol Global Module module Lines global is the option to display global information Module is the option to display symbol only from a module Hitool for ARM User s Manual TEst Hitool for ARM User s Manual e 1E T CB PD 185 module is the option to display symbol from a specific module name Lines is the option to display line address information of all modules It includes the start address of a module and the start end address of each module line This shell command is use to display symbols If no parameter is given all existing symbols are displayed Keyboard Examples SYmbol Global TEst addr1 adr2 Length length Mem Data Addr B Hw W adr1 indicates the starting point of the memory block to be tested adr2 is an unsigned value specifying the last memory location to be tested Length is the required prefix when specifying a length value length is a decimal hexadecimal value specifying the memory size to be displayed The default is decimal
177. working All Type Allow any instruction 4 Click on Apply button to save your changes temporarily Configuring the Float Point and Warning Use the Project Settings to configure float point and warning options for the assembler 1 Display the Project Settings dialog box for the build target you want to configure 2 Click on Float Point and Warning in the Project Settings dialog box panel list to display the configuration panel 3 Choose and set the options as your requirement in the Float Point and Warning panel of Project Settings dialog box as follows General Assembler Assembler Float Point and Warning Compiler Compiler Warning Debug Optimisation Preprocessor Code Generation Float Point and Warning r Floating point Fpat0 architecture Fpat architecture T No floating point multiple instructions No floating point instructions E Library and Linking r Warning Library and Linking No warning Link Options Suppress waming of signed overflow Link Layout Warn differences altered for long displacements r Equivalent Command Line Floating Point Fpal0 architecture Select floating point architecture 10 Configuring a Project and Building Target 50 Chapter 3 Fpall architecture Select floating point architecture 11 No floating point multiple instructions Don t allow floating point multiple instructions No
178. xed Source Window or Disassembly Window 32 while i 33 i gh For iter 1 ter ITER iter OHHH AN EJAM Bp mau ro aizi AGAMA mH E5pn3B B str rd rT1 H x2H Hanahan E51B3 0B Ldr r3 r11 8 x28 adag a a rasa ma cmp r3 Sica Aaa pnaBBBEE ble fixer dad da EAFFFFF h Bx Ak 45 1 ETT count a PD hilt Pale EJAT ooo mau ER ER Hanae d E 5 dBn3 1c str r3 rii B xic 31 Lal ee Furthermore in the low level Assembly Language Mixed Source can be viewed interleaved with source code in Mixed Source Window or Disassembly Window in ARM Only Thumb Only Mixed ARM Thumb mode This feature is only available for ARM Thumb interwork project Hitool offers two different ways to toggle among ARM Only Thumb Only Mixed ARM Thumb mode When either the Mixed Source or Disassembly Window is the active window you can choose ARM Only or Thumb Only or Mixed ARM Thumb from Disassembly mode item in the Option menu to display source code in corresponding mode You can also right click on anywhere in the either the Mixed Source or Disassembly Window and select ARM Only or Thumb Only or Mixed ARM Thumb menu item from the pop up menu NOTE In Assembly window when you switch to Thumb mode the source code may not display properly if they are compiled in ARM mode Viewing amp Editing Source Code Hitool for ARM User s Manual Chapter 4 69 Hitool also offers two different ways to toggle between the hi

Download Pdf Manuals

image

Related Search

Related Contents

安全+第一に、選べます。 - 株式会社東北SR通信システム スタンダード  Description du programme  ZENOTEC MINI - Wieland Dental  Electronic Service Manuals  User Manual - Xpress Platforms  Communiqué de presse - Forum pour l`Investissement Responsable  Manual en Pdf - StarTech.com  Centrum voor Wiskunde en Informatica  Toyo Electric co. Ltd.,  Panasonic Air Conditioner  

Copyright © All rights reserved.
Failed to retrieve file