<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://devzone.nordicsemi.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>nRF51822 with emIDE and complete datasheet</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/2047/nrf51822-with-emide-and-complete-datasheet</link><description>I am starting with Nordic nRF51822 and I would like to know if do you have some samples for use with emIDE (I liked it because you don&amp;#39;t have size limitation). And I had some doubts about interrupts implementation because the datasheet I downloaded doesn</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Thu, 03 Apr 2014 08:20:25 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/2047/nrf51822-with-emide-and-complete-datasheet" /><item><title>RE: nRF51822 with emIDE and complete datasheet</title><link>https://devzone.nordicsemi.com/thread/8792?ContentTypeID=1</link><pubDate>Thu, 03 Apr 2014 08:20:25 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:3489ad65-40b8-4fc9-a5ec-3f2dc6d2b951</guid><dc:creator>Ole Morten</dc:creator><description>&lt;p&gt;I&amp;#39;ve never seen this loop causing any trouble, so I suspect there could be something else that is the root cause. Are you sure you use the startup file from our SDK?&lt;/p&gt;
&lt;p&gt;As for why it copies from flash to RAM, that&amp;#39;s strictly needed to initialize all variables with a preset value. You may have use in taking a look at this question over at Stack Overflow: &lt;a target="_blank" href="http://stackoverflow.com/questions/5430284/rom-and-ram-in-arm" rel="nofollow"&gt;http://stackoverflow.com/questions/5430284/rom-and-ram-in-arm&lt;/a&gt;
Alternatively, this tutorial also seems to explain the same concept: &lt;a target="_blank" href="http://mcuoneclipse.com/2013/04/14/text-data-and-bss-code-and-data-size-explained/" rel="nofollow"&gt;http://mcuoneclipse.com/2013/04/14/text-data-and-bss-code-and-data-size-explained/&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF51822 with emIDE and complete datasheet</title><link>https://devzone.nordicsemi.com/thread/8791?ContentTypeID=1</link><pubDate>Wed, 02 Apr 2014 21:42:27 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6d955a65-0caf-41b6-8298-76996e94f066</guid><dc:creator>Marcio Segura</dc:creator><description>&lt;p&gt;Thank you Morten.Your documentation helped a lot.
I&amp;#39;ve got another issue trying it. In the ASM file &amp;quot;gcc_startup_nrf51.asm&amp;quot; used in some projects there is a piece of code that sometimes get stuck and I would like to know what this code does. Why it copies data from Flash to RAM? Do you know it?&lt;/p&gt;
&lt;p&gt;/*  Loop to copy data from read only memory to RAM. The ranges&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;of copy from/to are specified by following symbols evaluated in&lt;/li&gt;
&lt;li&gt;linker script.&lt;/li&gt;
&lt;li&gt;__etext: End of code section, i.e., begin of data sections to copy from.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;data_start&lt;/strong&gt;/&lt;strong&gt;data_end&lt;/strong&gt;: RAM address range that data should be&lt;/li&gt;
&lt;li&gt;copied to. Both must be aligned to 4 bytes boundary.  */&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;&lt;code&gt;ldr    r1, =__etext
ldr    r2, =__data_start__
ldr    r3, =__data_end__

subs    r3, r2
ble     .LC0
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;.LC1:
subs    r3, 4
ldr    r0, [r1,r3]
str    r0, [r2,r3]
bgt    .LC1
.LC0:&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF51822 with emIDE and complete datasheet</title><link>https://devzone.nordicsemi.com/thread/8790?ContentTypeID=1</link><pubDate>Tue, 01 Apr 2014 08:14:19 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:98212007-a494-4fe3-a65d-5730512fc833</guid><dc:creator>Ole Morten</dc:creator><description>&lt;p&gt;We don&amp;#39;t have any experience with this internally, but I would expect it to be doable if you&amp;#39;re ready to spend some effort on getting it working. It seems emIDE does support J-Links, and debugging using their GDB server, so I would expect it to also be possible to get it to build projects, either using an internal build system or external makefiles.&lt;/p&gt;
&lt;p&gt;It&amp;#39;s not quite clear to me exactly what you find unclear, but the combination of the &lt;a href="https://www.nordicsemi.com/eng/content/download/13358/214991/file/nRF51822_PS%20v2.0.pdf"&gt;nRF51822 Product Specification&lt;/a&gt;, for electrical and chip-specific documentation, and the &lt;a href="https://www.nordicsemi.com/eng/content/download/13233/212988/file/nRF51_Series_Reference_Manual_v2.1.pdf"&gt;nRF51 Reference Manual&lt;/a&gt;, for register maps and peripheral descriptions, should cover all you need to know about the chip.&lt;/p&gt;
&lt;p&gt;Interrupt configuration is done through the common CMSIS interface, using the NVIC_* functions (or sd_nvic_* when the softdevice is enabled). For a description of interrupts as used by the different peripherals, you should refer to chapter 9 in the Reference Manual.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>