<?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>S310 and IAR I-jet load/run</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/3704/s310-and-iar-i-jet-load-run</link><description>I&amp;#39;ve been successfully using IAR and I-jet with the 51822 and S110. I can build, download and run under the debugger with no problems. 
 I recently switched to the 51422 and S310, starting with a port of the S110 application template project to the S310</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 25 Nov 2014 21:53:11 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/3704/s310-and-iar-i-jet-load-run" /><item><title>RE: S310 and IAR I-jet load/run</title><link>https://devzone.nordicsemi.com/thread/13449?ContentTypeID=1</link><pubDate>Tue, 25 Nov 2014 21:53:11 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:af737d38-6e30-4aaf-9066-0ddf6405e530</guid><dc:creator>Matt Barr</dc:creator><description>&lt;p&gt;Quick follow-up, the newly released s310 v2.0.0 softdevice does not appear to be read protected, region 0 softdevice addresses do not read back all 0&amp;#39;s. Verify works after programming the softdevice .hex file with nRFgo Studio, and the IAR debugger starts normally without the C-SPY .mac file solution above. Very nice!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: S310 and IAR I-jet load/run</title><link>https://devzone.nordicsemi.com/thread/13448?ContentTypeID=1</link><pubDate>Wed, 22 Oct 2014 11:45:19 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:dfb77ea4-6e35-4716-b48a-375104226b48</guid><dc:creator>Petter Myhre</dc:creator><description>&lt;p&gt;Thank you for answering your own question.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: S310 and IAR I-jet load/run</title><link>https://devzone.nordicsemi.com/thread/13447?ContentTypeID=1</link><pubDate>Mon, 15 Sep 2014 14:03:36 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d131b3ad-5385-4dd8-85cb-f020351e7cf2</guid><dc:creator>Matt Barr</dc:creator><description>&lt;p&gt;The ANT softdevices (S210, S310) read protect region 0, the non-ANT softdevices (S110, ...) do not. When you point the debugger at the vector table at location 0 using the startup option &amp;quot;--drv_vector_table_base=0x0&amp;quot; it can&amp;#39;t read the vector table values and startup fails.&lt;/p&gt;
&lt;p&gt;To work around this, find the initial SP and PC values in the softdevice vector table. These are the first two 32-bit values respectively (little endian), and are visible in the .hex file data. For example, in S310 version 1.0.0 we have:&lt;/p&gt;
&lt;p&gt;:10000000B0210020E19401003104000017940100A8&lt;/p&gt;
&lt;p&gt;The first two 32-bit values are 0x200021b0 and 0x000194e1. Create a execUserSetup() function in a C-SPY .mac file and assign the initial SP and PC based on these values:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;execUserSetup()
{
    SP = 0x200021b0;
    PC = 0x000194e0;
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Enable the macro file in the project debugger options. With this workaround an application based on the S310 will load, break at main() and run normally. Breakpoints work in the application, subject to the usual caveats for timeouts in the softdevice stack when execution is halted.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: S310 and IAR I-jet load/run</title><link>https://devzone.nordicsemi.com/thread/13446?ContentTypeID=1</link><pubDate>Tue, 09 Sep 2014 18:20:42 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f1234325-54de-493d-8bf2-b69ea3dcc093</guid><dc:creator>Matt Barr</dc:creator><description>&lt;p&gt;It appears that, unlike the S110, the S310 is read-protected after erase/program with nRFgo Studio. I can read region 0 in the S110, but debugger reads in region 0 return 0 for the S310. After starting the debugger, for the S110 I have UICR.RBCONF[15:0]=0xFFFF and for the S310 I have UICR.RBCONF[15:0]=0xFF00. This would explain why the nRFgo Verify option is disabled after programming the S310 SoftDevice, and why the --drv_vector_table_base=0x0 options doesn&amp;#39;t function.&lt;/p&gt;
&lt;p&gt;I&amp;#39;ve not been able to get past read protection via IAR debugger startup .mac files. I&amp;#39;ve attempted to write the UICR from execUserFlashInit() and then read the modified value from execUserPreload() (target is reset between these two functions) but UICR values do not change.&lt;/p&gt;
&lt;p&gt;Is the S310 intentionally read protected, and is there any way around this? It appears to break IAR debugger start-up.&lt;/p&gt;
&lt;p&gt;Thanks and Best Regards, Matt&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: S310 and IAR I-jet load/run</title><link>https://devzone.nordicsemi.com/thread/13445?ContentTypeID=1</link><pubDate>Wed, 03 Sep 2014 15:47:33 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:dcc16e1c-56a0-4929-9b6f-e5416dd9d605</guid><dc:creator>Matt Barr</dc:creator><description>&lt;p&gt;A quick follow-up, I see essentially the same behavior using the J-Link Lite that came with the 422 DK. An application based on the S110 loads, breaks at main, and will then run correctly under the debugger. An application based on the S310 loads but does not break at main and gets lost. After exiting the debugger, this application verifies correctly against the .hex file using nRFgo Studio, and runs correctly when the 422 DK board is power cycled.&lt;/p&gt;
&lt;p&gt;Has anyone been able to get an S310 application to load, break at main, and then run correctly using IAR with J-Link or I-jet?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>