• I see here that the .hex for the Nordic is very old. Could someone update this to a newer version? Please?

  • Which board? I don't see any hex file e.g for mdbt42q, just DFU zip files. Also it is unlikely you need hex file except Microbit.

  • This one


    1 Attachment

    • Bildschirmfoto 2023-10-26 um 19.08.07.png
  • See http://www.espruino.com/nRF52832DK

    Fortunately it is a devboard and any real developer can build firmware for this one from the source ;-)

    EDIT: and BTW you can flash old hex and then trigger dfu update and try mdbt42q zip over bluetooth, looks like the serial console is on same pins.

  • Thank you, I am not able to build this myself. But I understand if there is no need if nobody is using it anyway. And I have already tried flashing it over bluetooth, didn't work, but I'll try again tomorrow.

  • Me again, I have tried setting the module (flashed with old hex before) in DFU mode by submitting

    E.setFlags({unsafeFlash:1});
    var f=require("Flash");
    f.erasePage(0x7f000);
    E.reboot();
    

    But the IDE was unable to find a device in DFU mode. So this didn't seem to work.
    I then tried the VDD->D0 option and couldn't get it to work: neither IDE nor nRF-Connect see the device in DFU mode.

    Another thing I have noticed: I have uploaded a script to let the device advertise like a OpenHaystack beacon – works good until I power it off and on: the device falls back into "Espruino mode" no matter if uploaded to RAM or Flash.

    Can it be that the old hex does not work the way Espruinos work today?

  • I then tried the VDD->D0 option and couldn't get it to work: neither IDE nor nRF-Connect see the device in DFU mode.

    If you are still talking about http://www.espruino.com/nRF52832DK then D0 is the wrong one. In general you need to press BTN1 to get to DFU. Only on mdbt42q this button is mapped to D0. On this board it is a real button.

    However as the erasePage code did not work I checked board definition and bad news is that there is no DFU bootloader :-(
    https://github.com/espruino/Espruino/blo­b/master/boards/NRF52832DK.py#L28

    So I was wrong, unfortunately you cannot update it over BLE. So building from source is the best option.

    In Linux or WSL that is part of Windows it is quite easy, something like

    git clone https://github.com/espruino/Espruino
    cd Espruino
    . scripts/provision.sh NRF52832DK
    make BOARD=NRF52832DK RELEASE=1
    

    I just tried it on Debian bullseye and I had to also run

    sudo apt-get install python-is-python3
    sudo apt-get install python3-pip
    

    1 Attachment

  • Thank you very much! :-)

  • On the nRF52832DK I generally just update the firmware by copying the hex to the flash drive that it creates - the hex will include the sd+bootloader+app so updating using that hex via DFU wouldn't work.

    You'd need to do your own build with DFU_UPDATE_BUILD=1 to get a zip file, but generally that's not very useful when updating via DFU is just so fast.

    The hex file is a tricky one - as on https://www.espruino.com/nRF52832DK, at one point Nordic actually paid me for up to date builds (for a year I think) but then they decided not to. So while builds might be handy (and I personally test a lot of stuff using the DK build) it seems a bit odd to start doing builds again when they weren't bothered.

    But then nobody has paid me for any builds in the last 3 years. For some reason I've been doing RAK Wireless and Smartibot even so so maybe I should do the DK again.

  • Post a reply
    • Bold
    • Italics
    • Link
    • Image
    • List
    • Quote
    • code
    • Preview
About

Update firmware for Nordic nRF52x to a more fresh version?

Posted by Avatar for DanDyse @DanDyse

Actions