<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://w.electrodragon.com/w/index.php?action=history&amp;feed=atom&amp;title=NRF52_SDK</id>
	<title>NRF52 SDK - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://w.electrodragon.com/w/index.php?action=history&amp;feed=atom&amp;title=NRF52_SDK"/>
	<link rel="alternate" type="text/html" href="https://w.electrodragon.com/w/index.php?title=NRF52_SDK&amp;action=history"/>
	<updated>2026-07-21T20:10:40Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.37.2</generator>
	<entry>
		<id>https://w.electrodragon.com/w/index.php?title=NRF52_SDK&amp;diff=27226&amp;oldid=prev</id>
		<title>Chao: /* Programmer */</title>
		<link rel="alternate" type="text/html" href="https://w.electrodragon.com/w/index.php?title=NRF52_SDK&amp;diff=27226&amp;oldid=prev"/>
		<updated>2020-06-23T12:45:19Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Programmer&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Setup Toolchain ==&lt;br /&gt;
* Official SDK - https://www.nordicsemi.com/Software-and-tools/Software/nRF5-SDK/Download&lt;br /&gt;
* SDK 16.0 - wget https://www.nordicsemi.com/-/media/Software-and-other-downloads/SDKs/nRF5/Binaries/nRF5SDK160098a08e2.zip&lt;br /&gt;
Folder Examples &lt;br /&gt;
* PCA10040 for NRF52832, NRF52810&lt;br /&gt;
* PCA10056 for NRF52840&lt;br /&gt;
* PCA10028 for NRF51&lt;br /&gt;
=== For [[ARM GCC]] ===&lt;br /&gt;
&lt;br /&gt;
* Set in /home/he/nrf/components/toolchain/gcc/Makefile.posix&lt;br /&gt;
* Set GNU_INSTALL_ROOT ?= /usr/bin/&lt;br /&gt;
Compile Blink &lt;br /&gt;
* locate file at example folder: /nrf/examples/peripheral/blinky/pca10056/blank/armgcc&lt;br /&gt;
* make directly, and output &lt;br /&gt;
 ...&lt;br /&gt;
 Compiling file: nrf_memobj.c&lt;br /&gt;
 Compiling file: nrf_ringbuf.c&lt;br /&gt;
 Compiling file: nrf_strerror.c&lt;br /&gt;
 Compiling file: nrfx_atomic.c&lt;br /&gt;
 Compiling file: main.c&lt;br /&gt;
 Compiling file: system_nrf52840.c&lt;br /&gt;
 Linking target: _build/nrf52840_xxaa.out&lt;br /&gt;
    text	   data	    bss	    dec	    hex	filename&lt;br /&gt;
    1592	    108	     28	   1728	    6c0	_build/nrf52840_xxaa.out&lt;br /&gt;
 Preparing: _build/nrf52840_xxaa.hex&lt;br /&gt;
 Preparing: _build/nrf52840_xxaa.bin&lt;br /&gt;
 DONE nrf52840_xxaa&lt;br /&gt;
==== Blink ====&lt;br /&gt;
=== Keil ===&lt;br /&gt;
MDK Demo code&lt;br /&gt;
* Demo code folder at C:\MDKARM_v5\ARM\PACK\NordicSemiconductor\nRF_Examples\11.0.0-2.alpha&lt;br /&gt;
Example &lt;br /&gt;
* Blink demo C:\MDKARM_v5\ARM\PACK\NordicSemiconductor\nRF_Examples\11.0.0-2.alpha\peripheral\blinky\pca10040\blank\arm5&lt;br /&gt;
Board definition file&lt;br /&gt;
* C:\MDKARM_v5\ARM\PACK\NordicSemiconductor\nRF_Examples\11.0.0-2.alpha\bsp&lt;br /&gt;
* Define all perpherial here, includes LEDs, buttons, etc.&lt;br /&gt;
&lt;br /&gt;
== Programmer ==&lt;br /&gt;
* [[PyOCD]] Support CMSIS-DAP (CDC), [[LPCLINK]]&lt;br /&gt;
* [[LPCLINK]] Support MSC,CDC&lt;br /&gt;
* [[NRFJPROG]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== nrfutil python ====&lt;br /&gt;
* pip3 install nrfutil&lt;br /&gt;
* nrfutil pkg generate --help&lt;br /&gt;
* nrfutil pkg generate --hw-version 52 --sd-req 0x00 --application-version 1 --application app.hex  app_dfu_package.zip&lt;br /&gt;
&lt;br /&gt;
== Compiler ==&lt;br /&gt;
==== Keil ====&lt;br /&gt;
Setup for DAPLINK for NRF52832&lt;br /&gt;
* tick reset and run &lt;br /&gt;
* RAM for algothirum, start at 0x20000000, size 0x2000&lt;br /&gt;
* Add programming as image&lt;br /&gt;
old&lt;br /&gt;
* NRF52 Series in Keil&lt;br /&gt;
* Project add core and startup&lt;br /&gt;
* Options for target: 16mhz, tick &amp;quot;use microLB&amp;quot;&lt;br /&gt;
* IROM1: start 0x0 size 0x80000&lt;br /&gt;
* IRAM1: 0x20 000 000, size 0x10000&lt;br /&gt;
== Arduino Support ==&lt;br /&gt;
https://github.com/sandeepmistry/arduino-nRF5&lt;br /&gt;
* Require J-Link or DK board, intall mbed driver&lt;br /&gt;
* Use sketch -&amp;gt; upload via programmer&lt;br /&gt;
https://forum.mysensors.org/topic/9266/guide-nrf5-nrf51-nrf52-for-beginners&lt;br /&gt;
* Use mysensor arduino board (ebyte) and arduino nRF5&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:NRF52_Arduino.gif | Arduino NRF52 Flash Guide use Electrodragon DAPLINK&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Error and Bugs ==&lt;br /&gt;
For Keil &lt;br /&gt;
* Also need to install 8.27, 8.28, 8.29 device family from here https://developer.nordicsemi.com/nRF5_SDK/pieces/nRF_DeviceFamilyPack/&lt;br /&gt;
For Arduino Upload Error&lt;br /&gt;
* Check if the board in DFU mode, LED blink in 'timebome' sequence&lt;br /&gt;
* Disconnect and reconnect FTDI cable&lt;br /&gt;
&lt;br /&gt;
== Demo Video ==&lt;br /&gt;
* Send 00 / 01 to control LED - https://www.youtube.com/watch?v=w0axAV4OE-w&lt;br /&gt;
&lt;br /&gt;
== Reference ==&lt;br /&gt;
* https://wiki.makerdiary.com/nrf52840-mdk/cn/getting-started/&lt;br /&gt;
* https://lgg001.github.io/2018/08/29/nRF52832-%E7%A8%8B%E5%BA%8F%E4%B8%8B%E8%BD%BD/&lt;br /&gt;
&lt;br /&gt;
[[category: NRF52]]&lt;/div&gt;</summary>
		<author><name>Chao</name></author>
	</entry>
</feed>