This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

I need help with converting any example from Keil to SES

Hello,

I've been trying for days to convert any example from Keil to SES, I have road probably every question here on the dev zone but I am unable to fix this, I ever specially install windows on my mac to try if there it would work.

So, I have done everything from official nordic documents, I've been through several problems which I happily solve, but that I'm not able to.

I get those errors:


unplaced section: .log_dynamic_data_app [nrf_log_frontend.o], size=12, align=4

undefined symbol: __SRAM_segment_end__

undefined symbol: __start_log_const_data

undefined symbol: __start_log_dynamic_data

undefined symbol: __stop_log_const_data

I'm working on latest SEGGER, I have tried latest SDK, also 14.2 . The same errors. 

Thanks for reply

Parents Reply Children
  • To be sure..

    So I just need to type "Nrfjprog" in terminal to refresh? 

    Do you think Its good way to flash firmware into dev 5 board through Jlink program? 

    What about SCL/SDA pinout to dev 5 board?

  • oh no. You need to use the nrfjprog to flash the softdevice first. the hex file of the softdevice is in the SDK under components/softdevice/...

  • Okay, so I need to flash it twice yes?

    Firstly I did:

    " cd /Users/jacobbudny/Desktop/DEVELOPMENT/external/nRF5_SDK/components/softdevice/s132/hex "
    // to get to the folder where soft device is

    " nrfjprog --family NRF52 --program s132_nrf52_7.0.1_softdevice.hex --verify "
    // then that fo flash the softdevice

    I got that:                                      

    Parsing hex file.

    ERROR: The file specified could not be found.

    jacobbudny@Philips-MBP hex % nrfjprog --family NRF52 --program s132_nrf52_7.0.1_softdevice.hex --verify                                     

    Parsing hex file.

    Reading flash area to program to guarantee it is erased.

    Checking that the area to write is not protected.

    Programming device.

    Verifying programming.

    Verified OK.

    -----------
    // So I assume its okay?

    Than I flashed the BlueIOThingy
    " cd /Users/jacobbudny/Desktop/DEVELOPMENT/IOsonata/ARM/Nordic/nRF52/nRF52832/exemples/BlueIOThingy/Eclipse/Debug "
    // to get to the folder

    "nrfjprog --family NRF52 --program BlueIOThingy.hex --verify "

    Parsing hex file.

    Reading flash area to program to guarantee it is erased.

    Checking that the area to write is not protected.

    Programming device.

    Verifying programming.

    Verified OK.


    // And I did a reset on the board,  so I assumed it should be okay? but it still do not advertise ;/ don't know what I am doing wrong


                 





  • Ok now I see what you are doing.  To use nrfjprog to flash BlueIOThingy.hex, you need first use mergehex to merge both hex files into one.  then use nrfprog to flash.  It cannot be flashed in 2 passes.

    Other option is to use debug config in Eclipse to launch BlueIOThingy.  To use that you only need to use nrfjprog to flash softdevice only.  Then Eclipse will take care of the BlueIOThingy.  In this mode, you only need to flash softdevice once. Unless it got erase by other firmware such as Blinky (non ble).

  • Okay so I Did what you have recommend:

    I merged softdevice as recommended here:
    https://devzone.nordicsemi.com/f/nordic-q-a/16088/merge-hex-files

    So I did that:

    mergehex -m BLE.hex s132.hex -o comb.hex // to merge hex files 

    Parsing input hex files.

    Merging files.

    Storing merged file.

    nrfjprog --eraseall // to erase all 

    Erasing user available code and UICR flash areas.

    Applying system reset.

    nrfjprog --family NRF52 --program comb.hex --verify // to flash

    Parsing hex file.

    Reading flash area to program to guarantee it is erased.

    Checking that the area to write is not protected.

    Programming device.

    Verifying programming.

    Verified OK.

    nrfjprog --reset // to reset 

    Applying system reset.

    Run.


    And still I didn't make it to advertise, I assume for sure its not a problem with example, so I don't know what else I should do. I would try to debug the example to see what's wrong, but I don't know how to solve that I did not see JLINK option in my eclipse preferences -> debug/run ->



Related