5 Replies Latest reply on May 1, 2019 11:57 PM by vjanecic_3936426

    command line documentation for Cypress tools

    doug.springer

      I'm new to PSoC tools, and I am looking for documentation on the command line options, especially for cyhextool.

         

      Keil seems to have a good set of help files for their compiler - but where do I find them for Cypress's tools?

         

      For instance, what does this command actually do (besides create the intel hex file)?

         

      cyhextool -o ./psoc_loader.hex -f ./psoc_loader.ihx -prot ./Generated_Source/PSoC3/protect.hex -id 1E028069 -a EEPROM=90200000:800,PROGRAM=00000000:10000,CONFIG=80000000:2000,PROTECT=90400000:40 -meta 0301 -cunv 00004005 -wonv BC90ACAF -ecc OFF -blver 0000010001 -blcks ./cksmaddress.txt -blsize ./sizeaddress.txt -flsLine 256 -endian b

         

      What is -id

         

      What does -a do? Section sizes and lengths?

         

      What is meta

         

      What is cunv

         

      What is wonv

         

      what is ecc

         

      what is blver

         

      what is blcks (something to do with the address of the checksum variable, I know)

         

      what is blsize (something to do with address of the size of the boot loader, but what does this option do)

         

      What is flsLine (maximun characters per line?)

         

      I assume endian b means big endian format, but for what source or destination?

        • 1. Re: command line documentation for Cypress tools
          SampathS_11
              I have attached a file to list out the command line options for the CyHexTool. Please do ping me if you have any issue.   
          • 2. Re: command line documentation for Cypress tools
            doug.springer

            Thanks! That's a lot better than the one I got through creating a Technical case.

            • 3. Re: command line documentation for Cypress tools
              vjanecic_3936426

              thanks for your document !

              but now I still cant produce HEX file ( for programmer )  with this command

               

              cyhextool -o program.hex -f product.hex  -prot protect.hex -id 2E123069 -a EEPROM=90200000:800,PROGRAM=00007000:8800,CONFIG=80000000:2000,PROTECT=90400000:11 -meta 0301 -cunv 00004005 -wonv BC90ACAF -ecc OFF -blver 0000010001 -flsLine 256 -endian b

               

              I get error message:

               

              Protection data size must not exceed 17

               

              here is my protect.hex file

               

              :0200000490402A

              :110000000000000000000000000000000000000000ef

              :00000001FF

               

              here is (short version) of my product.hex

               

              :02 0000 04 7000 8A

              :40 0000 00 00800020117000000D9  .... 448A3237010BD8081FF1F00000000B4ED0000084B10B5 2D

               

              ... there goes 545 lines like this , and at the end there is this:

               

              :40 87c0 00 0000000000000000000 ... 000000000000000000000000000000000000000000000000 79

              :00 0000 01 FF

               

               

               

              what I am doing wrong ?

              please help !

               

              EDITED:

               

              very interesting ...

              when I patch HEX file 'by hand' - meaning , let Creator make HEX file and edit this file , I can produce correct HEX file that Programmer parse without error !

               

              I use simple Digital_Pins example ,

              and I saw that HEX file created by CREATOR has all 256 k of PROGRAM Flash created, also all of 32 k of CONFIG , and all 256 bytes for PROTECT

              I edit this file and reduce all memory region to 1/4 , so I left 32 k PROGRAM , 8 k CONFIG , and 64 bytes PROTECT

              and program this EDITED hex file without error !

               

              so here comes new question - how do you generate CONFIG data ?

              every flash row has 256 bytes od PROGRAM and 32 bytes of CONFIG data

              where can I found specification how to generate CONFIG data for every flash row ?

               

              ... or just help me to work with cyhextool ... it will produce CONFIG for every flash row !

              help me - please !

              • 4. Re: command line documentation for Cypress tools
                vjanecic_3936426

                very strange ... when I think I got it all - still NOT working

                 

                + I change command line so:

                 

                cyhextool -o program.hex -f product.hex  -prot protect.hex -id 2E123069 -a EEPROM=90200000:800,PROGRAM=00000000:40000,CONFIG=80000000:2000,PROTECT=90400000:100 -meta 0301 -cunv 00004005 -wonv BC90ACAF -ecc OFF -blver 0000010001 -flsLine 256 -endian b

                 

                + I expanded my product.hex file to full 256 k size

                   - simply copy content from HEX file generated by Creator for addresses above 0x10000

                 

                + I copy content for PROTECT region from HEX file generated by Creator , full 256 bytes

                 

                anyway ... it not works !

                cyhextool response with error - Protection data size must not exceed 256

                 

                how it comes ?!  everything is just as Creator do it - but CYHEXTOOL stil complains ?!

                 

                any help, please !

                 

                EDITED:

                 

                when I delete first line ( record type 04 ) and last line ( record type 01 ) from PROTECT.HEX file

                I got new error

                 

                HEX FILE LINE OVERLAPS PREVIOUS DATA :05FFD200000001000128

                 

                it is even more strange ,

                there is no data at address 0xFFD2 ... only zeros there in PRODUCT.HEX

                • 5. Re: command line documentation for Cypress tools
                  vjanecic_3936426

                  SOLVED !

                   

                  1) file PROTECT.HEX delete record type 04 and type 01  , only type 00 are need

                   

                  2) option -blver is problem , it is for BOOTLOADER project ONLY , delete for normal application !!!

                   

                  now I have complete tool chain for ASM ( bare metal ) project, CYHEXTOOL is working now !

                   

                  thanks everybody - have a nice day !