Hardware Programming

Djamil Elaidi edited this page Mar 21, 2018 · 20 revisions
Clone this wiki locally

If you have a developer version (PandwaRF bare), you migh be interested in how to program and flash your device. There are 2 versions of the PandwaRF bare:

  • PandwaRF bare with FW ==> works out of the box as a regular PandwaRF
  • PandwaRF bare without FW ==> requires you develop your own FW

In PandwaRF bare with FW version, if you erase the FW, you will only be able to re-install the Nordic FW. The CC1111 FW will be lost, and you will not be able to reflash CC1111 as we don't provide CC1111 FW binaries.

Debug connectors

PandwaRF_RevE_CONN3_4

CC1111 RF Transceiver

The Texas Instruments CC1111 is a Low-Power SoC (System-on-Chip) with 8051 MCU, Memory, Sub-1 GHz RF Transceiver, and USB Controller.

Sample source code

You can find many source code for CC1111 here:

Building

Source code for CC1111 can be built using SDCC

Debugging

CC1111 FW can also be built for test & debug using IAR Embedded Workbench for 8051 (Windows)

Flashing

Texas Instruments CC-Debugger is a small debugger and programmer for TI Low Power RF System-on-Chips.

Windows

CC1111 can be flashed with Texas Instruments CC-Debugger and SmartRF Flash Programmer.

Linux

cc-tool provides support for Texas Instruments CC-Debugger for Linux OS in order to program 8051-based System-On-Chip devices: CC254x CC253x CC243x CC251x CC111x


Nordic nRF51822 BLE module

The Nordic Semiconductor nRF51822 is a multiprotocol Bluetooth low energy/2.4 GHz RF System on Chip with 2.4 GHz transceiver and ARM® Cortex-M0 32 bit processor.

PandwaRF nRF51822 can be programmed using either:

n_RF51_DK_debugging_external_boards Source: nRF51 Development Kit User Guide v1.1

We have a preference for the nRF51 DK option, as it allows you to also write code for the nRF51822 embedded on this DK, for an unbeatable price (about 50€).

Resources

You can find many documentation and source code for nRF51822 here:

Building

Keil µVision is an excellent choice for programming the Cortex-M chips. There is a free version with 32KBytes code size limit.

Debugging

J-Link RTT Viewer

Included in nRF5x-Command-Line-Tools-Win32

Segger J-Link Real Time Transfer allows to output information from the target microcontroller as well as sending input to the application at a very high speed without affecting the target's real time behavior. It is used mainly for trace output from nRF51 microcontroller to host PC Windows).

Master Control Panel

Used with a nRF51 Dongle to test your device BLE characteristic and services.

nRF51 Dongle can be used as a useful and highly cost-effective Bluetooth low energy packet sniffer using Nordic nRF Sniffer software allowing detailed data related to Bluetooth low energy communication to be captured and analyzed. Using the Master Emulator firmware and the Master Control Panel Software it enables setting up of a peer device that you can use to test the connection of your application.

Bonus: nRF51 Dongle can also be used by Wireshark to sniff and display BLE packets.

nRF Sniffer User Guide v1.1

Flashing

nRFgo Studio allows you to flash a bootloader or a SoftDevice to your nRF51822 flash memory.

Nordic FW memory regions

Warning: Flashing the PandwaRF provided Nordic binaries to a blank device is not enough. The nRF51822 FW is composed of:

  • Bootloader
  • SoftDevice (Bluetooth LE stack)
  • PandwaRF FW

Nordic FW memory regions

So take care to flash also a bootloader and a SoftDevice (S110 v8.0.0), otherwise PandwaRF won't start.