<?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>nrf52840 DK HW rev 3.0.1</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/99485/nrf52840-dk-hw-rev-3-0-1</link><description>Dear Forum, 
 We obtained a nrf52840DK in HW rev. 2.0.1 some time ago. This HW-revision worked in every aspect as expected, which means: 
 1) It could be adressed; 
 read deviceversion: 
 &amp;gt;&amp;gt;nrfjprog --deviceversion NRF52840_xxAA_REV2 
 read MAC: 
 &amp;gt;&amp;gt;nrfjprog</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Wed, 24 May 2023 15:16:28 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/99485/nrf52840-dk-hw-rev-3-0-1" /><item><title>RE: nrf52840 DK HW rev 3.0.1</title><link>https://devzone.nordicsemi.com/thread/427291?ContentTypeID=1</link><pubDate>Wed, 24 May 2023 15:16:28 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:64514c1f-ff4a-4c58-8171-1f0ff20a083c</guid><dc:creator>Amanda Hsieh</dc:creator><description>&lt;p&gt;Hi,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;According to&amp;nbsp;&lt;a href="https://infocenter.nordicsemi.com/pdf/in_151_v1.0.1.pdf?cp=18_6,"&gt;https://infocenter.nordicsemi.com/pdf/in_151_v1.0.1.pdf?cp=18_6,&lt;/a&gt;&amp;nbsp; it is required to upgrade to the latest &lt;a href="https://www.nordicsemi.com/Products/Development-tools/nrf-mdk/download"&gt;MDK&lt;/a&gt; (version 8.43.0 or later) to support&amp;nbsp;&lt;span&gt;APPROTECT.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Regards,&lt;br /&gt;Amanda H.&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nrf52840 DK HW rev 3.0.1</title><link>https://devzone.nordicsemi.com/thread/427173?ContentTypeID=1</link><pubDate>Wed, 24 May 2023 10:07:52 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5117e97f-d285-4aa2-a4d7-dd222273bbfe</guid><dc:creator>RichardHdrd</dc:creator><description>&lt;p&gt;Hi Amanda,&lt;/p&gt;
&lt;p&gt;thank you very much for all the support. Now, following the post you linked, I was able to compile my code for the nrf52840 DK as well as BM833.&lt;/p&gt;
&lt;p&gt;But I also use a BM833A which is a nRF52811 chipset. There, I still cannot compile using the additional code.&lt;/p&gt;
&lt;p&gt;Now checking the definition for e.g. &amp;quot;UICR_APPROTECT_PALL_HwDisabled&amp;quot; in the new MDK (shipped with SDK 17.1.0) renders, that it is found in the following files:&lt;/p&gt;
&lt;p&gt;./modules/nrfx/mdk/nrf52833_bitfields.h&lt;br /&gt;./modules/nrfx/mdk/nrf52820_bitfields.h&lt;br /&gt;./modules/nrfx/mdk/nrf52840_bitfields.h&lt;br /&gt;./modules/nrfx/mdk/nrf52_bitfields.h&lt;/p&gt;
&lt;p&gt;The also (in this folder) contained file nrf52811_bitfields.h doesn&amp;#39;t contain the required definitions.&lt;/p&gt;
&lt;p&gt;Again, I&amp;#39;d like to know if there is a solution to that, because generally 52811 seems to support APPROTECT:&lt;/p&gt;
&lt;p&gt;&lt;a id="" href="https://infocenter.nordicsemi.com/pdf/nRF52811_PS_v1.0.pdf"&gt;https://infocenter.nordicsemi.com/pdf/nRF52811_PS_v1.0.pdf&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Richard&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nrf52840 DK HW rev 3.0.1</title><link>https://devzone.nordicsemi.com/thread/426705?ContentTypeID=1</link><pubDate>Mon, 22 May 2023 20:46:47 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:bf26318c-cb7a-4ef8-a6f1-a4d74233ed5c</guid><dc:creator>Amanda Hsieh</dc:creator><description>&lt;p&gt;Hi,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;See &lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/85638/how-to-update-mdk-to-handle-approtect/357281"&gt;this post&lt;/a&gt;.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;-Amanda H.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nrf52840 DK HW rev 3.0.1</title><link>https://devzone.nordicsemi.com/thread/426546?ContentTypeID=1</link><pubDate>Mon, 22 May 2023 11:58:30 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d1328a01-5e96-42a7-afd4-60bcc3673bf9</guid><dc:creator>RichardHdrd</dc:creator><description>&lt;p&gt;Hi Amanda,&lt;/p&gt;
&lt;p&gt;I followed the steps concerning:&lt;/p&gt;
&lt;p&gt;&amp;gt;&amp;gt;&lt;/p&gt;
&lt;p&gt;J-Link&amp;gt;SWDSelect&lt;/p&gt;
&lt;p&gt;(...)&lt;/p&gt;
&lt;p&gt;The &lt;a href="https://infocenter.nordicsemi.com/index.jsp?topic=%2Fps_nrf52840%2Fdif.html&amp;amp;cp=4_0_0_3_7_2_0_3&amp;amp;anchor=register.APPROTECTSTATUS" rel="noopener noreferrer" target="_blank"&gt;APPROTECTSTATUS&lt;/a&gt; register can be read without selecting a different AP:&lt;/p&gt;
&lt;p&gt;SWDReadAP 3&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;Read AP register 3 = 0x00000001&lt;/p&gt;
&lt;p&gt;A value of 1 means that access port protection is disabled.&lt;/p&gt;
&lt;p&gt;&amp;lt;&amp;lt;&lt;/p&gt;
&lt;p&gt;This allows the code to be accessed while the DK stays connected. But as soon as Idisconnect &amp;amp; reconnect the DK, the &lt;span&gt;APPROTECT&lt;/span&gt; is reported to be enabled again.&lt;/p&gt;
&lt;p&gt;Performing the above steps without &amp;quot; &lt;a href="https://infocenter.nordicsemi.com/index.jsp?topic=%2Fps_nrf52840%2Fdif.html&amp;amp;cp=4_0_0_3_7_2_0_1&amp;amp;anchor=register.ERASEALL" rel="noopener noreferrer" target="_blank"&gt;ERASEALL&lt;/a&gt; operation:&amp;quot; doesn&amp;#39;t allow to re-disable &lt;span&gt;APPROTECT&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;So it seems that the uploaded code/Softdevice enable the &lt;span&gt;APPROTECT&lt;/span&gt; by default.&lt;/p&gt;
&lt;p&gt;So I went to the example describing on how to set the &lt;span&gt;APPROTECT&lt;/span&gt; withing the App (see Step 2: Setting UICR.APPROTECT):&lt;/p&gt;
&lt;p&gt;I tried adding the code to the main of my project. As stated, I use Segger Embedded Studio: 5.4.4&lt;/p&gt;
&lt;p&gt;I got a complaint from the compiler:&lt;/p&gt;
&lt;p&gt;&amp;lsquo;UICR_APPROTECT_PALL_HwDisabled&amp;rsquo; undeclared (first use in this function); did you mean &amp;lsquo;UICR_APPROTECT_PALL_Disabled&amp;rsquo;?&lt;/p&gt;
&lt;p&gt;Now I read in the related post, which I assume is source of the trouble:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;NOTE:&lt;/strong&gt; If using the nRF5 SDK then ensure that it has been updated to MDK version 8.45.0 or newer.&lt;/p&gt;
&lt;p&gt;I&amp;#39;m using SDK 17.0.2. I could not determine the MDK version used, but checking for MDK, I found out, that this is some KEIL related stuff, which I&amp;#39;m not using since I use Segger Embedded Studio.&lt;/p&gt;
&lt;p&gt;How can I create that &lt;span&gt;APPROTECT&lt;/span&gt;-setting code using Segger Embedded Studio?&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Richard&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nrf52840 DK HW rev 3.0.1</title><link>https://devzone.nordicsemi.com/thread/425699?ContentTypeID=1</link><pubDate>Mon, 15 May 2023 16:17:50 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b989d6ab-ae91-44f7-924f-7db47d73888b</guid><dc:creator>Amanda Hsieh</dc:creator><description>&lt;p&gt;Hi,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Once&amp;nbsp;UICR.APPROTECT APPROTECT&amp;nbsp; is set to disable, it will disable the approtect feature until the&amp;nbsp;UICR.APPROTECT is set to enable and perform any reset. See &lt;a href="https://infocenter.nordicsemi.com/index.jsp?topic=%2Fps_nrf52840%2Fdif.html&amp;amp;cp=4_0_0_3_7_1&amp;amp;anchor=concept_udr_mns_1s"&gt;Access port protection&lt;/a&gt;&amp;nbsp;documentation.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;-Amanda H.&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nrf52840 DK HW rev 3.0.1</title><link>https://devzone.nordicsemi.com/thread/425544?ContentTypeID=1</link><pubDate>Mon, 15 May 2023 09:34:58 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:24b8a3bd-92ea-4bbe-9eda-9b372e3d9b4f</guid><dc:creator>RichardHdrd</dc:creator><description>&lt;p&gt;Hello Amanda,&lt;/p&gt;
&lt;p&gt;Thank you again, using the extra USB Port solved the sniffer issue.&lt;/p&gt;
&lt;p&gt;Only to get everything right, referring to Step 2: Setting UICR.APPROTECT section in&amp;nbsp;&lt;span&gt;this blog&amp;nbsp;&lt;/span&gt;&lt;a href="https://devzone.nordicsemi.com/nordic/nordic-blog/b/blog/posts/working-with-the-nrf52-series-improved-approtect"&gt;Working with the nRF52 Series&amp;#39; improved APPROTECT&lt;/a&gt;.t:&lt;/p&gt;
&lt;p&gt;The basic way to disable is init-sequence:&lt;/p&gt;
&lt;p&gt;nrfjprog --recover&lt;/p&gt;
&lt;p&gt;&amp;lt;initial-program some hex&amp;gt;&lt;/p&gt;
&lt;p&gt;nrfjprog --memwr 0x10001208 --val 0x00&lt;/p&gt;
&lt;p&gt;This seems to allow reprogramming after the initial-program:&lt;/p&gt;
&lt;p&gt;&amp;lt;re-program some hex&amp;gt;&lt;/p&gt;
&lt;p&gt;nrfjprog --memwr 0x10001208 --val 0x00&lt;/p&gt;
&lt;p&gt;But after unplugging the device, the init-sequence has to be repeated, as I observed.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Now for the lower part (register access):&lt;/p&gt;
&lt;p&gt;Quote:&lt;/p&gt;
&lt;p&gt;&amp;gt;&amp;gt;&lt;/p&gt;
&lt;p&gt;J-Link&amp;gt;SWDSelect&lt;/p&gt;
&lt;p&gt;(...)&lt;/p&gt;
&lt;p&gt;The &lt;a href="https://infocenter.nordicsemi.com/index.jsp?topic=%2Fps_nrf52840%2Fdif.html&amp;amp;cp=4_0_0_3_7_2_0_3&amp;amp;anchor=register.APPROTECTSTATUS" rel="noopener noreferrer" target="_blank"&gt;APPROTECTSTATUS&lt;/a&gt; register can be read without selecting a different AP:&lt;/p&gt;
&lt;p&gt;SWDReadAP 3&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;Read AP register 3 = 0x00000001&lt;/p&gt;
&lt;p&gt;A value of 1 means that access port protection is disabled.&lt;/p&gt;
&lt;p&gt;&amp;lt;&amp;lt;&lt;/p&gt;
&lt;p&gt;Now, would the following command (instead of SWDReadAP 3) allow to set the value permanently to &amp;quot;1&amp;quot;:&lt;/p&gt;
&lt;p&gt;SWDWriteAP 3 0x00000001&lt;/p&gt;
&lt;p&gt;So basicallywould that permanently disable UICR.APPROTECT until it is intentionally enabled again?&lt;/p&gt;
&lt;p&gt;If not that way, how can that state be reached?&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Richard&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nrf52840 DK HW rev 3.0.1</title><link>https://devzone.nordicsemi.com/thread/425155?ContentTypeID=1</link><pubDate>Thu, 11 May 2023 14:35:37 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:16c00de3-d68b-480a-89ca-38eb8d05d862</guid><dc:creator>Amanda Hsieh</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
[quote user="RichardHdrd"]Is there a command to persistently create the effect of &amp;quot;nrfjprog --recover&amp;quot;?[/quote]
&lt;p&gt;See the&amp;nbsp;Step 2: Setting UICR.APPROTECT section in&amp;nbsp;&lt;span&gt;this blog&amp;nbsp;&lt;/span&gt;&lt;a href="https://devzone.nordicsemi.com/nordic/nordic-blog/b/blog/posts/working-with-the-nrf52-series-improved-approtect"&gt;Working with the nRF52 Series&amp;#39; improved APPROTECT&lt;/a&gt;.&lt;/p&gt;
[quote user="RichardHdrd"]What must be considered to get this running again?[/quote]
&lt;p&gt;The issue affects the UART connection on v3.0.0. Since the nrf52840 DK has a USB port the workaround is to use the second USB connection instead (or in addition if you want to use 2 USB cables).&lt;/p&gt;
&lt;p&gt;Using the second USB port on the DKs that have them is the recommended setup. The USB is more reliable and faster.&lt;/p&gt;
&lt;p&gt;The following is my test, and I can see the nRF52840DK v3.0.0 sniffer interface.&lt;/p&gt;
&lt;p&gt;&lt;img style="max-height:240px;max-width:320px;" src="https://devzone.nordicsemi.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/4/pastedimage1683815718880v1.png" alt=" " /&gt;&lt;/p&gt;
&lt;p&gt;-Amanda H.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nrf52840 DK HW rev 3.0.1</title><link>https://devzone.nordicsemi.com/thread/425052?ContentTypeID=1</link><pubDate>Thu, 11 May 2023 09:10:58 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5241db72-6f1e-452d-bec0-be33e667269b</guid><dc:creator>RichardHdrd</dc:creator><description>&lt;p&gt;Hi Amanda,&lt;/p&gt;
&lt;p&gt;Thank you for hint, wich solves some of my problems. But it seems, every time I want to reprogram the device, it requires to perform the &amp;quot;nrfjprog --recover&amp;quot; again before the device becomes re-accessible again?&lt;/p&gt;
&lt;p&gt;Is there a command to persistently create the effect of &amp;quot;nrfjprog --recover&amp;quot;?&lt;/p&gt;
&lt;p&gt;Further:&lt;/p&gt;
&lt;p&gt;The old device (2.0.1), when connected to a linux PC showed one tty: ttyACMx&lt;/p&gt;
&lt;p&gt;The new one (3.0.1) shows two ttys: ttyACMx AND ttyACMx+1&lt;/p&gt;
&lt;p&gt;Now, when interfacing with e.g. UART, which of the ttys is generally to be used, what&amp;#39;s the other tty&amp;#39;s purpose?&lt;/p&gt;
&lt;p&gt;Additionally, I did scan for devices with nordic sniffer using the DK:&lt;/p&gt;
&lt;p&gt;[Program DK]:&lt;/p&gt;
&lt;p&gt;/usr/bin/sudo /usr/bin/nrfjprog --family NRF52 --chiperase --program /home/richard/Downloads/sniffer/hex/sniffer_nrf52840dk_nrf52840_4.1.1.hex -r --verify&lt;/p&gt;
&lt;p&gt;[Sniff]:&lt;/p&gt;
&lt;p&gt;/usr/bin/sudo -u richard /usr/local/bin/nrf-sniffer-cli scan&lt;/p&gt;
&lt;p&gt;This worked and still works with the old DK (2.0.1) but generally fails on new DK (3.0.1), as it reports: &amp;quot;no sniffers found!&amp;quot;.&lt;/p&gt;
&lt;p&gt;What must be considered to get this running again?&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Richard&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nrf52840 DK HW rev 3.0.1</title><link>https://devzone.nordicsemi.com/thread/424364?ContentTypeID=1</link><pubDate>Mon, 08 May 2023 17:35:51 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5a08aed2-c2de-4ba6-ab8e-944b72996ca0</guid><dc:creator>Amanda Hsieh</dc:creator><description>&lt;p&gt;Hi,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;As the log indicated, please use &amp;quot;nrfjprog --recover&amp;quot; to unlock the device. Since nRF52840DK v3 use&amp;nbsp;&lt;a href="https://infocenter.nordicsemi.com/pdf/in_141_v1.1.pdf?cp=18_16" rel="noopener noreferrer" target="_blank"&gt;nRF52840 (revision 3, build codes Fx0)&lt;/a&gt;&amp;nbsp;include an improved implementation of the the&amp;nbsp;&lt;a href="https://infocenter.nordicsemi.com/index.jsp?topic=%2Fps_nrf52840%2Fdif.html&amp;amp;cp=4_0_0_3_7_1&amp;amp;anchor=concept_udr_mns_1s" rel="noopener noreferrer" target="_blank"&gt;access port protection mechanism&lt;/a&gt;. It needs to unlock the device before programming/accessing the device. See more information in this blog&amp;nbsp;&lt;a href="https://devzone.nordicsemi.com/nordic/nordic-blog/b/blog/posts/working-with-the-nrf52-series-improved-approtect"&gt;Working with the nRF52 Series&amp;#39; improved APPROTECT&lt;/a&gt;&amp;nbsp;.&lt;/p&gt;
&lt;p&gt;Regards,&lt;br /&gt;Amanda H.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>