• AVR Freaks

Hot!Harmony 3 Bootloader App

Author
domble
Super Member
  • Total Posts : 170
  • Reward points : 0
  • Joined: 2007/01/25 04:11:53
  • Location: UK
  • Status: offline
2020/09/04 03:10:53 (permalink)
0

Harmony 3 Bootloader App

Is there a PC application available from Microchip which talks to the Harmony 3 UART bootloader protocol? 
 
I find it extraordinarily difficult to find the right documentation for Harmony 3.  Various Harmony bootloader documents suggest it's based on AN1388 bootloader.  The Harmony 3 bootloader appears to use different commands. 
 
The Java based UnifiedHost-1.16.2.jar file, doesn't communicate with the Harmony 3 bootloader.  It does with an AN1388 based bootloader, but only works enough to erase the flash and not program any new data.  It also has ridiculously long timeouts for comms and loses comport setting, shows no error messages on the main form while its own log shows that it's not had a response (to a command that doesn't exist...)... Even if it worked, it's not good enough for customers' use!
 
As a seperate issue, I could only get UnifiedHost-1.16.2.jar to run with the Java.exe shipped with MPLABX, I did install OpenJDK14 but that wouldn't run the .jar file. 
 
So - has anyone found a working PC app to send a .hex file to the Harmony 3 bootloader.  Or can anyone point me towards any documentation on the protocol to roll my own bootloader PC App? 
 
Thanks!
 
#1

3 Replies Related Threads

    vgandhi
    Senior Member
    • Total Posts : 52
    • Reward points : 0
    • Joined: 2016/10/24 21:28:35
    • Location: 0
    • Status: offline
    Re: Harmony 3 Bootloader App 2020/09/04 03:43:26 (permalink)
    0
    All the documentation need to run H3 UART bootloader can be found here on the Microchip GitHub - https://github.com/Microchip-MPLAB-Harmony/bootloader_apps_uart/blob/master/apps/uart_bootloader/readme.md
     
    It uses a python based bootloader host script. More details here - https://github.com/Microchip-MPLAB-Harmony/bootloader_apps_uart/blob/master/tools/docs/readme_btl_host.md
     
     
     
    #2
    domble
    Super Member
    • Total Posts : 170
    • Reward points : 0
    • Joined: 2007/01/25 04:11:53
    • Location: UK
    • Status: offline
    Re: Harmony 3 Bootloader App 2020/09/04 07:52:27 (permalink)
    0
    Enough documentation to make a working (pair of) Harmony projects with UART bootloader. Had managed that part. But no information on the actual protocol used; having never looked at Python before now, trying to understand where the code is parsing the hex file into binary values to send...
     
    Edit:  it needs a binary file, not a hex file?  But MPLABX makes a hex file.  How do I convert the hex file?
     
    Do I have to find how to run the python (presumably the correct version, and some python serial port library...) and actually capture the serial data?
     
    Has anyone documented the UART serial data format?
     
    Edit2:  Python installed in seconds (microsoft store).  PySerial installed in seconds ('pip install pyserial').
      Hex2bin (delphi version from github) converted the hex file to binary.
    python C:\Microchip\Harmony3\bootloader\tools\btl_host.py -i COM6 -r 115200 -f RE3_boot.X.production.unified.bin -d pic32mx -a 0x9D000000 -p 4096 
    sucessfully flashed the firmware into my hardware.
     
     
     
     
    post edited by domble - 2020/09/04 09:23:49
    #3
    Blue_Key
    Senior Member
    • Total Posts : 141
    • Reward points : 0
    • Joined: 2011/12/20 04:48:22
    • Location: 0
    • Status: offline
    Re: Harmony 3 Bootloader App 2020/09/07 02:12:28 (permalink)
    0
    n
    #4
    Jump to:
    © 2020 APG vNext Commercial Version 4.5