<?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>nRF54L AUX-AP access port description and usage</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/118258/nrf54l-aux-ap-access-port-description-and-usage</link><description>Hi all, 
 In the PDF version of nRF54L PRELIMINARY DATASHEET v0.8, in chapter 
 9.1 Debug access port: in table 65: Access port overview 
 is listed AUX access port of AHB-AP with AP ID 1. Figure 160: Debug and trace overview 
 shows AUX-AP connected</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Wed, 12 Feb 2025 08:28:48 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/118258/nrf54l-aux-ap-access-port-description-and-usage" /><item><title>RE: nRF54L AUX-AP access port description and usage</title><link>https://devzone.nordicsemi.com/thread/522574?ContentTypeID=1</link><pubDate>Wed, 12 Feb 2025 08:28:48 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4851f4a2-92bd-4a8c-9163-1c003bab5d00</guid><dc:creator>ketiljo</dc:creator><description>&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Great!&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;The secure and non-secure&amp;nbsp;domain works differently, so you have to use different addresses depending on what you use.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF54L AUX-AP access port description and usage</title><link>https://devzone.nordicsemi.com/thread/522506?ContentTypeID=1</link><pubDate>Tue, 11 Feb 2025 16:18:31 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:adfa6b51-5bab-405b-9362-b241dc0dd812</guid><dc:creator>Tomas Vanek</dc:creator><description>&lt;p&gt;Its a pity that DM is not mapped on AUX-AP from address 0. Both 0.13.2 and 1.0 RISC-V debug specifications in chapter 3.15 Debug Module Registers clearly require&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Each DM has a base address (&lt;strong&gt;which is 0 for the first DM&lt;/strong&gt;).&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Also the different base 0x4004c400 or 0x5004c400 depending on security setting in SPU complicates the debugger setup.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF54L AUX-AP access port description and usage</title><link>https://devzone.nordicsemi.com/thread/522495?ContentTypeID=1</link><pubDate>Tue, 11 Feb 2025 15:32:14 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7bbd03bc-0285-4ef5-a0c2-77395764419e</guid><dc:creator>Tomas Vanek</dc:creator><description>&lt;p&gt;Setting CSW Prot[0] (bit 24) does the trick and DM registers are accessible.&lt;/p&gt;
&lt;p&gt;Thanks!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF54L AUX-AP access port description and usage</title><link>https://devzone.nordicsemi.com/thread/522479?ContentTypeID=1</link><pubDate>Tue, 11 Feb 2025 14:50:14 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:8386874d-4526-4be8-afce-856a3843f20f</guid><dc:creator>Tomas Vanek</dc:creator><description>&lt;p&gt;And real values read from CSW are&lt;/p&gt;
&lt;p&gt;&amp;gt; nrf54l.dap apreg 0 0&lt;br /&gt;0x02800052&lt;br /&gt;&amp;gt; nrf54l.dap apreg 1 0&lt;br /&gt;0x43800042&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF54L AUX-AP access port description and usage</title><link>https://devzone.nordicsemi.com/thread/522469?ContentTypeID=1</link><pubDate>Tue, 11 Feb 2025 14:33:27 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:054f18ee-8151-4823-9e78-67a263878778</guid><dc:creator>Tomas Vanek</dc:creator><description>&lt;p&gt;Both AP0 and AP1 use OpenOCD default csw 0xa2000000&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF54L AUX-AP access port description and usage</title><link>https://devzone.nordicsemi.com/thread/522465?ContentTypeID=1</link><pubDate>Tue, 11 Feb 2025 14:28:02 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6e499c34-b307-44da-9185-f20eda7e57d5</guid><dc:creator>ketiljo</dc:creator><description>&lt;p&gt;&lt;span&gt;The issue is possibly related to access violations. Could you share with us the AHB-AP CSW register configuration for both AP0 and AP1?&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF54L AUX-AP access port description and usage</title><link>https://devzone.nordicsemi.com/thread/521782?ContentTypeID=1</link><pubDate>Thu, 06 Feb 2025 15:38:25 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ab0d86a5-a1c5-4b13-920d-6c90dec6a835</guid><dc:creator>Tomas Vanek</dc:creator><description>&lt;p&gt;I rechecked it again. The registers are accessible on AP0 but NOT on AP1.&lt;/p&gt;
&lt;p&gt;All ok on AP0:&lt;/p&gt;
&lt;p&gt;&amp;gt; # UICR.&lt;span class="fontstyle0"&gt;AUXAPPROTECT[0].PROTECT0&lt;/span&gt; and &lt;span class="fontstyle0"&gt;PROTECT1&lt;br /&gt;&lt;/span&gt;&amp;gt; nrf54l.cpu mdw 0x00FFD040&lt;br /&gt;0x00ffd040: ffffffff&lt;br /&gt;&amp;gt; nrf54l.cpu mdw 0x00FFD05c&lt;br /&gt;0x00ffd05c: ffffffff&lt;/p&gt;
&lt;p&gt;&amp;gt; # &lt;span&gt;TAMPC.PROTECT.AP[0].DBGEN.CTRL&lt;/span&gt;&lt;br /&gt;&amp;gt; nrf54l.cpu mdw 0x500DC700&lt;br /&gt;0x500dc700: 00000011&lt;/p&gt;
&lt;p&gt;&amp;gt; # VPR.&lt;span class="fontstyle0"&gt;DEBUGIF.DMSTATUS&lt;/span&gt; &lt;br style="font-style:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:-webkit-auto;text-indent:0px;text-transform:none;white-space:normal;" /&gt; &amp;gt; nrf54l.cpu mdw 0x5004C444&lt;br /&gt;0x5004c444: 00430c82&lt;/p&gt;
&lt;p&gt;Just SWD FAULT responses on AP1:&lt;/p&gt;
&lt;p&gt;&amp;gt; nrf54l.aux mdw 0x5004C444&lt;br /&gt;Failed to read memory at 0x5004c444&lt;br /&gt;&amp;gt; nrf54l.aux mdw 0x4004C444&lt;br /&gt;Failed to read memory at 0x4004c444&lt;br /&gt;&amp;gt; nrf54l.aux mdw 0x444&lt;br /&gt;Failed to read memory at 0x00000444&lt;br /&gt;&amp;gt; nrf54l.aux mdw 0x44&lt;br /&gt;Failed to read memory at 0x00000044&lt;/p&gt;
&lt;p&gt;It not of any help for me if you just repeat what I read several times. There must be an issue! But where?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF54L AUX-AP access port description and usage</title><link>https://devzone.nordicsemi.com/thread/521762?ContentTypeID=1</link><pubDate>Thu, 06 Feb 2025 14:55:59 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:df69724b-c92c-4f87-a919-a82c6508b530</guid><dc:creator>ketiljo</dc:creator><description>&lt;p&gt;&lt;span&gt;As far as VPR is concerned, it is accessed exactly same way in both AP0 and AP1, the RISC-V debugging registers are memory mapped to the address pointed above.&lt;/span&gt;&lt;/p&gt;
[quote user="Tomas Vanek"]In the AUX-AP address space there is no DMSTATUS neither @ 0x44 nor @ 0x4004c444[/quote]
&lt;p&gt;See the link in the last post,&amp;nbsp;&lt;a href="https://docs.nordicsemi.com/bundle/ps_nrf54L15/page/vpr.html#ariaid-title14"&gt;https://docs.nordicsemi.com/bundle/ps_nrf54L15/page/vpr.html#ariaid-title14&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF54L AUX-AP access port description and usage</title><link>https://devzone.nordicsemi.com/thread/521335?ContentTypeID=1</link><pubDate>Tue, 04 Feb 2025 14:27:24 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4f98b757-2da9-4552-a73d-1d97c3805dce</guid><dc:creator>Tomas Vanek</dc:creator><description>&lt;p&gt;Sorry, I&amp;#39;m not asking about AP0 (APP CPU AP) address space. Yes, the RISC-V DM is mapped there. I quoted it in my first question&lt;/p&gt;
[quote userid="140797" url="~/f/nordic-q-a/118258/nrf54l-aux-ap-access-port-description-and-usage"]FLPR/VPR RISC-V coprocessor DM (debug module) registers are exposed @ 0x4004C000 / 0x5004C000 of APP-AP (AP ID 0)&amp;nbsp; address space as described&lt;br /&gt; in 8.26.1 Registers[/quote]
&lt;p&gt;and you replied&lt;/p&gt;
[quote userid="2125" url="~/f/nordic-q-a/118258/nrf54l-aux-ap-access-port-description-and-usage/520330"]The main reason to have AP0 and AP1 (AUX-AP) to debug CM33 and VPR simultaneously using the corresponding APs. So the primary usage for AUX-AP is to use with RISC-V DM access as pointed in the question.[/quote]
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;My question is how to use AP1 (AUX-AP) for RISC-V debugging? In the AUX-AP address space there is no DMSTATUS neither @ 0x44 nor @ 0x4004c444. And AFAIK no relevant info in the datasheet.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF54L AUX-AP access port description and usage</title><link>https://devzone.nordicsemi.com/thread/521306?ContentTypeID=1</link><pubDate>Tue, 04 Feb 2025 12:56:53 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a81c570d-a745-409e-a5b9-075ca7cd5990</guid><dc:creator>ketiljo</dc:creator><description>[quote user="Tomas Vanek"]I believe that AUX-AP DBGEN signal should be enabled in this device state[/quote]
&lt;p&gt;&lt;span&gt;Yes, the signal at TAMPC.PROTECT.AP[0].DBGEN.CTRL register must be set as well (in addition to the UICR PROTECT0/1 state)&lt;/span&gt;&lt;/p&gt;
[quote user="Tomas Vanek"]Where is RISC-V DM mapped on AUX-AP?[/quote]
&lt;p&gt;&lt;span&gt;You can find it here:&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;a href="https://docs.nordicsemi.com/bundle/ps_nrf54L15/page/vpr.html#ariaid-title14"&gt;https://docs.nordicsemi.com/bundle/ps_nrf54L15/page/vpr.html#ariaid-title14&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&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/pastedimage1738673369048v1.png" alt=" " /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF54L AUX-AP access port description and usage</title><link>https://devzone.nordicsemi.com/thread/521149?ContentTypeID=1</link><pubDate>Mon, 03 Feb 2025 14:26:59 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1970c063-59ee-43c6-90ff-669174d312ea</guid><dc:creator>Tomas Vanek</dc:creator><description>&lt;p&gt;I have the blinky app with egpio sdp overlay loaded. The app calls nrf54l_handle_approtect() which enables NRF_TAMPC-&amp;gt;PROTECT.AP[0].DBGEN.CTRL&lt;/p&gt;
&lt;p&gt;Both UICR.&lt;span class="fontstyle0"&gt;AUXAPPROTECT[0].PROTECT0&lt;/span&gt; and &lt;span class="fontstyle0"&gt;PROTECT1 are 0xffffffff thus unprotected.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="fontstyle0"&gt;I believe that AUX-AP DBGEN signal should be enabled in this device state. However I see no readable memory accessed trough AUX-AP on standard RISC-V DM locations (e.g. 0x44 for .DMSTATUS)&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="fontstyle0"&gt;Where is RISC-V DM mapped on AUX-AP?&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF54L AUX-AP access port description and usage</title><link>https://devzone.nordicsemi.com/thread/520525?ContentTypeID=1</link><pubDate>Wed, 29 Jan 2025 09:44:54 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:94126376-fa76-4b49-8798-96e444bc05fd</guid><dc:creator>ketiljo</dc:creator><description>&lt;p&gt;That is correct.&amp;nbsp;There are&amp;nbsp;protection on both AP0 and AP1. So, in addition to writing non-volatile UICR.AUXPROTECT register, you also need to enable DBGEN signal using TAMPC.PROTECT.AP[0].DBGEN register during runtime (after a reset). The TAMPC registers can be written by the fw running on CM33.&lt;/p&gt;
&lt;p&gt;Both the AP0 and AP1 uses same protection mechanism, however uses different registers.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF54L AUX-AP access port description and usage</title><link>https://devzone.nordicsemi.com/thread/520340?ContentTypeID=1</link><pubDate>Tue, 28 Jan 2025 11:09:05 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:2fd4a1ae-9071-4fd9-ac6b-359ee9cb038c</guid><dc:creator>Tomas Vanek</dc:creator><description>&lt;p&gt;Thanks for the reply.&lt;/p&gt;
&lt;p&gt;Could you please go into details about accessing RISC-V DM over AUX-AP?&lt;/p&gt;
&lt;p&gt;I would expect DM registers at RISC-V debug spec conforming addresses of AUX-AP. But there is no access from SWD DAP.&lt;/p&gt;
&lt;p&gt;Datasheet, page 751 reads:&lt;/p&gt;
&lt;p&gt;&lt;em&gt;UICR.AUXAPROTECT,&lt;/em&gt;&lt;br /&gt;&lt;em&gt;TAMPC.PROTECT.AP[0].DBGEN&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;These registers control the generation of the AHB-AP DBGEN signal,&lt;/em&gt;&lt;br /&gt;&lt;em&gt;which controls debug access to the VPR AHB-AP. This is used to&lt;/em&gt;&lt;br /&gt;&lt;em&gt;provide debug capability for VPR.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;and&lt;/p&gt;
&lt;p&gt;&lt;em&gt;UICR and TAMPC are combined to enable or disable the access port protection. The access port is normally&lt;/em&gt;&lt;br /&gt;&lt;em&gt;protected, and is opened when the following conditions are met:&lt;/em&gt;&lt;br /&gt;&lt;em&gt;1. UICR.APPROTECT must be Unprotected.&lt;/em&gt;&lt;br /&gt;&lt;em&gt;2. The corresponding TAMPC.PROTECT register &lt;strong&gt;must be written by firmware&lt;/strong&gt;. See TAMPC signal protector&lt;/em&gt;&lt;br /&gt;&lt;em&gt;for details on the procedure.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Does it mean that AUX-AP access cannot be enabled by a debugger only without running some code on nRF54L?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF54L AUX-AP access port description and usage</title><link>https://devzone.nordicsemi.com/thread/520330?ContentTypeID=1</link><pubDate>Tue, 28 Jan 2025 09:59:07 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6c0f0d32-587a-492d-9af7-8bbf64ec11ed</guid><dc:creator>ketiljo</dc:creator><description>&lt;p&gt;&lt;span&gt;The debug diagram in trace and debug chapter in PS is not very accurate, &amp;nbsp;the AHB-AP (AP0) can also access the VPR registers. The VPR debug registers are memory mapped on APB00, so they can be accessed through either AP0 and AP1. However, the AUX-AP can access only APB00 space on AMBIX0, a shown below:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&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/pastedimage1738057412128v1.png" alt=" " /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;The main reason to have AP0 and AP1 (AUX-AP) to debug CM33 and VPR simultaneously using the corresponding APs. So the primary usage for AUX-AP is to use with RISC-V DM access as pointed in the question.&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>