Menu

standalone IPECMD files for PICKIt3 use

sheldon
2020-05-27
2020-06-02
1 2 > >> (Page 1 of 2)
  • sheldon

    sheldon - 2020-05-27

    HI Dan ,
    IPECMD.exe is part of the suit for MPLABX and the IPE
    and the bootloader works when this has been installed and any enviorment settings as part of the install are done
    however installing the full mplabx is not practical for distribution to allow the use of PICKit3 to transfer the bootloader firmware and support files and would only install the min files to support the pic prgrammer to work wi the bootloader

    What min files are required to allow the PICkit3 to transfer the bootloader firmware

    from the little i have tried , bootloader PC software uses a command strings in jar ,
    I tried transfering exe , jar files , lib etc , but cant get it to use the pickit3 while pointing to the copied files , to another directory not MPLABX installed directory , but it not work

    can you advise what files and enviroment setting are required that must be copied to allow standalone bootloader pickit3 to progrma the firmware via tiny bootloader

    Cheers

    Sheldon

     
    • Anobium

      Anobium - 2020-05-27

      Depends.. what is the target chip? chips?

      You just need to set the Pk3 in MPLAB-mode and most chips should work using MPLAB-IPE.

       
  • sheldon

    sheldon - 2020-05-27

    it works fine on the pickit3 clone i have ,for the chip i am using for the test , but this requires a full install of MPLABX , and i prefer not to do that for any person getting disributed bootloader to update the firmware , so would like to only have the core required files that th tiny booloader need to enable the ickit3 to program the bootloader file

     
    • Anobium

      Anobium - 2020-05-27

      You just to installed MPLAB-IPE. You do not need the IDE. It is still a large download.

      But, is your question... what part of MPLAB ( PKCMD.EXE) do you need to make this work to create a cut down programer to put the bootloader onto the chip?

       
  • sheldon

    sheldon - 2020-05-27

    YES that is my question and need

    it far better not to get a user to install a complete version of MPLABX , when the need is just to program the firmware from the bootloader

     
  • Anobium

    Anobium - 2020-05-27

    I typically just install IPE, so, personally I have not cut the install to the minimum.

    You raise a very good point and it may be worth while installing IPE ensure PKCMD works... then, start to rename the folders to determine the minimum. If you can do that I can easily provide a proper installer, or, you could ZIP up for distribution.

    You up for an IPE install and then cull ?

     
  • sheldon

    sheldon - 2020-05-27

    already have to some degree , but have not been able to get it to work ,
    thats why i asked

     
    • Anobium

      Anobium - 2020-05-27

      Sorry, reinstall IPE and rename folders to recover them if IPE stops working, Your approach should work and we used this method for Great Cow BASIC for many years until we assumed that folks had IPE installed.

       
  • Anobium

    Anobium - 2020-05-27

    I would restart and rename folders rather then delete, then, restore etc if it breaks. I know this works. Why? Great Cow BASIC used a cut down version of PKCMD for years. We now rely on IPE being installed. So, your idea should still work.

     
  • Anobium

    Anobium - 2020-05-27

    I would restart and rename folders rather then delete, then, restore etc if it breaks. I know this works. Why? Great Cow BASIC used a cut down version of PKCMD for years. We now rely on IPE being installed. So, your idea should still work.

     
  • Anobium

    Anobium - 2020-05-27

    I would restart and rename folders rather then delete, then, restore etc if it breaks. I know this works. Why? Great Cow BASIC used a cut down version of PKCMD for years. We now rely on IPE being installed. So, your idea should still work.

     
  • Anobium

    Anobium - 2020-05-27

    I would restart and rename folders rather then delete, then, restore etc if it breaks. I know this works. Why? Great Cow BASIC used a cut down version of PKCMD for years. We now rely on IPE being installed. So, your idea should still work.

     
  • Anobium

    Anobium - 2020-05-27

    I would restart and rename folders rather then delete, then, restore etc if it breaks. I know this works. Why? Great Cow BASIC used a cut down version of PKCMD for years. We now rely on IPE being installed. So, your idea should still work.

     
  • sheldon

    sheldon - 2020-05-27

    i rather know than keep guessing , i have donethe copy files and part installs , further if it setup of envoirment aspects changes , that differ when part install is required such as java installs and i am sure the guys that made the bootloader probaly know , as i am would be amazed that this has not be asked prviously ,doing this blind , its the longest way to make a multi
    mistake

     
  • Anobium

    Anobium - 2020-05-27

    I did it three yeas ago for the Great Cow BASIC installation, I am in charge of that toolchain, but, it is way out of date. It was for the old legacy chips.

    I would have to do what you are doing. Hopefully, someone else has done it.

     
  • sheldon

    sheldon - 2020-05-27

    yes i hope so

    here is the details i been using as part guide

    file:///C:/Program%20Files%20(x86)/Microchip/MPLABX/v5.30/docs/Readme%20for%20IPECMD.htm

    refer section 10

    I know tiny bootloader pc software uses the commnd line java , as not telling it where the java home is it will complain

    but again i cant make it work just on the files i have copied and pointed to so far

     
    • Anobium

      Anobium - 2020-05-27

      The javaw is portable. So, that should work. A merge of the java and ipe did work in the past. Give it another go. If it does not work, hopefully, someone else will help. Failing that I could look after I have finished my current build of Great Cow BASIC.

       
  • sheldon

    sheldon - 2020-05-27

    well i not have java installed and only have MPLABX - min java it needs/ installed to run ,

     
    • Anobium

      Anobium - 2020-05-27

      Yes, you will need Java. You may want to try one of the Java alternatives.

       
  • sheldon

    sheldon - 2020-05-27

    i rather not go down that road where i need to introduce more changes to the pc and mix more options up, more so when there should not be a need

    Last thing a that end user want is more changes and extra files , that has high possiblity of clashes with there existing java enviorment if its in place ,

    MPLABX has the required files and selecting the correct ones should all that is required . Without the need to complicate the pc more , only thing need is the knowlage of the ones that are needed

     
  • sheldon

    sheldon - 2020-05-31

    WELL ANOBIUM WAS RIGHT ..... the only way to find the the required files that IPECMD requires for the bootloader firmware is to do it the very long and very hard way

    Microchip is not going to help on this i - asked

    I am also very supprised this has not come up before , but hope this helps some that are faced with having to get a user update the pic to bootloader enviroment and update to the latest ver code

    MPLABX unziped are a massive 7gig , and over 44,000 files and can take 1 hour to load / install and setup , so avoiding this for users that have to update the firmware( not bootloader code) is just not good , possible issues on their PC so this is why i have gone looking for a cutdown of the required files to JUST do what is required for tiny bootloader

    to work this out you need do a complete copy ( do not do an install ) ver 5.30 , or 5.35 or any verion prior 5.40 that you intend to distribute , of MPLABX to another directory of your choice , change where IPECMD is found in the tinybootloader pc software to the copy version ,
    then edit the the JDKLOC file of the copy ver to point to the copy ver of the java loaction it uses ,

    then start changing each directory name or file ONE AT A TIME in each directory that makes up MPLABX , then test your changes to see if the firmware can be programed into the pic and works correctly , then continue till you find files that are needed in most cases you wont get an error but it will hang the app , or just not complete or simply fail - this took me 3 full days and well over 200 bootloader transfer tests to work out

    you will need to consider the chips you intend to support and the programer you will support, win10 64bit or 32bit is also a considertion

    in my testing i have a 18f46k80 and the pickit3 clone , so all other chips and files not related to this were removed ,or only kept mplabx java enviorment it requires for IPECMD to work

    I tried moving files that were found that were required to a common directlry but MPLABX java enviorment looks for them in their assigned subdirectories so they cant be moved or i have not looked to where this is defined so tha tthe files can be moved to one directly

    attached pics of the directories / files required , note these arel now about 330mb , zip to 160mb for any distribution , further playing can likly can get this smaller , more so if you can change the MPLABX java file location requirement structures

    hope this is of help

     
  • Anobium

    Anobium - 2020-05-31

    Well done.

    Post the final working setup as a zip? The issue being... that Microchump update IPE so often the zip will have a short lifespan.

    I spoke with Microchump development in April and they are decomposing the MPLAB installation to smaller components to create separation and formal interfaces. These formal interfaces will then enable smaller and componentised updates. They know the current approach is not sustainable.

    :-)

     
  • sheldon

    sheldon - 2020-05-31

    zip is larger than the site will allow , but looking at the directores and files index posted ,
    any existing mplabx stucture its easy to see the files required

     
  • sheldon

    sheldon - 2020-05-31

    anobium
    do you know if its possible for the IPECMD erase switch to select memeory types , like program only / EEROM only/ Config only

    issue i have is EErom being errased when doing Firmware update , where i would prefer not to as i has data i wish to preserve on a firmware update

     
    • Anobium

      Anobium - 2020-05-31

      -MP may be correct.

      Options              Description                              Default
      ----------------------------------------------------------------------------
      B                    Batch Mode Operation                     None
      C                    Blank Check Device                       Do not Blank Check
      E                    Erase Flash Device                       Do Not Erase
      F<file>              Hex File Selection                       None
      G<Type><range/path>  Read functions                           None
                              Type F: = read into hex file,
                           path = full file path,
                           range is not used
                           Types P,E,I,C,B: = ouput read of Program,
                           EEPROM, ID ,Boot and/or Configuration
                           Memory to the screen. P and E
                           must be followed by an address
                           range in the form of x-y where
                           x is the start address and y is
                           the end address both in hex,
                           path is not used
      H                    Hold in reset                            Hold in reset
      I                    High Voltage MCLR                        Not Selected
      L                    Release from reset                       Do Not Release
      M<memory region>     Program Device                           Do Not Program
                           memory regions:
                           P = Program memory
                           E = EEPROM
                           I = ID memory
                           C = Configuration memory
                           B = Boot memory
                           If no region is entered, the entire
                           device will be programmed.
      N####,####           Program memory range                     None
                           #### is a hexdecimal number
                           representing Start and End Address
                           in sequence
      P<part>              Part Selection. Example: 16f877          None
      R<file>              Reprogram                                Do Not Reprogram
      S<file>              SQTP File Selection                      None
      V                    Power from tool                          Externally power target
      Y<memory region>     Verify Device                            Do Not Verify
                           P = Program memory
                           E = EEPROM
                           I = ID memory
                           C = Configuration memory
                           B = Boot memory
                           If no region is entered, the entire
                           device will be verified.
      ?                    Help Screen                              Not Shown
      
      
      Each option must be immediately preceeded by a switch, Which can
      be either a dash <-> or a slash </> and options must be separated
      by a single space.
      
      
      Commands and their parameters are not case sensitive. Commands will
      be processed according to command order of precedence, not the order
      in which they appear on the command line.
      
      The program will return an exit code upon completion which will
      indicate either successful completion, or describe the reason for
      failure.
      
       

      Last edit: Anobium 2020-05-31
1 2 > >> (Page 1 of 2)

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.