This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

How to flash multiple nRF51 Dongles at once?

Hello,

I'm curious about how to deploy my application to multiple nRF51 Dongles at the same time while I am developing. I have the same application / hex file running on all Dongles, but I have not yet found a way to configure a parallel deploy in either keil or via a batch file. I was trying to use J-Flash, but it tells me that I do not have a licence....

  • I managed to do the following now:

    %keilpath% -f "%projectpath%\project.uvprojx" -o "%projectpath%\load_045.txt" -t "ID045"
    %keilpath% -f "%projectpath%\project.uvprojx" -o "%projectpath%\load_458.txt" -t "ID458"
    %keilpath% -f "%projectpath%\project.uvprojx" -o "%projectpath%\load_847.txt" -t "ID847"
    

    I tried to put start before every line to let it execute parallel, but apparently, KEIL has not been programmed correctly for this to work. Flashing fails most of the time if I execute these command parallel. But I could save a lot of time if this would work.

  • We have made a batch file for a different SDK that program several boards at the same time. I've remove all my Segger serial numbers from this one and re-named it to a .txt file. But you can open it, edit it and rename it to a batch file (.bat). It will then program several boards at the same time using the nrfjprog tool.

    flash_boards_wired_debug_example.txt

  • Thanks a lot. The nrfjprog tool was what I was looking for. Deploying is now about 10 times faster for me, that will greatly speed up my workflow. I've modified the file to only flash my application because I have the softdevice preprogrammed in development. Now it looks like this:

    echo Parallel flashing on all dongles
    
    SET SEGGER0=680######
    SET SEGGER1=680######
    SET SEGGER2=680######
    
    SET APPHEXFILE=obj_node\fruityMesh.hex
    
    start /min nrfjprog -s %SEGGER0% --program %APPHEXFILE% -r
    start /min nrfjprog -s %SEGGER1% --program %APPHEXFILE% -r
    start /min nrfjprog -s %SEGGER2% --program %APPHEXFILE% -r
    
    echo "Flashing finished"
    

    I've added the start command so that it flashes on all devices parallel. it will open a bunch of windows though, but the flashing speed is just perfect :-)

Related