The PK166 Professional Developer´s Kit for the 166 microcontroller family supports all available XC16x, C16x, and ST10 derivatives and enables you to write and test programs in C or assembly using the powerful C166, C167, and XC167 instruction sets.The A166 Assembler is a macro assembler for the Infineon XC16x/C16x and STMicroelectronics ST10 microcontroller families. It translates symbolic assembly language mnemonics into relocatable object code where the utmost speed, small code size, and hardware control are critical. The macro facility speeds development and conserves maintenance time since common sequences need only be developed once. The A166 Assembler supports symbolic access to all features of the C16x architecture including all on-chip peripherals and memory areas.
The A166 Assembler translates an assembler source file into a relocatable object module. Symbolic information may be embedded in the object file for debugging with the µVision Debugger or an in-circuit emulator.
In addition to the object file, the A166 Assembler generates a list file which may optionally include a symbol table and cross reference information.
More information about the Keil A166 Macro Assembler may be found in the Getting Started with the C16x User´s Guide which provides an introduction to the Keil C166 development tools. This user´s guide is available with the evaluation software you may download from this web site. It describes the C16x development tools and takes you step-by-step through configuring them and writing several embedded applications.
C166 ANSI C CompilerThe C166 Compiler conforms to the ANSI standard and is designed specifically for the C16x microcontroller family. The C166 Compiler provides the following features:
The Embedded C++ Language satisfies the requirements of embedded software designs and avoids the overhead that is introduced with full C++ implementations (since EC++ avoids features unsuited for embedded systems).
The primary benefits of the Keil Embedded C++ Compiler are:
The L166 Linker/Locator combines your object modules into an executable C16x program. The linker resolves external and public references and assigns absolute or fixed addresses to relocatable program segments.
The L166 Linker processes object files, created by the Keil C166 Compiler and A166 Assembler, which must adhere to the OMF166 Object Module Format. The linker outputs an absolute OMF166 object module that may be loaded into your emulator, the µVision Debugger, or the OH166 Object-HEX converter (to create an Intel HEX file).
The OH166 Object-HEX converter creates Intel HEX and Intel HEX-386 files from absolute OMF166 object modules. Absolute object modules (files) may be created by the followingt he L166 Linker and the A166 Macro Assembler.
Intel HEX files are ASCII files that contain a hexadecimal representation of your program. They may be easily loaded into a device programmer for writing EPROMs or other memory devices.
Several utilities are available that may help you with your HEX files:
The MON166 Monitor is a full-featured, license-free, royalty-free target monitor designed for the C16x microcontroller family. It may be configured for a wide variety of target systems including those with a bootstrap loader. The monitor communicates with the µVision Debugger using your PC´s COM port. You may use the µVision Debugger and the MON166 Monitor to easily debug your target programs in real-time. You can view program symbols, debug using your source code, watch program variables, examine memory contents, and more!
Hardware RequirementsThe MON166 Monitor requires few (if any) changes to your source code. The monitor uses the NMI trap for breakpoints. So, your program must avoid using this memory area. See below for information on configuring the monitor.
ConfigurationBefore you can use MON166, you must modify the configuration files and rebuild the monitor to support your target hardware. Several predefined configurations of the monitor are available for generic hardware and for boards available from Keil and Phytec.