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
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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 ?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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
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.
:-)
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
OptionsDescriptionDefault----------------------------------------------------------------------------BBatchModeOperationNoneCBlankCheckDeviceDonotBlankCheckEEraseFlashDeviceDoNotEraseF<file>HexFileSelectionNoneG<Type><range/path>ReadfunctionsNoneTypeF:=readintohexfile,path=fullfilepath,rangeisnotusedTypesP,E,I,C,B:=ouputreadofProgram,EEPROM,ID,Bootand/orConfigurationMemorytothescreen.PandEmustbefollowedbyanaddressrangeintheformofx-ywherexisthestartaddressandyistheendaddressbothinhex,pathisnotusedHHoldinresetHoldinresetIHighVoltageMCLRNotSelectedLReleasefromresetDoNotReleaseM<memoryregion>ProgramDeviceDoNotProgrammemoryregions:P=ProgrammemoryE=EEPROMI=IDmemoryC=ConfigurationmemoryB=BootmemoryIfnoregionisentered,theentiredevicewillbeprogrammed.N####,#### Program memory range None#### is a hexdecimal numberrepresentingStartandEndAddressinsequenceP<part>PartSelection.Example:16f877NoneR<file>ReprogramDoNotReprogramS<file>SQTPFileSelectionNoneVPowerfromtoolExternallypowertargetY<memoryregion>VerifyDeviceDoNotVerifyP=ProgrammemoryE=EEPROMI=IDmemoryC=ConfigurationmemoryB=BootmemoryIfnoregionisentered,theentiredevicewillbeverified.?HelpScreenNotShownEachoptionmustbeimmediatelypreceededbyaswitch,Whichcanbeeitheradash<->oraslash</>andoptionsmustbeseparatedbyasinglespace.Commandsandtheirparametersarenotcasesensitive.Commandswillbeprocessedaccordingtocommandorderofprecedence,nottheorderinwhichtheyappearonthecommandline.Theprogramwillreturnanexitcodeuponcompletionwhichwillindicateeithersuccessfulcompletion,ordescribethereasonforfailure.
Last edit: Anobium 2020-05-31
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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
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.
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
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?
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
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 ?
already have to some degree , but have not been able to get it to work ,
thats why i asked
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.
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.
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.
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.
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.
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.
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
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.
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
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.
well i not have java installed and only have MPLABX - min java it needs/ installed to run ,
Yes, you will need Java. You may want to try one of the Java alternatives.
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
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
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.
:-)
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
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
-MP may be correct.
Last edit: Anobium 2020-05-31