Command Line development tools provided by ads

Source: Internet
Author: User
Tags configuration settings codewarrior

ADS provides the following command line development tool: armccarmcc is an arm C compiler. This compiler passed the plum hall C validation Suite For ansi c consistency testing. ARMCC is used to compile a program written in ansi c into a 32-bit arm instruction code. Because ARMCC is the most commonly used compiler, This is a detailed introduction. In the Command Console environment, enter the command: ARMCC-help. You can view the syntax format and the most common operation options of ARMCC. The most basic usage of ARMCC is: ARMCC [Options] file1 file2... filen the option here is required by the compiler, fiel1, file2... Filen is the relevant file name. Here are some of the most common operation options. -C: indicates that only files are compiled without links.-C :( note: this is an upper-case C) disable the pre-compiler from removing the comment line.-D: Define the pre-processing macro, the macro definition statement # define is used at the beginning of the source program.
Here, the default value of symbol is 1.-E: stops only preprocessing the C source code.-G: Specifies whether to include the debugging information table in the generated target file.-I: add the path indicated by directory to the # include search path list;-J: Replace the default # include search path with the path indicated by directory;-O: specifies the final output file name generated by the compiler. -O0: not optimized;-O1: This is the compilation option that controls code optimization. The numbers behind the uppercase letter O are different, indicating different optimization levels, -O1 disables the optimization function that affects debugging results.-O2: The optimization level provides the maximum optimization function.-S: preprocessing and compilation of the source program, automatically generate the Assembly file instead of the target file;-u: cancels the pre-processing macro name, which is equivalent to starting with the source file and uses the statement # UNDEF
Symbol;-W: Disable All or selected warning information. For more details about options, you can view the online help file of ADS software. Armcpparmcpp is an arm C ++ compiler. It compiles Iso c ++ or EC ++ into 32-bit arm instruction code. Tcctcc is the thumb C compiler. The compiler passed the plum hall C validation suite Test For ANSI consistency. TCC compiles ansi c source code into a 16-bit thumb command code. Tcpptcpp is the thumb C ++ compiler. It compiles the Iso c ++ and EC ++ source code into 16-bit thumb command code. Armasmarmasm is the assembler of arm and thumb. It compiles source code written in arm assembly language and thumb assembly language. Armlinkarmlink is an arm connector. This command can link one or more of the compiled target files with one or more related library files to generate an executable file, you can also link Multiple Target files to a target file for further link. The arm linker generates executable image files in ELF format. Armsdarmsd is arm
And thumb. It can be used for source code-level program debugging. You can perform one-step debugging in code written in C or assembly language, set breakpoints, and view variable values and memory unit content. The following describes the usage of ARMCC and the general syntax of the preceding four arm C and C ++ compilers. Compiler [PCs-options] [Source-language] [search-paths] [Preprocessor-options] [Output-format] [target-options] [debug-options] [code-generation -Options]
[WARNING-options] [additional-checks] [error-options] [Source] You can control the execution of the compiler using the command line operation options. All options start with the symbol "-", and some options are followed by parameters. In most cases, arm C and C ++ compilers allow spaces between options and parameters. The options in the command line can appear in any order. Compiler here refers to one of ARMCC, TCC, armcpp, and TCPP; PCs-options: Specifies the process call standard to be used; Source-language: specifies the language type of the source program that the compiler can accept. The default language for the C compiler is ANSI.
C. For C ++ compilers, the default value is ISO Standard C ++. Search-paths: This option specifies the search path for included files (including source files and header files; preprocessor-options: This option specifies the action of the Preprocessor, including the output and macro definitions of the Preprocessor. Output-format: This option specifies the output format of the compiler, you can use this option to generate the Assembly Language Output list file and target file. Target-options: This option specifies the target processor or ARM architecture. debug-options: This option specifies whether the debugging information table is generated, and the format when the debugging information table is generated. Code-generation-options: This option specifies options such as optimization, byte sequence, and Data Alignment format generated by the compiler; warning-options: this option determines whether the warning information is generated. Additional-checks: This option specifies several additional checks that can be used for source code, such as checking data flow exceptions, checking unused declarations, and so on; error-op Tions: This option can disable a specified recoverable error or downgrade a specified error to a warning. Source: this option provides one or more file names that contain C or C ++ source code. By default, the compiler searches for source files and creates output files in the current path. If the source file is compiled in assembly language (that is, the file name of the file is. s as the extension), the assembler will be called to process these source files. If the operating system limits the length of a command line, you can use the following operation to read other command line options from the file:-
Filename: open the file named filename and read the command line option from it. You can perform nested calls to-via, that is, the file filename contains another file through-via finlename2. In the following example, read the specified option from the input.txt file and use it as the Operation Option of armcpp: armcpp-via input.txt source. C and above is a brief overview of compiler options. They can be used in the Command Console environment, and can also be used in the graphic interface of ads because they are embedded in the graphic interface of ads. Before introducing how to use armlink, armlink describes the terms involved: Image: an executable file, it is loaded into the processor during execution. An image file has multiple threads. It is Elf (Executable
And linking format) format. Section: the code or data block that describes the image file. RO: short form of read-only. RW: short form of read-write. Zi: short form of zero-initialized. Input section: it contains code that initializes data or describes a piece of memory that must be initialized to 0 before the application is running. Output section: it contains a series of input segments with the same Ro, RW, or Zi attributes. Regions: in an image file, a domain contains one to three output segments. Multiple domains are combined to form the final image file. Read
Only position independent (ropi): it refers to a segment in which the address of the code and read-only data can be changed at runtime. Read Write position independent (rwpi): it refers to a segment. The read/write data address in this segment can be changed during running. Loading address: the address where the image file is located in the memory (when the image file is not running. Runtime address: the runtime address of the image file. The following describes the syntax of the armlink command: the complete connector command syntax is as follows: armlink [-help] [-vsn] [-partial] [-Output
File] [-elf] [-reloc] [-ro-base address] [-ropi] [-RW-base address] [-rwpi] [-split] [-scatter File] [-Debug |-nodebug] [-remove? RO/RW/Zi/dbg] |-noremove] [-entry location] [-keep section-id] [-first section-id] [-last section-id] [- libpath pathlist] [-scanlib |-noscanlib]
[-Locals |-nolocals] [-callgraph] [-Info topics] [-map] [-Symbols] [-symdefs file] [-edit file] [-xref] [- xreffrom object (section)] [-xrefto object (section)] [-errors file] [-list file] [-verbose] [-unmangled |-mangled] [-match crossmangled] [-via file] [-strict] [-unresolved
Symbol] [-mi |-Li |-bi] [input-file-list] the preceding options have the following meanings:-help: this option lists some of the Option operations that are commonly used in the command line. -Vsn: This option displays the version information of the armlink used. -Partial: This option is used to create a part of the linked target file instead of an executable image file. -Output file: This option specifies the output file name, which may be a part of the target file linked to, or an executable image file. If the output file name is not specified, armlink uses the following default: If the output is an executable image file, the generated output file name is _ image. axf; If the output is a part of the linked target file, the generated file name is _ object. o; if the path information of the output file is not specified, the output file is generated in the current directory. If path information is specified, the specified path becomes the current path of the output file. -Elf: This option is used to generate an elf image file, which is the only output format supported by armlink. This is the default option. -Reloc: This option is used to generate a retriable image. A readdressable image has a dynamic segment, which contains the address information. The information can be used to readdress the image file after the link;-reloc,-RW-Base
If the-split option is not available, the link will produce an error. -Ro-base address: This option will include the loading address and the operation address of the output segment of RO (read-only attribute) to address. The address must be in word alignment, if this option is not specified, the default Ro base address value is 0x8000. -Ropi: This option makes the loading domain containing the RO output segment irrelevant to the running domain. If this option is not used, the corresponding domain is marked as absolute. Generally, the input segment of each read-only attribute must be read-only. If this option is used, armlink performs the following operations: Check whether the addresses of each segment are valid; Make sure that any code generated by armlink itself is read-only. It is expected that the arm tool determines whether the final generated image is read-only after armlink completes processing the input segment. This means that armlink may generate a ropi error even if the ropi option is specified for the compiler and assembler. -RW-Base
Address: This option sets the runtime address of the domain that contains the RW (read/write attribute) Output segment. The address must be word-aligned. If this option and the-split option are used together, the load and runtime addresses of the fields that contain the RW output segment are set at the address. -Rwpi: This option makes loading of output segments containing RW and Zi (zero initialization, initialized to 0) attributes irrelevant to the running time domain. If this option is not used, the corresponding field is marked as absolute. This option requires a value after the-RW-base option. If-RW-base is not specified, the default value is 0, which is equivalent to-RW-base 0. Generally, each writable input segment must be readable/
The writable location is independent. If this option is used, armlink performs the following operations: Check whether the input segment of the run domain of the readable/writable attribute has the location-independent attribute; check whether the readdress between each segment is valid; generate static register Sb-based entries, which will be used when the RO and RW domains are copied and initialized. The compiler does not force the writable data to be location-independent. That is to say, even if the rwpi option is specified for the compiler and assembler, armlink may generate data that is not the information of rwpi. -Split: This option splits the loading fields of the output segments containing the RO and RW attributes into two loading fields. One is the loading domain that contains the RO output segment. The default loading address is 0x8000, but other address values can be set using the-ro-base option, the other loading field contains the output segment of the RO attribute, which is specified by the-RW-base option. If the-RW-base option is not used, the default value is-RW-base.
0. -Scatter file: This option uses the group and location information contained in the file to create the image memory ing. Note: If this option is used, you must re-implement the stack initialization function _ user_initial_stackheap (). -Debug: This option allows the output file to contain debugging information, including debugging input segments, symbols, and string tables. This is the default option. -Nodebug: This option does not include debugging information in the output file. The generated image file is short but cannot be debugged at the source code level. Armlink does not process any debugging input segments found in the input target file and library function. when loading the image file to the debugger, it does not contain symbols or string information tables. This option only affects the size of the image file loaded to the debugger, but does not affect the size of the binary code to be downloaded to the target board. If you use armlink for some links to generate the target file instead of the image file, although the generated target file does not contain debugging input segments, it will contain symbols and string information tables. Note: If you want to use the fromelf tool after the link is complete, you cannot use the-nodebug option because if the generated image file does not contain debugging information, fromelf cannot convert image files to other formats, and fromelf cannot generate meaningful disassembly lists. -Remove
(RO/RW/Zi/DBG): This option will delete unused segments in the input segment from the image file. If the input segment contains the image file entry point or the input segment is referenced by a used segment, the input segment will be treated as the used segment. When using this option, do not delete the exception handling function. Use the-keep option to identify the exception handling function, or use the entry pseudo command to indicate the entry point. To more accurately control the deletion of unused segments, you can use the segment attribute delimiter. You can use the following segment attribute limiters: RO: To delete segments of all unused Ro attributes; RW: To delete segments of all unused RW attributes; Zi: delete the segments of all unused Zi attributes; dbg: Delete the segments of all unused debug attributes. These delimiters appear in any order, but they must have "(
) ". Separate multiple delimiters with the symbol. In ads, the default option is-remove (RO/RW/Zi/DBG ). If no segment attribute restriction is specified, all unused segments will be deleted. Because-remove is equivalent to the-remove (RO/RW/Zi/DBG) option. -Noremove: This option retains all unused segments in the image file. -Entry location: This option specifies the unique initialization entry point in the image file. An image file can contain multiple entry points. The initialization entry point defined by this command is stored in the header of the executable file for loading. When an image file is loaded, the arm debugger uses this entry point address to initialize the PC pointer. The initialization entry must meet the following conditions: the entry point of the image file must be in the running domain; the running domain must be non-overwriting and must be a fixed domain (that is, the address for loading and running domains is the same ). Here you can use the following parameters to replace the location parameter: 1.
Entry Point address: This is a value, for example,-entry 0x0; 2. symbol: This option specifies that the entry point of the image file is the address represented by this symbol, for example,-entry int_handler: indicates that the program entry point is at the position of the int_handler symbol. If the symbol has multiple definitions, armlink will generate an error message. Offset + object (Section): This option specifies an offset inside the segment of a target file as the entry address of the image file, for example,-entry 8 + startup (startupseg ): if the offset value is 0, it can be abbreviated as an object (Section). If there is only one input segment, it can be simplified to an object. -Keep
Section-ID: With this option, you can specify to retain an input segment. In this way, the input segment will not be deleted even if it is not used in the image file. The parameter section-id takes the following formats: 1. Symbol: This option specifies that the input segment defining the symbol will not be deleted when unused segments are deleted. If the image file contains multiple symbol definitions, all input segments containing the symbol definition will not be deleted. For example,-keep int_handler: all the segments defining int_handler will be retained without being deleted. To retain all the segments that contain symbols ending with _ handler, you can use the following options:-keep
* _ Handler. 2. Object (Section): This option specifies that the Section section in the target file is retained when you delete unused segments. The input and target names are case-insensitive. For example, to retain the vect segments in the target file vectors. O, use-keep vectors. O (vect ). To retain the names of all segments starting with Vec in vectors. O, you can use the option-keep vectors. O (VEC *). 3. Object: This option specifies that the unique input segment of the target file is retained when the unused segment is deleted. The target name is case-insensitive. If more than one input segment is contained in the target file when this option is used, armlink will provide error information. For example, to keep each target file starting with DSP that contains only unique input segments, you can use the following options:-keep
DSP *. O-first section-ID: This option places the selected input segment at the beginning of the running domain. This option is used to place segments that contain reset and interrupt vector addresses at the beginning of the image file. You can use the following parameter to replace section-ID: 1. Symbol: select a segment that defines the symbol. It is prohibited to specify the symbol defined in multiple places, because multiple segments cannot be placed at the beginning of the image file at the same time. 2. Object (Section): select a segment from the target file and place it at the beginning of the image file. No space is allowed between the target file and the brackets, such as-first init. O (init ). 3. Object: select the target file with only one input segment. If the target file contains multiple input segments, armlink will generate an error message. An example of using this option is as follows:-first
Init. O. Here, you should note that the use of-first cannot change the order in which the domain is placed at the beginning according to the RO segment, then the RW segment, and finally the basic attribute emission of the Zi segment. If a domain contains Ro segments, RW or Zi segments cannot be placed at the beginning of the image file. Similarly, if a domain has Ro or RW segments, the Zi segment cannot start with the file. Two different segments cannot be placed at the beginning of the same running time domain. Therefore, when this option is used, only one segment can be placed at the beginning of the image file. -Last section-ID: This option puts the selected input segment at the end of the running domain. For example, you can use this option to forcibly place the input segment containing the checksum at the end of the RW segment. Use the following parameters to replace section-id. 1.
Symbol: select to define the symbol segment and place it at the end of the running domain. You cannot specify a symbol with multiple definitions. An example of using this parameter is as follows:-last checksum. 2. Object (Section): select a section segment from the target file. There must be no space between the target file and the parentheses. The example of this parameter is-last checksum. O (check ). 3. Object: select a target with only one input segment. If the target file contains multiple input segments, armlink will provide error information. Like the-first option, you must note that the-last option cannot be used to place the RO segment in the domain at the beginning, followed by the RW segment, the basic discharge sequence of the output segment where the Zi segment is placed. If a domain contains a Zi segment, the RW segment cannot be placed at the end. If a domain contains RW or Zi segments, the RO segment cannot be placed at the end. In the same running domain, two different segments cannot be placed at the end of the domain at the same time. -Libpath
Pathlist: This option specifies the search path list for the arm Standard C and C ++ libraries. Note that this option does not affect the search path for the user library. This option overwrites the path specified by the Environment Variable armlib. The pathlist parameter is a list of multiple paths separated by commas (,), that is, path1, path2,... pathn. The path list is only used to search for the arm library functions to be used. By default, the default path containing the arm library function is specified by the Environment Variable armlib. -Scanlib: This option enables scanning of default libraries (standard arm C and C ++ libraries) to parse referenced symbols. This option is the default setting. -Noscanlib: This option does not allow you to scan the default library when linking. -Locals: This option guides the linker to add local symbols to the output symbol information table when generating an executable image file. This option is the default setting. -Nolocals: This option instructs the linker not to add local symbols to the output symbol information table when generating an executable image file. You can use this option to reduce the size of the output symbol table. -Callgraph: This option creates an HTML-format static function call diagram. The call diagram shows the definitions and references of all functions in the image file. For each function, it lists: 1.
Processor status during function compilation (arm status or thumb status); 2. call the set of func functions; 3. set of functions called by func; 4. the number of times the func addressing is used in the image file. In addition, the call chart identifies the following functions: 1. the function called by interworking veneers; 2. functions Defined outside the image file; 3. allow undefined functions (reference in weak mode); the static Call Graph also provides stack usage information, which shows: 1. the size of the stack used by each function; 2. the maximum stack size used in all function calls. -Info topics: This option prints information about the specified type. The topics parameter here refers to the list of Type identifiers separated by commas. The list of Type identifiers can be any of the following: 1.
Sizes lists the size of code and data (including Ro data, RW data, Zi data, and debug data) for each input object and Library Member in the image file. 2. totals is the input object file and library, listing the total size of code and data (here the data includes Ro data, RW data, Zi data and debug data); 3. veneers provides detailed information about veneers generated by armlink. 4. unused lists all unused segments deleted from the image file due to the use of the-Remove option. Note: there cannot be spaces between information type identifiers. For example, you can enter-Info sizes, totals, but not-info.
Sizes, totals (that is, there is a space between the comma and totals is not allowed)-map this option to create an image file information graph. The image file information diagram contains the size and address of each loading domain, running domain, and input segment in the image file. The input segment also includes debugging information and input segments generated by the linker. -Symbols: This option lists each local and global symbol used for the link. This symbol also includes the symbols generated by the link. -Symdefs file: This option creates a symbolic definition file that contains the global symbolic definitions from the output image file. By default, all global symbols are written to the symbol definition file. If the file already exists, the linker will restrict the generation of symbols listed in the existing symdefs file. If the file does not specify the path information, the linker searches for the file in the output image file path. If the file is not found, the file is created under the directory. When linking another image file, you can use the symbolic definition file as the link input file. -Edit
File: This option specifies a steering type file, which contains commands used to modify the symbol information table in the output file. You can specify the following commands in the steering file: Hide the global symbol. You can use this option to hide the specified global symbol in the target file. Rename the global symbol. Use this option to resolve symbol naming conflicts. -Xref: This option lists all cross references between input segments. -Xreffrom object (Section): This option lists cross references of input segments in the target file to other input segments. If you want to know the reference information in a specified input segment, you can use this option. -Xrefto object (Section): This option lists references from other input segments to the input segments of the target file. -Errors
File: This option redirects the diagnostic information from the standard output stream to the file. -List file: This option redirects the output of-Info,-map,-symbols,-xref,-xreffrom, and-xrefto to the file again. If no path is specified for the file, the file is created in the output path, which is the path of the output image file. -Verbose: This option prints details about the link operation, including the target file and the library to be used. -Unmangled: This option specifies that the linker displays unmangled in the diagnostic information generated by xref,-xreffrom,-xrefto, and-symbols.
C ++ symbol name. If this option is used, the linker displays the unmangle C ++ symbol name as the source code. This option is default. -Mangled: This option specifies the name of the mangled C ++ symbol in the diagnostic information generated by-xref,-xreffrom,-xrefto, and-symbols. If this option is used, the linker will not unmangle the C ++ symbol name. Symbol names are displayed in the format they are displayed in the target symbol table. -Via file: This option reads the input file name list and Linker options from the file. You can enter multiple-via options in the armlink command line. Of course, the-via option can also be excluded from a via file. -Strict: This option tells the linker that the report may cause errors rather than warning conditions. -Unresolved
Symbol: This option points unparsed symbols to the global symbol. The symbol must be a defined global symbol. Otherwise, it will be treated as an unresolved symbol and the link will end with a failure. This option is particularly useful in top-down development. In this case, you can test a partially implemented system by pointing a reference that cannot point to the corresponding function to a pseudo function. This option does not display any warning information. Input-file-list: this is a list of targets or libraries that use spaces as separators. There is a special type of target file, namely the symdef file, which can also be included in the file list to provide a global symbol value for the generated image file. There are two methods to use the library in the input file list. 1.
Specifies the specific member to be extracted from the database and added to the image file as the target file. 2. Specify a library file, and the linker extracts members from it as needed. Armlink processes the input file list in the following order: 1. Add the target file unconditionally. 2. Use the matching mode to select members from the library and load them to the image file. For example, use the following command: armlink main. O mylib (stdio. o) mylib (*. o ). all the target files in the mylib library starting with the letter A and stdio will be unconditionally stored. o link to the generated image file during the link. 3. Add the database to the library file list to resolve the referenced files that have not been resolved. This section introduces the arm Runtime Library to readers.
C/C ++ library. 1. The Runtime Library type and creation option ads provides the following runtime libraries to support compiled C and C ++ code: ansi c library functions: the C function library consists of the following parts: 1. functions defined in iso c; 2. in the semihosted environment (semihosting is a mechanism for the arm target machine. It can communicate with the host running the debugging function according to the input/output requests of the application code. This technology allows the host to provide host resources for the target hardware without input and output functions) to implement the objective-related functions of the C library functions; 3. supported functions called by C and C ++ compilers. The arm C Library provides additional components to support C ++ and compile code for different architectures and processors. C ++ library functions: C ++ library functions include
C ++ library standard defined functions. The C ++ library depends on the corresponding C library to implement the specific target-related part. The C ++ library itself does not include the target-related part. This library consists of the following parts: 1. the rogue wave Standard C ++ library of version 2.01.01; 2. c ++ compiler supports functions. 3. other C ++ functions not supported by the rogue wave library. As mentioned above, the ansi c library uses the standard arm semihosted environment to provide functions such as file input/output. Semihosting is implemented by the defined software interrupt operation. In most cases, semihosting
SWI is triggered by code in the library function and is used by the debugging agent to handle SWI exceptions. The debugging agent provides the required communication for the host. Semihosted is supported by armulator, Angel, and multi-ice. You can use the ARM development tool in ads to develop your applications, and then run and debug the program on armulator or on a development board. You can use the objective-related functions in the C library as part of your application and implement the code again. This brings great convenience to users. Users can crop C-library functions according to their own execution environment. In addition, you can crop library functions irrelevant to the Target Based on your application requirements. Many functions in the C library are independent of other functions and have no dependency with the target hardware. For such functions, you can easily use them from assembly code. When creating your own user applications, you must specify some of the most basic operation options. For example, the byte order is the big end mode (big
Endian: the high bytes of word data are stored in the low address, and the low bytes are stored in the high address), or in the small-end mode (little endian: the high bytes of word data are stored in the high address, low-byte storage at low-address); floating-point support: may be FPA, VFP, software floating-point processing or does not support floating-point operations; stack restrictions: Check whether Stack Overflow; location-independent (PID ): whether the data is read/written from location-independent code or from location-related code, whether the code is location-independent read-only code or location-related read-only code. When a user links an assembler, C program, or C ++ program, the linker will specify the options based on the options at the time of creation, select the appropriate C or C ++ Runtime Library type. Different combinations of options have an ANSI
C library type. 2. library path structure the library path is two subdirectories under the lib directory of the ADS software installation path. Assume that the ads software is installed in the E: \ Arm \ adsv1_2 directory, the two subdirectories armlib and cpplib under the E: \ Arm \ adsv1_2 \ lib directory are the path of the arm library. The armlib sub-directory contains various library functions such as arm C library, floating point algebra library, and math library. The header files corresponding to these libraries are in the E: \ Arm \ adsv1_2 \ include directory. The cpplib sub-directory contains the rogue wave C ++ library and C ++ support function library. The combination of the rogue wave C ++ Library and the C ++ support function library is called arm.
C ++ library. The header files corresponding to these libraries are installed in the E: \ Arm \ adsv1_2 \ include directory. The environment variable armlib must be set to point to the library path. Another way to specify the path of the arm C and arm C ++ libraries is to use the action option-libpath directory (directory indicates the path of the Library) when linking ), to specify the path of the library to be loaded. You do not need to specify the path of the two libraries armlib and cpplib separately. The linker will automatically find these two subdirectories from the library path specified by the user. The following points need special attention: 1. Arm C library functions are provided in binary format; 2. Arm library functions cannot be modified. If you want to create a new implementation for the library function, you can compile the new function into a target file and include it in the link. In this way, the new function implementation instead of the original library function is used during the link. 3.
Generally, to create an application that depends on the target, only a few functions in the ansi c library need to be rebuilt. 4. the source code of the rogue wave Standard C ++ function library is not released for free. You can use rogue wave Software Inc. Or arm to obtain source files by paying the license fee. 3. codewarrior integrated development environment (code warrior and axd): codewarrior for ARM is a complete set of integrated development tools that give full play to the advantages of arm RISC, this allows product developers to apply cutting-edge on-chip system technologies.
This tool is designed for an ARM-based CPU. It accelerates and simplifies every step of embedded development, this allows developers to develop ARM products through an integrated software development environment. Throughout the development cycle, developers do not need to leave the codewarrior development environment, therefore, it saves the time spent on operating tools, allowing developers to devote more energy to coding. codewarrior integrated development environment (IDE) provides a simple and diversified GUI for management and development projects. You can use the codewarrior ide of ads to develop program code in C, C ++, or arm assembly language for ARM and thumb processors. By providing the following functions, codewarrior
IDE shortens the development project code cycle. 1. Comprehensive project management functions; 2. The Code navigation function of subfunctions allows users to quickly find subfunctions in the program. You can configure various command tools introduced in 8.1.1 for arm in codewarrior ide to compile, compile, and link the engineering code. The target involved in codewarrior ide has two different meanings. The target system refers to the environment where code is to be run and is ARM-based hardware. For example, to compile a program on the arm Development Board to run on it, this development board is the target system. Build target refers to the option settings used to generate specific target files (including Assembly options, compilation options, link options, and post-link processing options) and the collection of files used. Codewarrior
IDE allows you to put source code files, library files, and other related files and configuration settings in a project. Each project can create and manage multiple configurations for Generating target settings. For example, to compile a generation target that contains debugging information and a hardware optimization generation Target Based on ARM7TDMI, the generation target can share files in the same project and use their respective settings. Codewarrior ide provides users with the following functions: the source code editor, which is integrated into the codewarrior ide browser and can display code in different colors according to the syntax format; the source code browser, it stores all the symbols defined in the source code, allowing you to quickly and conveniently jump to the source code. The search and replacement function allows you to use string wildcards in multiple files, search and replace strings. The file comparison function allows you to compare the content of different text files in a path. Codewarrior of ads
IDE is based on metrowerks codewarrior ide 4.2. It is cropped to support the ads tool chain. The arm configuration Panel provides users with the ability to configure various ARM development tools in the codewarrior ide integrated environment, in this way, you can use the various commands described in 8.1.1 and 8.1.4 without using the command console. The Project Creation wizard on the Target Platform of arm enables users to quickly create arm and thumb projects based on this. Although most arm toolchains have been integrated in codewarrior IDE, many functions are still not implemented in this integration environment. Most of these functions are related to debugging, because the arm debugger is not integrated into codewarrior
IDE. Because the arm debugger (axd) is not integrated in codewarrior IDE, this means that you cannot perform breakpoint debugging and view variables in codewarrior IDE. Users familiar with codewarrior ide will find that many features have been removed from codewarrior IDE for ARM, such as quick application development templates. Many menus or sub-menus in codewarrior IDE for arm cannot be used. The following describes the unavailable options. 1. menu options that cannot be used in the View menu include processes, expressions, and global.
Variable, breakpoints, and registers. 2. menu options that cannot be used in the project menu: precompile sub-menu. The arm compiler does not support precompiled header files. 3. Debug menu no sub-menu is available. 4. menu options not available in the browser menu: new property, new method, and new event set. 5. menu options that cannot be used for ads in help menu include codewarrior help, index, search, and online manuals. About codewarrior
The usage of some commonly used menus in IDE will be described in the examples below. ADS Debugger: the debugger is a software. You can use the debug agent to view executable code that contains debugging information, such as variables, breakpoint control and other debugging operations. ADS contains three debuggers: axd (Arm extended debugger): Arm extended debugger and armsd (arm symbolic debugger): arm symbol debugger; the arm debugging tool compatible with earlier versions of Windows or UNIX, adw/ADU (Application Debugger
Windows/Unix ). Next we will give a brief introduction to some terms involved in debugging the image file. In the initial stage of software development, debug target may not have specific hardware devices. If you want to test whether the developed software has achieved the expected results, it can be done through software simulation. Even if the debugger and the software to be tested run on the same PC, you can view the target as an independent hardware. Of course, you can also build a PCB that can contain one or more processors to run and debug application software. Only when the expected results are achieved through hardware or software simulation can the compilation of the application be completed. The debugger can send the following commands: 1.
Load the image file to the target memory; 2. start or stop program execution; 3. display the memory, register, or variable value; 4. allow the user to change the stored variable value. Debug agentdebug Agent executes the command Action issued by the debugger, such as setting breakpoints, reading data from the memory, and writing data to the memory. The debug agent is neither a program nor a debugger. In the arm system, it has these methods: Multi-ice (multi-processor in-circuit emulator), armulator and Angel. Among them, multi-ice is an independent product. It is a JTAG online simulator of arm, not provided by ads. Axd can be used in Windows
And UNIX. It provides a comprehensive windows and Unix environment for source code written in C, C ++, and assembly languages.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.