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

Issue trying to run a program from Segger embedded studio

Hello all,

I am trying to use my nRF52832 DK for a wireless camera shutter for my phone. I have reviewed the example code from SDK 15.3.0 named ble_app_hids_keyboard as well as modifications to this code to include volume control. 

link to GitHub that modifies SDK 15: https://github.com/Rallare/nrf51_ble_app_hids_kbd_consumercontrol/tree/SDK15

When I try to build and run the example code in Segger embedded studio I have problems connecting my iPhone to the board via Bluetooth. However, I can use the hex files just fine by dropping those files in the external J-LINK drive window. I am not too familiar with hex files; I don't know where they come from but I know they can upload code to my board. The example code from the SDK works fine on my iPhone only if I upload the hex file. Does Segger embedded studio make these hex files/where do they come from?

I bring up the modifications because I want to build, and run those new volume controls with the example code from SDK. The GitHub repo doesn't include hex files so I'm not sure how I can continue working on this without fixing this problem. If you have any suggestions regarding Segger embedded studio or how to incorporate the volume control modifications to the example SDK code I would really appreciate it.

Gerardo Martin

  • Hi,

    The hex file is the output from the build process in SES. Usually we include the pre-compiled hex files with projects so that the end user doesn't need to build the project before they can flash the project to their nRF. 

    When I try to build and run the example code in Segger embedded studio I have problems connecting my iPhone to the board via Bluetooth

     I just tried downloading the project and after building and flashing it to the nRF it worked without any issue! Does it build in SES without any issues for you? You might need to shorten the project name as Windows has a maximum length on path. 

    Also, if you're new to SES then I suggest watching this tutorial.

    regards
    Jared 

  • Thanks for your reply.

    SES will build and run the project just fine but with Bluetooth connection problems to my iPhone. Again, the hex files work perfectly fine. A problem that I am having now is SES will not recognize my nrf52 DK anymore. I get "No emulators connected via USB" in a little menu asking to connect via IP instead.

    I have been messing with this board in the arduino IDE, trying to flash a sketch (hid_camerashutter) built for an Adafruit nrf52832. I downloaded bsp for both adafruit nrf and nordic nrf. I burned the bootloader for the adafruit version to my DK and it worked. I probably shouldn't have messed with it but I did. I tried it again for the nordic bsp in arduino, burned the bootloader but now nothing works. :/ I can't upload any arduino sketches to my dk and SES won't recognize it. 

    The J-link menu still pops up when I plug in my device and I've dragged the J-link OB SAM3U128 bin file in it to try to fix any problems but to no avail. 

    Thank you for your help.

  • Well after a bit of snooping on this site, I was able to fix the problem thanks to this solution:

    J-link driver windows update and the help of the youtube video you provided. 

    Now that I can properly download code to the board from within SES, do you have any suggestions trying to incorporate that gitHub code to include consumer controls such as volume control in the stock SDK? I can run the stock SDK 15 ble_app_hids_keyboard well on my board now but I would like these additional features. As I mentioned, there is Arduino code that can do volume control but it's been a mess dealing with the bootloader stuff. 

    Thanks again

  • Hi,

    Gerardo Martin said:
    do you have any suggestions trying to incorporate that gitHub code to include consumer controls such as volume control in the stock SDK?

     Are you referring to the Github project? You only need to clone the repository to../examples/ble_peripheral folder in the SDK. 

    regards

    Jared 

  • I cloned the GitHub repository where I keep my nrf SDK 15.0.0 folder and I am getting a "stopped by vector catch" error. In the call stack, it references ble_hids.c and the functions that were called. It looks like it's getting stuck with the first call of memset inside of void on_connect().

    My phone won't connect to it because it takes too long and the led that shows advertising stays on. It looks like there's a memory issue with connecting a phone to it.

    Could you help with the debugging process on SES?

Related