<?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>Ozone conditional breakpoints cause nrf52840 to hardfault after softdevice starts</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/118815/ozone-conditional-breakpoints-cause-nrf52840-to-hardfault-after-softdevice-starts</link><description>I&amp;#39;m using Ozone 3.38, and SES 5.60a. I&amp;#39;m using the usbd_ble_uart example in nrf5SDK v16.0.0. I have other projects in production using this SDK version, but am using this example for simplicity. 
 
 When I set up conditional breakpoints on code before</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 11 Feb 2025 09:09:58 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/118815/ozone-conditional-breakpoints-cause-nrf52840-to-hardfault-after-softdevice-starts" /><item><title>RE: Ozone conditional breakpoints cause nrf52840 to hardfault after softdevice starts</title><link>https://devzone.nordicsemi.com/thread/522371?ContentTypeID=1</link><pubDate>Tue, 11 Feb 2025 09:09:58 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7fb48797-2907-4bac-b70f-f4e150c33979</guid><dc:creator>Kenneth</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;You would need to check with Segger. But if I am right that conditional breakpoint actually means that the debugger do halt the code execution for a short period to evaluate the condition, then that may brake the realtime requirements by the softdevice. So I suggest to add code such as an if statement and instead set a normal breakpoint within the if statement.&lt;/p&gt;
&lt;p&gt;Kenneth&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Ozone conditional breakpoints cause nrf52840 to hardfault after softdevice starts</title><link>https://devzone.nordicsemi.com/thread/522332?ContentTypeID=1</link><pubDate>Tue, 11 Feb 2025 04:32:01 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:252b22a4-bbfe-4f3f-bdda-8f0add151020</guid><dc:creator>tmuir_pct</dc:creator><description>&lt;p&gt;Hi Kenneth,&lt;/p&gt;
&lt;p&gt;I have had varying degrees of success, but the flakiness seems to come and go. Setting the breakpoint type to be software, rather than any, or hardware, has seemed to have had more success, but I still get hardfaults occasionally. Also, some of the conditions I tried out were problematic, even though they are valid C.&amp;nbsp; For instance array[0] == &amp;#39;A&amp;#39;&amp;nbsp; doesn&amp;#39;t seem to work, but array[0] == 0x41 is acceptable.&lt;/p&gt;
&lt;p&gt;Is there documentation of what constitutes valid syntax for the condition expressions?&amp;nbsp; &lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Ozone conditional breakpoints cause nrf52840 to hardfault after softdevice starts</title><link>https://devzone.nordicsemi.com/thread/522313?ContentTypeID=1</link><pubDate>Mon, 10 Feb 2025 22:43:45 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:56c3fb1c-ea7f-4d4b-a9d0-5a50956087a5</guid><dc:creator>Kenneth</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;Afaik in Ozone, when a conditional breakpoint is set, the debugger evaluates the condition every time the program execution reaches the breakpoint location. I don&amp;#39;t see any other way than use if statements in code for temporary debugging.&lt;/p&gt;
&lt;p&gt;Kenneth&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>