<?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>Profiling FreeRTOS and softdevice</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/58339/profiling-freertos-and-softdevice</link><description>Hi, 
 
 I&amp;#39;m using the nRF52832 with FreeRTOS and SDK 14.2.0 . I took a look at Profiling the Softdevice and FreeRTOS with Segger SystemView and Instrumenting with Segger SystemView . But both these blog posts have the lib file only for s132 v2.0.0 . So</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Fri, 13 Mar 2020 04:42:55 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/58339/profiling-freertos-and-softdevice" /><item><title>RE: Profiling FreeRTOS and softdevice</title><link>https://devzone.nordicsemi.com/thread/239636?ContentTypeID=1</link><pubDate>Fri, 13 Mar 2020 04:42:55 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:44a2a0c1-b1af-4754-90cf-ffe4b322fe18</guid><dc:creator>TS Gowtham</dc:creator><description>&lt;p&gt;Thanks, I&amp;#39;ll try running SystemView once on the HRS FreeRTOS example before trying it on my code.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Profiling FreeRTOS and softdevice</title><link>https://devzone.nordicsemi.com/thread/239022?ContentTypeID=1</link><pubDate>Tue, 10 Mar 2020 09:31:10 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:39542472-0854-4ce6-807d-972c5b96c4d0</guid><dc:creator>Susheel Nuguru</dc:creator><description>&lt;p&gt;I used SystemViewer and unfortunately I did not make any notes of what changes I was making to make it work. But it did work wonderfully to profile the HRS freertos example we have in the application. The profiling was done just as a hobby to feed my curious mind. Sorry, I guess this information is not of much use to you.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Profiling FreeRTOS and softdevice</title><link>https://devzone.nordicsemi.com/thread/238665?ContentTypeID=1</link><pubDate>Sun, 08 Mar 2020 13:47:42 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:14e23949-df48-42da-acbd-e38fea4402a2</guid><dc:creator>TS Gowtham</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;What tools did you use for profiling? Can you provide any links or guides please?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Profiling FreeRTOS and softdevice</title><link>https://devzone.nordicsemi.com/thread/238661?ContentTypeID=1</link><pubDate>Sun, 08 Mar 2020 12:46:47 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:40e4ae11-ca92-4441-856a-583a4a67f3dd</guid><dc:creator>Susheel Nuguru</dc:creator><description>&lt;p&gt;I have tried profiling the HRS_FreeRTOS example months ago and it went ok. I have not realized that the later versions of SES/SystemView have glitches. I do not think our FreeRTOS port works with Systick. It needs to be RTC like what you have set&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Profiling FreeRTOS and softdevice</title><link>https://devzone.nordicsemi.com/thread/238421?ContentTypeID=1</link><pubDate>Fri, 06 Mar 2020 05:41:50 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d6377d17-600f-436d-96ad-6e13b0499d8a</guid><dc:creator>TS Gowtham</dc:creator><description>&lt;p&gt;Hi Susheel,&lt;/p&gt;
&lt;p&gt;As you have mentioned, I have not modified any of the interrupt priorities in sdk_config.h. My application does not use any of the interrupts, it only uses FreeRTOS tasks.&lt;/p&gt;
&lt;p&gt;I&amp;#39;ll take up your advice and concentrate on the task priorites. Any suggested method for profiling just the FreeRTOS tasks?&lt;/p&gt;
&lt;p&gt;I&amp;#39;ve tried the RTOS thread awareness in SES but that keeps throwing up&amp;nbsp;&lt;a href="https://forum.segger.com/index.php/Thread/6434-SOLVED-Error-of-FreeRTOS-aware-script/"&gt;errors&lt;/a&gt;. And I&amp;#39;ve tried SystemView but couldn&amp;#39;t apply the patch mentioned in this&amp;nbsp;&lt;a href="https://wiki.segger.com/FreeRTOS_with_SystemView"&gt;link&lt;/a&gt;&amp;nbsp;as I&amp;#39;m using the RTC and not the systick ( my app is based on the freertos hrs example).&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Thanks,&lt;/p&gt;
&lt;p&gt;Gowtham&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Profiling FreeRTOS and softdevice</title><link>https://devzone.nordicsemi.com/thread/236699?ContentTypeID=1</link><pubDate>Thu, 27 Feb 2020 07:42:14 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:807680ee-1436-43fa-a48c-f775ccad02fc</guid><dc:creator>Susheel Nuguru</dc:creator><description>&lt;p&gt;I understand your approach. But if your application interrupts is not using interrupt priorities used by the &lt;a href="https://infocenter.nordicsemi.com/index.jsp?topic=%2Fsds_s132%2FSDS%2Fs1xx%2Fprocessor_avail_interrupt_latency%2Fexception_mgmt_sd.html&amp;amp;cp=4_5_2_0_15_1"&gt;softdevice interrupts&lt;/a&gt;, then you should not worry about the need of critical section due to softdevice interrupting your application.&lt;/p&gt;
&lt;p&gt;But you need to consider the conflicts in priorities within the application interrupts and the need of critical sections to avoid race conditions and/or deadlocks.&lt;/p&gt;
&lt;p&gt;In terms of FreeRTOS, all the tasks are running in Thread priority, which is the least priority in the Cortex-M4 system on which nRF52832 is built.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I can confidently say that if you have not used the softdevice reserved priorities for any of your application interrupts (not configuring the priority of any interrupt will take a default value of priority 0, which conflicts with softdevice priority) then you do not need to worry about softdevice stealing the CPU in middle of something. The race conditions will be caused by SD only if there are priority conflicts between application and softdevice.&lt;/p&gt;
&lt;p&gt;In this case, I am quite confident that the conflict is between your application priorities (interrupts or RTOS tasks)&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Profiling FreeRTOS and softdevice</title><link>https://devzone.nordicsemi.com/thread/236608?ContentTypeID=1</link><pubDate>Wed, 26 Feb 2020 14:48:42 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9987cd46-a252-45df-a9d9-e69a4fe41e59</guid><dc:creator>TS Gowtham</dc:creator><description>&lt;p&gt;Hi Sushel,&lt;/p&gt;
&lt;p&gt;I&amp;#39;m actually porting a production code to FreeRTOS and I&amp;#39;m having multiple issues with incorrect priorities for the tasks and timers. So, I thought that profiling would help me with this. Is there any other debug method or something to optimize the priorities?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Profiling FreeRTOS and softdevice</title><link>https://devzone.nordicsemi.com/thread/236575?ContentTypeID=1</link><pubDate>Wed, 26 Feb 2020 13:54:12 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ad10e406-7404-486f-b5e7-ec26c92a98d0</guid><dc:creator>Susheel Nuguru</dc:creator><description>&lt;p&gt;Hi Gowtham,&lt;/p&gt;
&lt;p&gt;The files that are provided in that article by RK was done by reverse engineering the hex file.We have not allowed any hooks in any softdevice to be able to profiles as this consumes memory and introduces latencies.&lt;/p&gt;
&lt;p&gt;I am guessing that you want to do this only for educational purpose and have is not a blocker for your implementation.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>