<?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>Link Failures Converting Project from nRF52810 to nRF52832:  twi and uart</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/118075/link-failures-converting-project-from-nrf52810-to-nrf52832-twi-and-uart</link><description>Hello I have developed a project that was initially based on the nRF52810 for an Indoor Air Quality Data Logger(IAQ-LOGR) which monitors Ambient Light, Temperature, Humidity, and CO2 and has a mobile app that works with the IAQ-LOGR which is a specific</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Thu, 23 Jan 2025 06:28:54 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/118075/link-failures-converting-project-from-nrf52810-to-nrf52832-twi-and-uart" /><item><title>RE: Link Failures Converting Project from nRF52810 to nRF52832:  twi and uart</title><link>https://devzone.nordicsemi.com/thread/519683?ContentTypeID=1</link><pubDate>Thu, 23 Jan 2025 06:28:54 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:11aff978-413a-4a06-9a2e-788dddb2abc3</guid><dc:creator>sensormaestros2</dc:creator><description>&lt;p&gt;Yes re-assigning the TWIM0 to TWIM1 resolved the last compile/link issue.&amp;nbsp; Project now builds/compiles.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Thanks&lt;/p&gt;
&lt;p&gt;Frank&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Link Failures Converting Project from nRF52810 to nRF52832:  twi and uart</title><link>https://devzone.nordicsemi.com/thread/518745?ContentTypeID=1</link><pubDate>Thu, 16 Jan 2025 23:54:04 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1ebe4330-62e1-4708-8be8-771c1119bbe2</guid><dc:creator>hmolesworth</dc:creator><description>&lt;p&gt;TWIM0 and SPIM0 use different instances on the nRF52810 compared with the same instance on the nRF52832, so must change (say) SPIM0 to SPIM1 to use physically different peripheral (ie. can&amp;#39;t use both TWIM0 and SPIM0 on nRF52832)&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;Shared Id nRF52811
3 0x40003000 TWI TWI0 Two-wire interface master Deprecated
3 0x40003000 TWIM TWIM0 Two-wire interface master
3 0x40003000 TWIS TWIS0 Two-wire interface slave
4 0x40004000 SPI SPI0 SPI master Deprecated
4 0x40004000 SPIM SPIM0 SPI master
4 0x40004000 SPIS SPIS0 SPI slave

Shared Id nRF52832
ID 3 (0x40003000) SPIM SPIS SPI TWIM TWIS TWI
ID 4 (0x40004000) SPIM SPIS SPI TWIM TWIS TWI
ID 35 (0x40023000) SPIM SPIS SPI
&lt;/pre&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Link Failures Converting Project from nRF52810 to nRF52832:  twi and uart</title><link>https://devzone.nordicsemi.com/thread/518743?ContentTypeID=1</link><pubDate>Thu, 16 Jan 2025 23:10:18 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:752f15cf-d8f5-4a90-86b3-9474d41072da</guid><dc:creator>sensormaestros2</dc:creator><description>&lt;p&gt;Hi Charlie,&lt;/p&gt;
&lt;p&gt;&amp;nbsp;Yes I have confirmed all paths to both source and header files are valid that was one of the first things I did ;-)&amp;nbsp; The clue comes from there are additional nrfx header files in the nRF52832 project that are getting pulled in that are NOT being pulled in on the nRF52810 project.&amp;nbsp; These 2 files are nrfx_twi.h and nrfx_uart.h along with the nrf_drv_twi.h and nrf_drv_uart.h files which are changing the way various functions related to the twi and uart peripherals are defined/compiled.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;As an example if we take one of the uart errors such as the &amp;quot;no definition for &amp;quot;nrfx_uart_init&amp;quot; in nrf_drv_uart.c or more specifically the object file being nrf_drv_uart.o as shown below.&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#0000ff;"&gt;Error[Li005]: no definition for &amp;quot;nrfx_uart_init&amp;quot; [referenced from C:\Projects_Working\SMSTRS_Apps\smSENSR-LOGR-v4.3_munge\ &lt;/span&gt;&lt;br /&gt;&lt;span style="color:#0000ff;"&gt;Projects\nRF52832\IAR\smSENSR-LOGR\project\Debug\Obj\nrf_drv_uart.o] &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;nrfx_uart_init() =&amp;gt; is referenced in the nrf_drv_uart.h file via a #define and is set to 0.&amp;nbsp; The nrfx_uart.h&lt;span style="color:#ff0000;"&gt;(NOT being pulled into the nRF52810 build)&lt;/span&gt; file is also pulled into the build in the nrf_drv_uart.h file due to the compiler optoin &lt;span style="color:#0000ff;"&gt;&amp;#39;NRF_DRV_WITH_UART&amp;#39;&lt;/span&gt; which gets defined earlier in this header file due to statement shown just below...&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#0000ff;"&gt;#if&lt;/span&gt; defined(UART_PRESENT) &amp;amp;&amp;amp; NRFX_CHECK(NRFX_UART_ENABLED)&lt;br /&gt; &lt;span style="color:#0000ff;"&gt;#define&lt;/span&gt; NRF_DRV_UART_WITH_UART&lt;br /&gt;&lt;span style="color:#0000ff;"&gt;#endif&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#000000;"&gt;The compiler Option &amp;#39;&lt;span style="color:#0000ff;"&gt;UART_PRESENT&lt;/span&gt;&amp;#39; is set in the nRF52832_peripherals.h for which this header file does NOT exist in the nRF52810 build and in fact if I search the entire nRF52810 project I don&amp;#39;t find any #define for the UART_PRESENT?&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#000000;"&gt;IF I comment out the 2 lines in the nRF52832_peripherals.h file the link errors go away which is good BUT I am not understanding what the correlative file for the nRF52810 would be?&amp;nbsp; I.E. - Shouldn&amp;#39;t these same #defines shown below also be defined in say a nRF52810_peripherals.h file?&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#0000ff;"&gt;/* Universal Asynchronous Receiver-Transmitter */&lt;br /&gt;//#define UART_PRESENT&lt;br /&gt;//#define UART_COUNT 1&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#000000;"&gt;For the nrfx_twi_xfer, nrfx_twi_enable, nrfx_twi_init, and nrfx_twi_uninit &amp;quot;no definition&amp;quot; issues I was also able to resolve this by commenting out the following lines in the nRF52832_peripherals.h file...&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#0000ff;"&gt;/* Two Wire Interface Master */&lt;br /&gt;//#define TWI_PRESENT&lt;br /&gt;//#define TWI_COUNT 2&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#000000;"&gt;Still unclear as to why there are not similar defines in the nRF52810 build with a similar header file like nRF52810_peripherals.h ?&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#000000;"&gt;So now I am down to one last error where the &amp;#39;&lt;span style="color:#0000ff;"&gt;SPIM0_SPIS0_TWIM0_TWIS0_SPI0_TWI0_IRQHandler&lt;/span&gt;&amp;#39; is being defined in 2 different locations once in nrfx_spim.o and the second in the nrfx_twim.o compiled files.&amp;nbsp; Doing a complete project search appears this can be defined in both the &lt;span style="color:#0000ff;"&gt;nRF51_to_nRF52.h&lt;/span&gt; file and then also in the &lt;span style="color:#0000ff;"&gt;nrfx_irqs_nrf52832.h&lt;/span&gt; header files...any ideas which file should take precedence for the definition for&amp;nbsp;&lt;span style="color:#0000ff;"&gt;SPIM0_SPIS0_TWIM0_TWIS0_SPI0_TWI0_IRQHandler&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#000000;"&gt;Regards,&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#000000;"&gt;Frank&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#000000;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Link Failures Converting Project from nRF52810 to nRF52832:  twi and uart</title><link>https://devzone.nordicsemi.com/thread/518636?ContentTypeID=1</link><pubDate>Thu, 16 Jan 2025 12:59:59 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:708cbdb6-fc94-4777-a56f-f23d32dcefbd</guid><dc:creator>Charlie</dc:creator><description>&lt;p&gt;Hi Sensor,&lt;/p&gt;
&lt;p&gt;It seems the error is typically caused by issues with the paths to &lt;code&gt;.c&lt;/code&gt; and &lt;code&gt;.h&lt;/code&gt; files in your project.&lt;/p&gt;
&lt;p&gt;You may find the following discussion helpful for resolving the issue:&lt;/p&gt;
&lt;p&gt;&lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/76863/li005-error-iar"&gt;(62) Li005 Error IAR - Nordic Q&amp;amp;A - Nordic DevZone - Nordic DevZone&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/25809/iar-linker-error-li005"&gt;(62) IAR linker Error[Li005] - Nordic Q&amp;amp;A - Nordic DevZone - Nordic DevZone&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Please verify that all file paths are correctly configured and accessible in your project settings. If the issue persists, let me know, and I’ll assist further.&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/76863/li005-error-iar"&gt;&lt;/a&gt;&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;Charlie&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>