Linux JLinkExe 4.82 doesn't loadbin (nRF51822, PCA1000 Dev Board)

  • I've just started using Segger with a Nordic nRF51822 on a PCA1000 dev board. Many of the features work (enough so that I'm sure the hardware is at least functional) and I can flash code using the Windows nRFGo application. However, my development environment (gcc, gdb, gnu-binutils) is on a Debian Linux box.

    JLinkExe-4.8.2 (and JLinkGDBServer) on Linux work somewhat, but I can't get JLinkExe to flash code, or even to load a binary file into RAM. It can change RAM locations one at a time, and I got it to do a complete Flash erase by poking values into the NVMC, but when I issue a loadbin command, it doesn't do it:

    I ran strace to see what was going on, and JLinkExe never even attempts to open the binary file. Am I using the loadbin command wrong? Is it broken in this version of the Linux software?

    Thanks for any help!

  • Hi,

    You are using the command correctly.
    It is related to this problem:
    No XMC4500 flash programming possible on Linux JLink 4.82 (works again after downgrade to 4.80e)

    We have already identified and fixed it.
    A new version comes later this week.

    Background info:
    There has been some internal re-structuring regarding the loadbin and unfortunately, there has been introduced a problem in the Linux & Mac version (does not show up under Windows)
    which causes the loadbin command in J-Link Commander to not work properly.


    - Alex

    Please read the forum rules before posting.

    Keep in mind, this is *not* a support forum.
    Our engineers will try to answer your questions between their projects if possible but this can be delayed by longer periods of time.
    Should you be entitled to support you can contact us via our support system: https://www.segger.com/ticket/

    Or you can contact us via e-mail.

  • Release date has been moved a bit, so for now, please find a beta version (V4.83a) for download on our website, which fixes the problem:
    http://www.segger.com/jlink-software-beta-version.html


    - Alex

    Please read the forum rules before posting.

    Keep in mind, this is *not* a support forum.
    Our engineers will try to answer your questions between their projects if possible but this can be delayed by longer periods of time.
    Should you be entitled to support you can contact us via our support system: https://www.segger.com/ticket/

    Or you can contact us via e-mail.

  • v4.80h works:

    But v4.82, 4.83.1, and v4.84 do not:

    I'm using the 64-bit RPM release on Fedora 20. Up until v4.82, Everything's worked like a champ.

    I've gone back to using v4.80h for the time being, but this is a pretty serious regression!

  • Hello "pizza",

    You were using the loadbin command incorrectly...
    As the name says, it was designed to work with *.bin files...
    It was *never* intended to work with other extensions, so this has been corrected. (Because there were a lot of users which passed hex files etc. to it, without knowing what they are doing)
    Pass a bin file to it (extension .bin) and it will work...
    *.img files are not really specified at all. They can contain binary data or some kind of structured data with headers etc. that shall not be downloaded.

    We will make sure that future versions output an appropriate error here, so it is clear what is going wrong.


    - Alex

    Please read the forum rules before posting.

    Keep in mind, this is *not* a support forum.
    Our engineers will try to answer your questions between their projects if possible but this can be delayed by longer periods of time.
    Should you be entitled to support you can contact us via our support system: https://www.segger.com/ticket/

    Or you can contact us via e-mail.

  • So if I am correctly interpreting what you wrote, in order to get JLinkExe to continue to act as it did prior to v4.82, I will need to *rename* the file to have a .bin extension?

    After all, the purpose of the 'loadbin' command is to transfer a raw binary file
    into the target at an arbitrary memory location. I am using it for that
    precise purpose.

    (and FYI, my 'img' file is the flattened binary executable combined with other data the application needs -- hence the use of 'img' rather than 'bin')

  • Hi "pizza",

    Quote

    So if I am correctly interpreting what you wrote, in order to get JLinkExe to continue to act as it did prior to v4.82, I will need to *rename* the file to have a .bin extension?


    Correct.
    Prior versions, by accident, did not check the file extension.


    Best regards
    Alex

    Please read the forum rules before posting.

    Keep in mind, this is *not* a support forum.
    Our engineers will try to answer your questions between their projects if possible but this can be delayed by longer periods of time.
    Should you be entitled to support you can contact us via our support system: https://www.segger.com/ticket/

    Or you can contact us via e-mail.

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!