<?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>Migrating nRF52840 to nRF52833</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/84055/migrating-nrf52840-to-nrf52833</link><description>Hi DevZone ! 
 I am currently trying to migrate from nRF52840 to nRF52833 because of a backorder problem with the former. 
 
 My application consist of a Mesh configurations with the ESB protocole between multiple devices. 
 It is using SPIM to read on</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Mon, 31 Jan 2022 11:07:41 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/84055/migrating-nrf52840-to-nrf52833" /><item><title>RE: Migrating nRF52840 to nRF52833</title><link>https://devzone.nordicsemi.com/thread/350394?ContentTypeID=1</link><pubDate>Mon, 31 Jan 2022 11:07:41 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:992e10c3-ed62-49ce-b2ae-56cbf2cff151</guid><dc:creator>Vidar Berg</dc:creator><description>&lt;p&gt;Hi Joel,&lt;/p&gt;
&lt;p&gt;Thank you for the update. I&amp;#39;m happy to hear it is working now.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Vidar&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Migrating nRF52840 to nRF52833</title><link>https://devzone.nordicsemi.com/thread/350288?ContentTypeID=1</link><pubDate>Fri, 28 Jan 2022 19:54:28 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ebfbd982-4ce3-4ecf-84e1-0ab320daaac3</guid><dc:creator>Joel V</dc:creator><description>&lt;p&gt;Hi Vidar,&lt;/p&gt;
&lt;p&gt;I have managed to resolve the rest of my issues.&lt;/p&gt;
&lt;p&gt;First, I had a PIN mapping problem causing my SPI to wait for response.&lt;/p&gt;
&lt;p&gt;Second, I took the ESB library from the nRF_15.0.0 and it resolved my communication issue.&lt;/p&gt;
&lt;p&gt;I would like to thanks you very much for your help, it is much appreciated !&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Joel V.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Migrating nRF52840 to nRF52833</title><link>https://devzone.nordicsemi.com/thread/350262?ContentTypeID=1</link><pubDate>Fri, 28 Jan 2022 15:30:40 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:09f737ae-ff48-4216-bd7f-96511e24d484</guid><dc:creator>Vidar Berg</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;So you no longer have the problem where the program hangs in the Default_Handler? The nrfx_power_clock.c implementation we had in sdk 15 is removed in more recent SDKs. Now we have the nrfx_power_clock.h header to connect the shared CLOCK_POWER IRQ handler to the handler in nrfx_power.c or nrfx_clock.c: &lt;a href="https://github.com/NordicSemiconductor/nrfx/blob/1aa7824f45d46b5f81250801868bef050ba72440/drivers/include/nrfx_power_clock.h#L74"&gt;https://github.com/NordicSemiconductor/nrfx/blob/1aa7824f45d46b5f81250801868bef050ba72440/drivers/include/nrfx_power_clock.h#L74&lt;/a&gt;&lt;/p&gt;
[quote user="Joel V"]goes in an infinite loop in nrfx_spim.c while trying to send or receive data to my antenna, is there something to change in terms of pinout for the antenna in the software ?[/quote]
&lt;p&gt;Could you point me to where it hangs? Also, what is the role of the SPIM in your app? We don&amp;#39;t have anything that&amp;#39;s controlled through SPI on the 52833 DK.&lt;/p&gt;
&lt;p&gt;If possible, maybe you could share your project along with the the files you have modified? I think it would be helpful if I could debug the code here on a DK.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Vidar&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Migrating nRF52840 to nRF52833</title><link>https://devzone.nordicsemi.com/thread/350076?ContentTypeID=1</link><pubDate>Thu, 27 Jan 2022 19:08:12 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:2d826c8b-5a5f-420f-9526-cc66195cedd3</guid><dc:creator>Joel V</dc:creator><description>&lt;p&gt;First, I realized that I was using almost exclusively the nRF5_SDK_for_Thread_and_Zigbee_2.0.0_29775ac_min&lt;/p&gt;
&lt;p&gt;I tried using nRF5_SDK_16.0.0 instead and it solved some problems (i think), then I had the errors I told you about.&amp;nbsp; Then I found the nrfx_power.c in the 16.0.0 and i didnt have the error anymore, but I cannot find the nrfx_power_clock.c so I commented it and debbugged my nrf52833 and it goes in an infinite loop in nrfx_spim.c while trying to send or receive data to my antenna, is there something to change in terms of pinout for the antenna in the software ?&lt;/p&gt;
&lt;p&gt;I think it my solve the problem.&lt;/p&gt;
&lt;p&gt;Thanks,&lt;/p&gt;
&lt;p&gt;Joel V.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Migrating nRF52840 to nRF52833</title><link>https://devzone.nordicsemi.com/thread/350069?ContentTypeID=1</link><pubDate>Thu, 27 Jan 2022 17:58:13 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f3a81189-5bf5-43a0-b04f-16a6535470f0</guid><dc:creator>Vidar Berg</dc:creator><description>&lt;p&gt;Hi Joel,&lt;/p&gt;
&lt;p&gt;I realize now that there must be more files needing to be patched to get 52833 support in SDK 15.0.0, so it might be easier to just update the entire nrfx directory.&lt;/p&gt;
&lt;p&gt;Have you tried to see if your project compiles against the &lt;a href="https://github.com/NordicSemiconductor/nrfx/releases/tag/v1.9.0"&gt;latest nrfx 1.x release&lt;/a&gt;?&amp;nbsp; I don&amp;#39;t believe there should be any breaking changes as long as you stay on the 1.x branch.&lt;/p&gt;
[quote user="Joel V"]NRFX_POWER_CONFIG_DEFAULT_DCDCEN and&amp;nbsp;NRFX_POWER_CONFIG_DEFAULT_DCDCENHV[/quote]
&lt;p&gt;I need to look more into this later.&amp;nbsp; Unlike the 52840, the 52833 does not have a high voltage DCDC regulator, so it kind of makes sense that the last symbol is undefined here.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Vidar&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Migrating nRF52840 to nRF52833</title><link>https://devzone.nordicsemi.com/thread/350067?ContentTypeID=1</link><pubDate>Thu, 27 Jan 2022 17:34:18 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ccf4dba9-4ef4-42cf-9ae1-3765f823e737</guid><dc:creator>Joel V</dc:creator><description>&lt;p&gt;Hi Vidar,&lt;/p&gt;
&lt;p&gt;The nrfx_irqs_nrf52833.h path is included and the following line is written&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/NordicSemiconductor/nrfx/blob/1aa7824f45d46b5f81250801868bef050ba72440/soc/nrfx_irqs.h#L47"&gt;https://github.com/NordicSemiconductor/nrfx/blob/1aa7824f45d46b5f81250801868bef050ba72440/soc/nrfx_irqs.h#L47&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I have tried multiple configurations and there is still those 2 variables that are undefined in my system:&lt;/p&gt;
&lt;p&gt;NRFX_POWER_CONFIG_DEFAULT_DCDCEN and&amp;nbsp;NRFX_POWER_CONFIG_DEFAULT_DCDCENHV&lt;/p&gt;
&lt;p&gt;Thanks,&lt;/p&gt;
&lt;p&gt;Joel V.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Migrating nRF52840 to nRF52833</title><link>https://devzone.nordicsemi.com/thread/350052?ContentTypeID=1</link><pubDate>Thu, 27 Jan 2022 16:42:22 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:91bec848-97db-4fb2-b32d-75886df46ddc</guid><dc:creator>Vidar Berg</dc:creator><description>&lt;p&gt;Hi Joel,&lt;/p&gt;
&lt;p&gt;Actually, the problem is probably that &amp;#39;POWER_CLOCK_IRQHandler&amp;#39; is *not* being redefined. Assuming you use the SDK drivers, you need the nrfx_irqs_nrf52833.h (&lt;a href="https://github.com/NordicSemiconductor/nrfx/blob/1aa7824f45d46b5f81250801868bef050ba72440/soc/nrfx_irqs_nrf52833.h#L43"&gt;this line&lt;/a&gt;) to connect POWER_CLOCK_IRQHandler to the nrfx_power_clock_irq_handler()&amp;nbsp; in nrfx_power_clock.c.&lt;/p&gt;
&lt;p&gt;Please make sure the your nrfx_irqs.h file includes the following line: &lt;a href="https://github.com/NordicSemiconductor/nrfx/blob/1aa7824f45d46b5f81250801868bef050ba72440/soc/nrfx_irqs.h#L47"&gt;https://github.com/NordicSemiconductor/nrfx/blob/1aa7824f45d46b5f81250801868bef050ba72440/soc/nrfx_irqs.h#L47&lt;/a&gt; and that &lt;span&gt;&lt;a title="nrfx_irqs_nrf52833.h" href="https://github.com/NordicSemiconductor/nrfx/blob/v1.9.0/soc/nrfx_irqs_nrf52833.h"&gt;nrfx_irqs_nrf52833.h&lt;/a&gt; is in your include path.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Best regards,&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Vidar&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Migrating nRF52840 to nRF52833</title><link>https://devzone.nordicsemi.com/thread/349836?ContentTypeID=1</link><pubDate>Wed, 26 Jan 2022 17:27:39 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:798e8d4b-d23b-4c4b-a36c-78aa3b61496d</guid><dc:creator>Joel V</dc:creator><description>&lt;p&gt;Hi Vidar,&lt;/p&gt;
&lt;p&gt;I am not redefining any IRQ handler in my application. Could it be a library I use that have this redefinement ? There is one script I couldn&amp;#39;t compile&amp;nbsp; because of an error with nrf_power.h and I decided to let it down because I don&amp;#39;t need the usb in my application and the script was about USB. This is the error :&lt;/p&gt;
&lt;p&gt;&lt;a href="https://devzone.nordicsemi.com/cfs-file/__key/communityserver-discussions-components-files/4/1447.error.txt"&gt;devzone.nordicsemi.com/.../1447.error.txt&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Hope it helps,&lt;/p&gt;
&lt;p&gt;Joel V.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Migrating nRF52840 to nRF52833</title><link>https://devzone.nordicsemi.com/thread/349828?ContentTypeID=1</link><pubDate>Wed, 26 Jan 2022 16:46:24 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4e563f9a-b3ee-43de-adcf-97448e74d8b6</guid><dc:creator>Vidar Berg</dc:creator><description>&lt;p&gt;Hi Joel,&lt;/p&gt;
&lt;p&gt;Do you have a power/clock interrupt handler in your application defined under a different name? I.e. something else than &amp;#39;POWER_CLOCK_IRQHandler&amp;#39;&lt;/p&gt;
&lt;p&gt;In our examples, it is redefined to nrfx_power_clock_irq_handler:&lt;/p&gt;
&lt;p&gt;&lt;img src="https://devzone.nordicsemi.com/resized-image/__size/320x240/__key/communityserver-discussions-components-files/4/pastedimage1643215436699v1.png" alt=" " /&gt;&lt;/p&gt;
&lt;p&gt;I guess you must have some redefine too that is not included now when you build with -DNRF52833_XXAA.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Migrating nRF52840 to nRF52833</title><link>https://devzone.nordicsemi.com/thread/349826?ContentTypeID=1</link><pubDate>Wed, 26 Jan 2022 16:35:17 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:58abad56-4eb4-456f-8c4f-ecba519399f9</guid><dc:creator>Joel V</dc:creator><description>&lt;p&gt;Hi Vidar,&lt;/p&gt;
&lt;p&gt;I couldn&amp;#39;t reply to your last message so I replied here, I read the regs and got this:&lt;/p&gt;
&lt;p&gt;&lt;img src="https://devzone.nordicsemi.com/resized-image/__size/320x240/__key/communityserver-discussions-components-files/4/pastedimage1643214756257v1.png" alt=" " /&gt;&lt;/p&gt;
&lt;p&gt;Seems like the faulty IRQ is the 0 which is POWER_CLOCK. Any hint on what could cause that ?&lt;/p&gt;
&lt;p&gt;Thanks,&lt;/p&gt;
&lt;p&gt;Joel V.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Migrating nRF52840 to nRF52833</title><link>https://devzone.nordicsemi.com/thread/349821?ContentTypeID=1</link><pubDate>Wed, 26 Jan 2022 16:12:09 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:66944078-0de7-4fa1-b4ec-7430b5cc0867</guid><dc:creator>Vidar Berg</dc:creator><description>&lt;p&gt;Hi Joel,&lt;/p&gt;
&lt;p&gt;No problem!&lt;/p&gt;
[quote userid="104385" url="~/f/nordic-q-a/84055/migrating-nrf52840-to-nrf52833/349812#349812"]&lt;p&gt;I debugged it and it hangs in the gcc_startup_nrf52833.S on line:&lt;/p&gt;
&lt;p&gt;.type&amp;nbsp; &amp;nbsp;Default_Handler, %function&lt;/p&gt;[/quote]
&lt;p&gt;This is helpful. It indicates you have an enabled IRQ source without a corresponding IRQ handler. Were you debugging with GDB? In that case, please run&amp;nbsp; &amp;quot;info registers&amp;quot; to get the xPSR register while you are inside the exception handler. You can use &amp;quot;nrfjprog --readregs&amp;quot; for the same if you are not using GDB. The last byte of this register will hold the current ISR number, and that will tell us which one of the IRQs caused the program to enter Default_Handler.&lt;/p&gt;
&lt;p&gt;Here is an example where xPSR shows that the program running inside the UARTE0_UART0_IRQHandler:&lt;/p&gt;
&lt;p&gt;&lt;img src="https://devzone.nordicsemi.com/resized-image/__size/320x240/__key/communityserver-discussions-components-files/4/pastedimage1643213058930v1.png" alt=" " /&gt;&lt;/p&gt;
&lt;p&gt;Note that you have to subtract ISR number by 16 to get the IRQ number as listed in the nrf52833.h header. This is because cortex specific interrupts are starting at -15 instead of 0.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Vidar&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Migrating nRF52840 to nRF52833</title><link>https://devzone.nordicsemi.com/thread/349812?ContentTypeID=1</link><pubDate>Wed, 26 Jan 2022 15:20:57 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1e656cfb-3070-4e14-8a65-ac2f526ad83f</guid><dc:creator>Joel V</dc:creator><description>&lt;p&gt;Hi Vidar,&lt;/p&gt;
&lt;p&gt;First, thanks for the quick answer !&lt;/p&gt;
[quote userid="4240" url="~/f/nordic-q-a/84055/migrating-nrf52840-to-nrf52833/349804#349804"]&lt;p&gt;The relevant startup files are:&lt;/p&gt;
&lt;p&gt;$(SDK_ROOT)/modules/nrfx/mdk/gcc_startup_nrf52833.S&lt;/p&gt;
&lt;p&gt;$(SDK_ROOT)/modules/nrfx/mdk/system_nrf52833.c&lt;/p&gt;
&lt;p&gt;Also remember to replace the preprocessor flag &amp;quot;NRF52840_XXAA&amp;quot; with NRF52833_XXAA in your makefile.&lt;/p&gt;[/quote]
&lt;p&gt;Those are the exact changes I did, and I changed the board from PCA10059 to PCA100100&lt;/p&gt;
[quote userid="4240" url="~/f/nordic-q-a/84055/migrating-nrf52840-to-nrf52833/349804#349804"]Did you update the MDK files in&amp;nbsp; /nRF5_SDK_15.0.0_a53641a/modules/nrfx/mdk/ with files with one of the more recent MDK releases here: &lt;a href="https://www.nordicsemi.com/Products/Development-tools/nRF-MDK"&gt;https://www.nordicsemi.com/Products/Development-tools/nRF-MDK&lt;/a&gt;?[/quote]
&lt;p&gt;I took the MDK in a more recent SDK (17 I think), but now I did the test by using the latest MDK in&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href="https://www.nordicsemi.com/Products/Development-tools/nRF-MDK"&gt;https://www.nordicsemi.com/Products/Development-tools/nRF-MDK&lt;/a&gt;&amp;nbsp;and I still have the same problem.&lt;/p&gt;
[quote userid="4240" url="~/f/nordic-q-a/84055/migrating-nrf52840-to-nrf52833/349804#349804"]Are you able to debug the application to see if the program hangs or crashes? [/quote]
&lt;p&gt;I debugged it and it hangs in the gcc_startup_nrf52833.S on line:&lt;/p&gt;
&lt;p&gt;.type&amp;nbsp; &amp;nbsp;Default_Handler, %function&lt;/p&gt;
&lt;p&gt;in the IRQ handler.&lt;/p&gt;
&lt;p&gt;I changed the linker script to have the memory:&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;MEMORY&lt;br /&gt;{&lt;br /&gt; FLASH (rx) : ORIGIN = 0x00000000, LENGTH = 0x80000&lt;br /&gt; RAM (rwx) : ORIGIN = 0x20000000, LENGTH = 0x20000&lt;br /&gt;}&lt;/p&gt;
&lt;p&gt;Thanks,&lt;/p&gt;
&lt;p&gt;Joel V.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Migrating nRF52840 to nRF52833</title><link>https://devzone.nordicsemi.com/thread/349804?ContentTypeID=1</link><pubDate>Wed, 26 Jan 2022 14:46:01 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:bed3a221-3903-4295-b3a5-a5fa57bb4a6d</guid><dc:creator>Vidar Berg</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;Are you able to debug the application to see if the program hangs or crashes? It should generally be fairly straight forward port FW from the 52840 to 52833. The most important step is probably to remember to include the correct startup files and update the linker settings to reflect the new memory address ranges.&lt;/p&gt;
&lt;p&gt;The relevant startup files are:&lt;/p&gt;
&lt;p&gt;$(SDK_ROOT)/modules/nrfx/mdk/gcc_startup_nrf52833.S&lt;/p&gt;
&lt;p&gt;$(SDK_ROOT)/modules/nrfx/mdk/system_nrf52833.c&lt;/p&gt;
&lt;p&gt;Also remember to replace the preprocessor flag &amp;quot;NRF52840_XXAA&amp;quot; with NRF52833_XXAA in your makefile.&lt;/p&gt;
[quote user=""]Now, I have been able to program my DK by adding the dependencies of the nRF52833 in my SDK.&amp;nbsp;[/quote]
&lt;p&gt;Did you update the MDK files in&amp;nbsp; /nRF5_SDK_15.0.0_a53641a/modules/nrfx/mdk/ with files with one of the more recent MDK releases here: &lt;a href="https://www.nordicsemi.com/Products/Development-tools/nRF-MDK"&gt;https://www.nordicsemi.com/Products/Development-tools/nRF-MDK&lt;/a&gt;?&lt;/p&gt;
&lt;p&gt;Best regards,&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;Vidar&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>