This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

How are you going about Production Programming for nRF51 parts?

Howdy,

We're gearing up to program about 4,000 nRF51822s. They'll get the BLE version of DFU plus a stable version of our own code. For future production runs, we'll likely have our partner in Japan program the devices on the assembly line.

So, my question is: how are you handling your programming? Are you literally doing boards one-at-a-time with a SEGGER and a pogo-pins or similar?

Our PCBs are panelized as 5*5, so I've toyed with the idea of building an X-Y slide with stepper motors to fly a programming head across the boards. Buying 25 SEGGERs so that we can push 25 sets of pogo-pins down on to an entire panel is cost prohibitive.

Our world is also slightly more complex in that we create custom stickers that are unique to each programmed device, too :)

Thoughts? Current strategies? Horror stories? Please share! :)

-m

  • I'm not real keen on what I'm learning from this thread! I naively assumed that when it came time for our first batch of 1000 nRF51s to be programmed I'd have Arrow's Reno NV facility do them before they were put down on the PCB.

    Ole is it true what Marc says that the SWD implementation on this chip is "slightly peculiar?" I've used a Segger interface for expediency in development but I always assumed that a uLINK-II or ST-LINK would work just as well to put a chunk of hex data into a specific spot in Flash. Is that not the case?

    Does nRF Studio do anything special when flashing the SoftDevice into the part? Ultimately I will need to form a composite image of the SD + my .hex file to deliver to a programming facility. Is there anything I should start worrying about now?

    Thanks, Dan Danknick

  • My comment is related to tying together nRESET and SWDIO, which is not the 'classic' implementation of SWD.

    Also, the lack of SWO may hinder some when it comes to test firmware. Luckily, it's pretty easy to create to create a UART on the nRF51 and compensate.

    -m

  • Yes, nRESET and SWDIO is somewhat annoying and SWO would be handy but we're doing the same and working around with a UART as well.

  • It bears mentioning that neither of these should prevent using a JTAG programmer other than Segger

  • As far as I know, it should be possible to also use other tools to flash the nRF51, but Seggers are the ones we use internally and have most experience with. You should take a look at the Debug Interface chapter in the Reference Manual, which explains how to enable the debug interface. From that point on, I'd expect any SWD device to be able to flash code.

    To merge hexfiles, you can either whip up your own Python script or similar, using the IntelHex module, or use the mergehex utility we provide in C:\Program Files (x86)\Nordic Semiconductor\nrf51\bin after having installed the SDK.

Related