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

nRF52 tutorial that works?

I tried them all. No, really.

But it seems that nothing really works 100%. I have an nRF52 board here from Nordic, and a cacophony of tools. I have a million sample projects from nordic, with no sane docs, and some soft devices with no sane docs either.

I am no novice- i've been working on embedded all my life, and work on Cortex-M chips for a few years already.

This is the worst situation I've seen in any vendor's libraries and support systems.

Literally there is no step-by-step to get a simple BLE app to run.

I erased my device. What now? Bootloader? I have to have one? where is this documented? where do I get it?

SoftDevice? Which of the 1000 ways to program it should I use?

Sample App? which?

Really. How is this even acceptable?

I tried gcc, I tried keil. I tried jlink, i tried nrfjprog, i tried a normal SWD debugger to load code

the furthest i have gotten is a HardFault in the sample bootloader at sd_mbr_command() Which bootloader? who knows, i built the pca100400/single-bank-serial-s132? Is it the right one? i'd love to be able to tell but I simply do not know.

Even random chinese chips come with better documentation. What gives?

EDIT:

i dumped the flash and started disassembling what all this code produced Seems like sd_mbr_command produces an SVC instr. which would be wonderful, except the CPU isn't configured for that and takes a hard fault. wonderful sample code there...

Digging further, I do see the bootloader having an SVC handler, except nowhere is it found in the source code. Disassembly shows a rather large-switch case based on passed params. Source? not that I can find...

I shouldn't have to reverse engineer this sort of thing..

Parents
  • Hi,

    I'm sorry to hear that you've been having so much trouble.

    As a sanity check I would like to point you to some documentation, if these are the ones you have been struggling with we do appreciate feedback.

    First off there's this introductory tutorial to development with Keil that goes through first flashing of the kit and a simple introduction to BLE.

    Our documentation is gathered at infocenter.nordicsemi.com. Here you can find the product specification for nRF52832. You can find documentation for the Software Development Kit and its examples, the SDK can be downloaded from developer.nordicsemi.com (currently the most up to date SDK is version 11).

    The SoftDevices that runs our radio protocol stacks are supplied with the SDK and can be found under nRF5_SDK_11.0.0_89a8197\components\softdevice\sXXX\hex, I prefer programming it using the command line tool nrfjprog as described in the introductory tutorial. As with any hex file there are numerous ways of programming it, this is just my preference. The documentation for the SoftDevices can be found here. I assume you are starting with BLE if so, I recommend using S132 v2.0 along with SDK 11.

    Also make sure to check the compatibility matrix, where you can find information on which revision of the chips is supported by which version of the SDK and SoftDevice.

    Finally I would like to point you to the tutorial and blog sections here on devzone, older questions also often have answers to problems that might be relevant to you.

    Best regards,

    Øyvind

Reply
  • Hi,

    I'm sorry to hear that you've been having so much trouble.

    As a sanity check I would like to point you to some documentation, if these are the ones you have been struggling with we do appreciate feedback.

    First off there's this introductory tutorial to development with Keil that goes through first flashing of the kit and a simple introduction to BLE.

    Our documentation is gathered at infocenter.nordicsemi.com. Here you can find the product specification for nRF52832. You can find documentation for the Software Development Kit and its examples, the SDK can be downloaded from developer.nordicsemi.com (currently the most up to date SDK is version 11).

    The SoftDevices that runs our radio protocol stacks are supplied with the SDK and can be found under nRF5_SDK_11.0.0_89a8197\components\softdevice\sXXX\hex, I prefer programming it using the command line tool nrfjprog as described in the introductory tutorial. As with any hex file there are numerous ways of programming it, this is just my preference. The documentation for the SoftDevices can be found here. I assume you are starting with BLE if so, I recommend using S132 v2.0 along with SDK 11.

    Also make sure to check the compatibility matrix, where you can find information on which revision of the chips is supported by which version of the SDK and SoftDevice.

    Finally I would like to point you to the tutorial and blog sections here on devzone, older questions also often have answers to problems that might be relevant to you.

    Best regards,

    Øyvind

Children
No Data
Related