Hot!EZBL - Porting and using ezbl_tool

Author
sjb741
Super Member
  • Total Posts : 787
  • Reward points : 0
  • Joined: 2010/01/25 08:45:39
  • Location: 0
  • Status: offline
2017/11/23 08:04:11 (permalink)
3 (1)

EZBL - Porting and using ezbl_tool

Hi all,
 
I found EZBL, which I hope will allow in-field firmware updates for PIC24FV32xx. The documentation is very well written, but I feel there should be more of it - eg on using devices other than the PIC dev kits intrinsically supported. I basically changed the CONFIG fuse settings on the examples.
 
At present I'm wondering about using EZBL for real - without MPLAB. After a good deal of digging around, I see this relies on the Java tool "ezbl_tool.jar".
 
Does there exist any guidance on using this tool?
#1

3 Replies Related Threads

    gbarry
    New Member
    • Total Posts : 8
    • Reward points : 0
    • Joined: 2014/01/30 22:21:04
    • Location: 0
    • Status: offline
    Re: EZBL - Porting and using ezbl_tool 2017/12/06 17:55:05 (permalink)
    0
    Not enough, I'd say.  I just went through that.  This may help.
     
    The command line is your friend. Look in the output window when you run that demo that sends the app to the bootloader.  You will see an invocation from java that looks like:
     
    "C:\Program Files (x86)\Microchip\MPLABX\v3.40\sys\java\jre1.8.0_91/bin/"java -jar "ezbl_integration/ezbl_tools.jar" --communicator ...
     
    Now go to a command line and paste in that line.  On my machine, there is already a path to java, so I can dispense with that and just start from  prompt> java -jar "ezbl ...".  If you can change to the directory that ezbl_tools.jar is in, it becomes as simple as "java -jar ezbl_tools.jar"
     
    Now after that, give it --?  and it will respond with a help message that tells you the tools can do 5 different things.
    And, if you put one of those in, that is, put --blobber where I had --?, you will get a help description for the blobber option.  (Also, if you go back to the MPLAB output window and look up 2 lines, you will see the invocation of the same tool with the --blobber option; this is how the bl2 file gets created).
     
    One other thing.  --communicator calls ezbl_comm.exe.  That one is a C++ program (built with Visual Studio, I believe) and it connects the output of communicator with some USB device that attaches to your EZBL-enabled device.
     
    Good luck!
     
    #2
    mgleria
    New Member
    • Total Posts : 15
    • Reward points : 0
    • Joined: 2017/06/22 12:18:48
    • Location: 0
    • Status: offline
    Re: EZBL - Porting and using ezbl_tool 2018/10/30 05:00:05 (permalink)
    0
    Hi everybody.
     
    I was inquiring about this for the last few days and I'm currently a bit stuck right now. I need to apply FOTA with EZBL, and like was explained by @gbarry, the tools provided are ezbl_tool.jar. And specifically for transferring FW image (java -jar ezbl_tools.jar  --communicator => ezbl_comm.exe), I need to port this into a Linux server, that will be the remote server to provide the FW updates. I understand that this was developed to support UART and I2C; I need to tune it and run the same logic but over a network socket instead of UART or I2C. It would be really helpful if I can read the source code (C++) of ezbl_comm.exe, and the source code of ezbl_tools.jar.
     
    Is that code available somewhere? Does somebody try something similar?
    Thanks for reading. 
    #3
    mgleria
    New Member
    • Total Posts : 15
    • Reward points : 0
    • Joined: 2017/06/22 12:18:48
    • Location: 0
    • Status: offline
    Re: EZBL - Porting and using ezbl_tool 2018/11/07 06:27:42 (permalink)
    0
    I respond myself regarding source code of ezbl tools.
     
    I found in \ezbl-v2.11\ezbl_comm\ezbl_comm:
    • ezbl_update.cpp
    • logger.cpp
    This tools above are the compiled ezbl_comm.exe that is used when --communicator option is called on ezbl_tools.jar.
     
    At the beginning of the ezbl_update.cpp file, there is a comment which says:

    /**
    * To build this utility with gcc (ex: using Cygwin), try:
    * gcc -o ezbl_comm ezbl_update.cpp logger.cpp
    */
     
    I have not tried to build it in Linux. I will comment here how it goes when I do it.
    After that, I have to modify it to support a socket instead of a UART. 
    #4
    Jump to:
    © 2018 APG vNext Commercial Version 4.5