PSoC Creator Tools

List of executables under Creator/bin directory:

cydsfit

cydsfit -p <projfile> [-d <device>] [-s <srcpath>] [-f <flowtype>] [option ...] [--] [option ...]

    -h                Display this help message.
    -p <projfile>     Specify the name of the top level project file.
    -d <device>       Override the selected device stored in the project file.
    -s <srcpath>      Location of previously generated source. Used when merging
                        user editable sections in to the new code. Defaults to
                        using the current directory.
    --                All arguments after the first double dash argument are used
                        for Warp and the specific fitter driver exclusively.

cypsocdebugger

Usage: -t TRANSPORT [-pin CYD2STUB_PIPE -pout STUB2CYD_PIPE] [-e ENDIAN] [-p PORTSETTING1 [PORTSETTING2 ...]] [-jtag JTAGDEVICE [JTAGDEVICE ...]]

cyprjmgr

cyprjmgr.exe is a command line tool that exposes common project management functionality to be used through the command line. The tool can be invoked from the command line and used to perform various functions on a workspace/project. It also provides the flexibility to set the build configuration from the command line.

Syntax:
cyprjmgr [-h] [-ver] [-wrk <workspace_name>] [-clean] [-build] [-rebuild]
[-archive <archive_level> <archive_as_zip>] [-t <toolchain>] [-c <config>]
[-p <TopProject>] [-n <TopDesign>] [-d <selectedDev>]
[-m <paramsFile>] [-import <Source_Project> <Source_Component>]
[-rename <component_name> <new_name>] [-delete <component_name>]
[-exclude <component_name>] [-l <NewPrjName>]
[-s] [-v <visibility>] [-prj <Target_Project>] [-cmp <Target_Component>]
[-addprj <prj_path>] [-cp <path>] [-con <Target_Project>] [-batch <file_name>]
[-updateComp <source_project> <source_component>] [-updatePrj <source_project>]
[-updateInst] [-updateDWInst] [-forceWrite] [-noCustBuild] [-noRefresh]
[-ol <compiler optimization level>] [-warn <High|Low|None>]
[-buildPreCompCust <Project>] [-updateInstIfNeeded]
[-ignoreDepsWarning] [-allowIllegalUpdates] [-export <IDE>] [-pdlPath <path>]

The tool expects arguments to be passed in certain specified format:
  • The first switch must be -w or -wrk followed by the name of the workspace
  • All other arguments are optional and will be used to set up the build environment. All the optional arguments will apply to the workspace followed by the -w or -wrk switch.

Options:

The following options are tool wide:
     -h       Displays this help message
     -ver     Displays the version and build number of cyprjmgr

The following options apply to the chosen workspace:
     -wrk, -w Specifies the workspace to be used
     -prj     Specifies the target project on which all the command line
              options will be targeted. In case target project is not
              specified, Top Project of the workspace becomes the target
              project
     -p       Sets the Top Project in the workspace
     -cmp, -o Specifies the target component on which all the library options
              will be targeted. In case target component is not specified,
              the Top Block of the Target Project becomes the Target Component
     -addprj  Adds an existing project <prj_path> to the workspace
     -l       Adds a new empty library project with name <NewPrjName> to the
              workspace
     -d       Sets the selected device of projects to be built
     -cp      Copies the entire workspace to the location specified by
              <path>, all command line options will act on the copy created

The following four options target the entire workspace unless the
target project is set with -prj:
     -clean   Cleans the workspace/project
     -build   Builds the workspace/project
     -rebuild Rebuilds the workspace/project
     -archive Archives the workspace/project with different archiver levels
              (complete/typical), and as zip or nozip

The following options apply to the target project:
     -t       Sets the tool chain the action should use (Keil, ARM etc.)
     -c       Sets configuration the action should use (Debug, Release)
     -ol      Sets compiler optimization level
     -warn    Sets compiler warning level
     -n       Sets the Top Design of the Top Project
     -m       Parameters file that will override the default parameter values
              of the schematic in the TopDesign of the Top Project
     -import  Imports the Source Component from the Source Project into the
              target project of the workspace
     -rename  Renames component_name in target project of the workspace to
              new_name
     -delete  Deletes component from the disc
     -exclude Excludes component from the target project of the workspace
     -s       Lists the external dependencies of the target project
     -v       Sets the visibility of the target component to true/false
     -con     Checks the consistency of the target project of the workspace
     -batch   Reads a file containing a series of commands, one on each line.
              Executes the commands one by one. When batch option is used, all
              other optional switches are ignored
 -updateComp  Updates a component in the Target Project from the source project
 -updatePrj   Updates the Target Project from the Source Project
 -updateInst  Updates the instances on the schematic with the latest components
 -forceWrite  Makes read-only files writable and then makes the change
 -noCustBuild Delay building of customizer DLLs until the end (e.g., during
              imports)
 -noRefresh   Disable updates from the refresh manager (Use with extreme care)
 -buildPreCompCust Build customizer for a project
 -updateDWInst Updates the design-wide instances with the latest components
-updateInstIfNeeded Update instances to minimum valid version
-ignoreDepsWarning Suppress SystemDepNotFoundOnDisk warning while building
                   primitives
-allowIllegalUpdates Allows updating instances to latest version, even if illegal
     -export  Exports the project to the target IDE. Valid targets are EWA, Eclipse and uVision
-generateDescFiles       For all specified projects that have 'Generate description files'
                         enabled, generates the description files.
-verifyDescFileEnabled   Verifies that all specified projects have 'Generate description files' enabled.
-verifyDescFileContents  Verifies that all specified projects (that have 'Generate description
                         files' enabled) have generated files that are in-sync with the current
                         version of their source files.
     -pdlPath Sets the path to the PDL file for the project


Parameters stored in user workspace file:

  • State of Workspace Explorer (selected tab, nodes expanded/collapsed)
  • Breakpoints
  • Open documents
  • Configuration (Release vs. Debug)

Parameters stored in user project file:

  • Build dependencies (non-project files that the build depends on)
  • Last build command lines (for all tools)
  • State of the Device Selector (hidden columns, filters)

Parameters needed for the cyprjmgr.exe:

  • -w <workspace path> (no default)
  • -build/clean/rebuild (no default)
  • -t <toolchain name> (defaults to the selected toolchain of each project)\
  • -c <config name> (defaults to value in workspace user file, if no user file defaults to Debug)
  • -prj <project name> (defaults to Active Project)

Other options:

There are other options that are not necessary, as the information is available to the workspace/project when a build happens, but which you can control through the command line. They are as follows:
  • -ol - Sets compiler optimization level
  • -warn - Sets compiler warning level
  • -p - Sets the Top Project in the workspace
  • -n - Sets the Top Design of the Top Project
  • -d - Sets the selected device of the Target Project that will be built

Usage Scenarios and Examples

 –clean / -build / -rebuild

cyprjmgr.exe –w workspace –clean
cyprjmgr.exe –w workspace –build
cyprjmgr.exe –w workspace –rebuild

This option will clean/build/rebuild the workspace respectively. Only one out of clean, build, or rebuild can be used in one run of the tool.

-h

cyprjmgr.exe –h
This will display help message for the tool

–t

cyprjmgr.exe –w workspace –build –t “ARM CM3-GCC 4.9-2015-q1-update”
This will build the workspace with the toolchain specified. If no toolchain is specified by the user, the workspace will build with the toolchain, with which it was built the last time.

–c

cyprjmgr.exe –w workspace –build –c Release
This will build the workspace with the build config specified (Release, in this example)

–p

cyprjmgr.exe –w workspace -build –p Design01
This will set the project Design01 in the workspace as the Top Project and build the workspace

–n

cyprjmgr.exe –w workspace –build –n component01
This will set the component component01 in the Top Project of the as the Top Component and build the workspace

–d

cyprjmgr.exe –w workspace –build –d CY8C3866AXI-040
This option will set the device for all Projects in the workspace and build it.

cyprjmgr.exe –w workspace –build –d CY8C3866AXI-040 –prj Design01
This option will set the device for the target project and build it.

cyprjmgr.exe –w workspace –build –d CY8C3866AXI-040 –t “DP8051-Keil Generic” –prj Design01
This switch sets the device and toolchain for the target project ‘Design01.cyprj’ and builds it

-rev

cyprjmgr.exe –w workspace –rev ES1
This switch sets the revision of the selected device for all the Projects in the workspace.

cyprjmgr.exe –w workspace –build  –d CY8C3866AXI-040  –rev ES1 –prj Design01
This option sets the device revision to ‘ES1’ for the target project ‘Design01.cyprj’  and builds it.

–m

cyprjmgr.exe –w workspace –build –m params_file
This option will read in parameters and their values from a text file, and override those values in the schematic.
Format of the params file : 
The params file accepts parameters and their values as name=value pairs. The name of the instance must be given as inst_name=value.
For example,
inst_name=and_1
NumTerminals=8
TerminalWidth=4

inst_name=Counter_1
Resolution=16

This will change the values of parameters NumTerminals and TerminalWidth in the instance and_1, and Resolution in the instance Counter_1.

–prj

cyprjmgr.exe –w workspace –prj Project01
This option sets Project01 in the Workspace as the Target Project. All library options on the same command line will act on Project01. If no Target Project is selected, the Top Project of the Workspace becomes the Target Project.

cyprjmgr.exe –w workspace –build –prj Project01
This option overrides build to work only with Project01 (only if Project01 is in workspace) and its dependencies instead of building the entire workspace. This is equivalent to selectively building a project in the GUI.

–o, -cmp

cyprjmgr.exe –w workspace –o Component01 
cyprjmgr.exe –w workspace -cmp Component01
This option sets Component01 as the Target Component in the Target Project. All library options on the same command line targeting a component will act on the Target Component. If no Target Component is selected, the Top Component of the Target Project becomes the Target Component.

–import

cyprjmgr.exe –w workspace –import SourceProject SourceComponent
This option will import the Source Component from the Source Project to the Top Project of the workspace.

cyprjmgr.exe –w workspace –import SourceProject SourceComponent –prj TargetProject
This option will import the Source Component from the Source Project into the Target Project of the Workspace.

–rename

cyprjmgr.exe –w workspace –rename ComponentName NewComponentName
This option will rename the Top Component in the Top Project from ComponentName to NewComponentName.

cyprjmgr.exe –w workspace –rename ComponentName NewComponentName –prj Project01
This option will rename the Top Component in Project01 of the Workspace

cyprjmgr.exe –w workspace –rename ComponentName NewComponentName –prj –Project01 –o Component02
This option will rename Component02 in Project01 of the Workspace

–delete

cyprjmgr.exe –w workspace –delete Component01
This option removes Component01 of the Top Project of the Workspace from the disk.

cyprjmgr.exe –w workspace –delete Component01 –prj Project01
This option removes Component01 of Project01 of the Workspace from the disk.

–exclude

cyprjmgr.exe –w workspace –exclude Component01
This switch removes the ‘Component01’ instance from the ‘Top Project’ of the Workspace.

cyprjmgr.exe –w workspace –exclude Component01 –prj Project01
This switch removes the ‘Component01’ instance from ‘Project01’ of the Workspace.

–l

cyprjmgr.exe –w workspace –l LibraryName
This option adds a new empty library project to the Workspace.

–s

cyprjmgr.exe –w workspace –s
This option lists the external dependencies of the Top Project in the Workspace.
cyprjmgr.exe –w workspace –s –prj Project01
This option lists the external dependencies of Project 01 in the Workspace.

–v

cyprjmgr.exe –w workspace –v false –o Component01
This option will set the visibility of symbol Component01 in the Top Project of the Workspace to false.

cyprjmgr.exe –w workspace –v false –o Component01 -prj Project01
This option will set the visibility of the symbol Component01 in Project01 of the Workspace.

–addprj

cyprjmgr.exe –w workspace –addprj Project01
This option adds an existing CyDesigner project, Project01 to the Workspace.

–con

cyprjmgr.exe –w workspace –con
This option checks the consistency of the Top Project of the Workspace. i.e.
  1. There is no file in the Target Project folder that the project does not know about.
  2. All files that the project knows about, are at the location pointed by their Canonical Name property.

cyprjmgr.exe –w workspace –con –prj Project01
This option checks the consistency of Project01 in the Workspace.

–cp

cyprjmgr.exe –w workspace –cp NewLocation
This option will copy the entire workspace folder to NewLocation. All other options given on the same command line will now act on the NewLocation Workspace.

-ver

cyprjmgr.exe -ver
This option displays the version number of the application.

-batch

cyprjmgr.exe –w workspace –batch file_name
This option reads a text file that has a series of CyPrjMgr commands, one per line. The CyPrjMgr tool reads each line, executes the command, and if successful goes to the next command. If a command fails, the tool exits with failure message.
When –batch is used, all other optional switches on the command line are ignored.

-updateComp

cyprjmgr.exe –w workspace -updateComp source_project source_component
This option updates the component in the Top Project of the workspace.

cyprjmgr.exe –w workspace –prj Project01 - updateComp source_project source_component
This option updates the component in the Project01 of the workspace.
The update of component is based on the following rules:
  • The tool looks for a component in the target project with the same base name as the source component. If it does not find, the component is imported to the target project.
  • If it finds the target component, it compares the files in the source component to the corresponding file in the target component in the following way :
  • If there is any file in the source component that does not exist in the target, UPDATECOMP.
  • If a file with the same name as in source exists in the target component, the contents of the two files are compared. If their contents are different, UPDATECOMP.
  • If all files are same, there is nothing to be done.
UPDATECOMP : Remove the target component from the target project. Import the source component into the target project.

-updatePrj

cyprjmgr.exe –w workspace –updatePrj source_project
This option will update the Top Project of the workspace.

cyprjmgr.exe –w workspace –prj Project01 –updatePrj source_project
This option will update the project Project01 of the workspace.
The update of the project is based on the following rules:
  • The toolchains of the source project and target project are compared. If they are different, UPDATEPRJ.
  • From the confirmed identical toolchains, compare the source project toolchain settings with its counterpart in the target project. If they are different, UPDATEPRJ.
  • Compare the non-component files of the source project with the target project (i.e., main.c, .cydwr file, .cyprj file). If any of these is different form its counterpart. UPDATEPRJ.
  • If this step is reached, there is nothing to update.
UPDATEPRJ : The target project is removed from the workspace and its directory is deleted. The source project and all its files/folders/components are copied in place of the target project and the project is added to the workspace.

-archive

cyprjmgr.exe –w workspace –archive complete zip
This archives the complete workspace into zip file.

cyprjmgr.exe –w workspace –archive typical nozip –prj Design01
This archives only project Design01 with typical archive level. The archived project will be exact replica of the source project (in the example shown above, Design01 is the source project).
The archive of the workspace/project is based on the following rules:
  • It archives the whole workspace if no target project provided, else it archives only the sprcified project.
  • Two different level of archive available, complete and typical. Using ‘complete’ archive level the whole project/workspace is archived whereas with ‘typical’ archive level only.
  • There is an option available to archive as ‘zip’ or ‘nozip’, which allows the user to archive into zip or just the copy of the content.

-updateInst

cyprjmgr.exe –w workspace –updateInst
This switch updates all the instances of the components on the schematic including the boot component for the project, for all the projects in the specified workspace with the latest versions of the components available.

cyprjmgr.exe –w workspace –updateInst –prj Design01
This switch updates all the instances of the components on the schematic including the boot component for the target project “Design01” with the latest versions of the components available.
Update instance of the workspace/project is based on the following rules
  • It updates all instances on the schematic with the latest component instances.
  • If a target project is provided, it updates the instances of the components in the specified project only. If the project is not specified,,it updates all the projects in the workspace with instances of the latest versions of all the components.

-forceWrite

cyprjmgr.exe –w workspace –d CY8C3866AXI-040 –forceWrite
This switch sets the device for all the Projects in the specified workspace, even if the workspace and projects are read-only.
Force writing of the workspace/project is based on the following rules:
  • The workspace and project files are made writable if they are read-only
  • Any other switch passed to the ‘cyprjmgr’ tool, which changes files, need to use this option to save the changes to read-only files.
  • If this option is not provided changes will not be saved on read-only files.

-noCustBuild

cyprjmgr.exe –w workspace -build –noCustBuild
This switch delays the building of the customizer DLLs until the end.

-noRefresh

cyprjmgr.exe –w workspace -build –noRefresh
This switch disables the refresh manager while building the project.

-buildPreCompCust

cyprjmgr.exe –w workspace -build –buildPreCompCust project
This switch builds customizer for a specific project the building of the customizer DLLs until the end.

–updateDWInst 

cyprjmgr.exe –w workspace -build –updateDWInst 
This switch updates the instances on the schematic to the latest version

-ol

cyprjmgr.exe –w workspace -build –ol level 
This switch sets the compiler optimization level. The level is compiler specific.

-warn 

cyprjmgr.exe –w workspace -build –warn[High|Low|None] 
This switch sets the compiler warning level.

-updateInstIfNeeded 

cyprjmgr.exe –w workspace -build –updateInstIfNeeded
This switch updates components to the minimum valid level.

-ignoreDepsWarning

cyprjmgr.exe –w workspace -build –ignoreDepsWarning 
This switch suppresses SystemDepNotFoundOnDisk warning while building primitives.

-export

cyprjmgr.exe –w workspace -prj Proj1 -export uVision
This switch exports the project to uVision. The -export switch can take one of the following values: eclipse, EWA (refers to IAR), or uVision.

-generateDescFiles

cyprjmgr.exe -w workspace -generateDescFiles
For all the projects in the workspace that have 'Generate description files' enabled, generates the description files.
cyprjmgr.exe -w workspace -prj <project_name> -generateDescFiles
For the specified project in the workspace, if 'Generate description files' is enabled, generates the description files.

-verifyDescFileEnabled

cyprjmgr.exe -w workspace -verifyDescFileEnabled
Verifies that all the projects in the workspace have 'Generate description files' enabled.
cyprjmgr.exe -w workspace -prj <project_name> -verifyDescFileEnabled
For the specified project in the workspace, verifies that 'Generate description files' is enabled.

-verifyDescFileContents

cyprjmgr.exe -w workspace -verifyDescFileContents
Verifies that all the projects in the workspace (that have 'Generate description files' enabled) have generated files that are in-sync with the current version of their source files.
cyprjmgr.exe -w workspace -prj <project_name> -verifyDescFileContents
For the specified project in the workspace (if 'Generate description files' is enabled), verifies that it has generated files that are in-sync with the current version of their source files.


cyelftool

The CyElfTool is applicable to projects targeting PSoC 4 and PSoC 5LP devices, using cy_boot v3.5 or later. For  PSoC 3 projects and older PSoC 5LP projects, use the CyHexTool instead.
The CyElfTool tool is used to patch *.elf files. This is critical as many/most 3rd party tools use the *.elf file for programming devices and thus it needs to have all important information contained in it.


Command Line Arguments:
The following arguments are all mutually exclusive and can only be used one at the time.

Display help:
   cyelftool -h/--help
Display version information:
   cyelftool -V/--version
Update checksum and metadata:
   cyelftool -C/--checksum file.elf --flash_size <num> --flash_row_size <num>
Update checksum, bootloader checksum, and bootloader size:
   cyelftool -P file.elf --flash_size <num> --flash_row_size <num>
             --size_var_name <name> --checksum_var_name <name> [--ignore <num>]
Generate cybootloader.c and linker configuration file:
   cyelftool -E/--extract_bootloader file.elf --flash_size <num>
             --flash_row_size <num>
Create bootloadable output file:
   cyelftool -B/--build_bootloadable file.elf --flash_size <num>
             --flash_array_size <num> --flash_row_size <num>
             [--ee_row_size <num> --ee_array <num>]
                          [--offset]
Create combined multi-application bootloader file:
   cyelftool -M/--multiapp_merge app1.elf app2.elf output.hex
             --flash_size <num> --flash_row_size <num>
             [--ee_row_size <num> --ee_array <num>]
Create LD include file with provides directives for selected symbols
   cyelftool -R/--shared_code_provides file.elf symlist.txt output_file --toolchain <toolchain>
   cyelftool -A/--rename_symbols symbolFile renameFile

The cyelftool inserts or updates the following sections of the post-link .elf file:
  • .cychecksum - All devices, contains the checksum of the flash portion of the application
  • .cyloadermeta - All devices. The tool will update the section with the bootloader checksum and size information for a bootloader project.
  • .cymeta - All devices. The checksum field will already have the silicon ID so that the cyelftool only needs to read the value, update it with the checksum, and write it back to the .elf file
  • .cyloadablemeta (.cyloadable1meta/.cyloadable2meta) - All devices. The linker flow will populate all but the Application Checksum, Application Entry Address, and Application Length in these sections. The tool will need to compute these missing items and insert them into the post-link .elf file.

cyhextool

The hex file postprocessor (CyHexTool) is a standalone command line tool that combines data from several hex files to produce the programming file. The output file is in Intel hex format.
This tool is applicable to projects targeting PSoC 3 projects and older PSoC 5LP projects. For PSoC 4 projects and newer PSoC 5LP projects, use the CyElfTool tool instead.


Syntax:

cyhextool -f in1.hex[=START:LEN[:OFFSET]][,...] -id XXXXXXXX  -o out.hex
    [-ecc <ON|ecc.hex>] [-cunv XXXXXXXX] [-wonv XXXXXXXX] [-meta XXXX]
    [-ee eeprom.hex] [-prot protect.dat] [-a ADDR1=XXXXXXXX[:SIZE],...]
    [-acdEnd <l|b>] [-blcks checkSumAddr.txt] [-chipProt XX]

Normal Options:

The following table lists and describes the various arguments for normal projects:
Argument
Description
-o <out.hex>
Specify output file name (required).
-f <in.hex>
Specify input file name (required). This file is normally produced by the linker.
-id XXXXXXXX
Specifies the target device ID (4 bytes).
-ecc <ON|OFF|HexFile>
Enable ECC (ON), disable ECC (OFF), or specify a user-defined Intel hex file to program the ECC bits. If this option is omitted, ECC will be disabled.
-cunv <XXXXXXXX>
Specify hexadecimal customer NV latch data (4 bytes for PSoC 3/PSoC 5LP only). The default is all zeros.
-wonv <XXXXXXXX>
Specify hexadecimal write-only NV latch data (4 bytes for PSoC 3/PSoC 5LP only). The default is all zeros.
-ee <eeprom.hex>
Specify user-defined Intel hex file to program EEPROM (if needed).
-prot <protect.hex>
Specify user-defined Intel hex file to program Flash protection bits (64 bytes for PSoC 3/PSoC 5LP only). The default is all zeros.
-a <PROGRAM={0},...>
Set section sizes (such as Flash/ECC size).
-meta XXXX>
Specifies the metadata (debugging enabled, silicon rev).  The meta value is always exactly two bytes.
-rev <XX>
Specifies the target device revision (1 byte).
-endian <b, l>
Specifies the endianess of the device.


Bootloader/Bootloadable Options:

The following table lists and describes the various additional arguments for bootloader projects:
Argument
Description
-bl <Hex File>
Specifies the bootloader flash image hex file
-acd <Hex File>
Specifies the *.cyacd bootloadable output file
-acdStart <XXXX>
Specifies the starting address of the bootloadable image
-e <XXXX>
Specifies the entry address of the bootloadable
-blcks <path to file>
Specifies the file containing the address of the bootloader checksum
-blsize <path to file>
Specifies the file containing the address of the bootloader size
-blChkType <X>
Specifies the bootloader packet checksum type (1=basic summation, 2=CRC)
-blVer <XXXXXXXXXX>
Specifies the bootloader metadata (BtldrVer, LoadableId, LoadableVersion, Cust ID)
-metaRow <0, 1>
Specifies the bootloader metadata row (0 or 1), 0 if not using MultiAppBtldr
-flsLine <XXX>
Specifies the number of bytes in a row of flash.
-arraySize <XXXXX>
Specifies the flash array size.


Input:

The input hex files (program, protect, config) should be in Intel hex format. All input files should begin at address 0. The cyhextool program will automatically add an offset to the addresses to match the address map specified in the following table or the address map specified on the command line.
Name
Default Address (hex)
Default Size (hex)
CUNVLAT
000080
4
WONVLAT
0000F8
4
EEPROM
008000
None
CONFIG
080000
None
PROTECT
0C0000
None
PROGRAM
100000
None
CHECKSUM
200000
N/A
The -a option controls the address map. The argument of the -a option consists of a comma separated list of NAME=VALUE pairs. Each name corresponds to a section of the output file. The value is the address of the beginning of the section in hexadecimal. Optionally, VALUE may be ADDRESS:SIZE where ADDRESS is the hexadecimal address and SIZE is the hexadecimal size of the section. If the size is specified, cyhextool will produce an error message if the input data for that section exceeds the section size.

Output Format:

The output format is expected to be compatible with the format specified under Input. The first line of the output file contains a header for the programmer. The PROGRAM, PROTECT, CONFIG (ECC), and EEPROM data will be aligned to 64-byte boundaries with zero-padding so that each line file will correspond to a Flash row. The checksum is calculated using the following steps:
  1. Find the mod-65536 (16-bit) sum of all of the data bytes in the PROGRAM section.
  2. Find the mod-256 sum the MSB and LSB of the result from step 1 and the constant 2.
  3. The checksum is the two’s complement of the result from step 2. The checksum will be between 0x00 and 0x100, so it is represented with two bytes.

Toolchain Support:

The makefile runs the cyhextool program after the linker finishes. If the linker does not produce an Intel hex file directly, the makefile generator will add commands to convert the output file to Intel hex format.

Keil

Keil uses the OMF or OMF2 file format. Keil’s OH51 or OHX51 tool may be used to convert OMF/OM2 files to Intel hex format:
OH51 program.omf

Comentarios

Entradas más populares de este blog

sprintf en PSoC Creator 3.0 y 3.1