<?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>nrf5340 Low Level Programming</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/57313/nrf5340-low-level-programming</link><description>From what I can see so far, it appears that the application processor flash is at 0x00000000 - 0x00100000 and the network processor resides at 0x01000000 - 0x01040000 . 
 If I were to relocate code I wrote for an nrf52840 to the 0x01000000 - 0x01040000</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 04 Feb 2020 13:36:47 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/57313/nrf5340-low-level-programming" /><item><title>RE: nrf5340 Low Level Programming</title><link>https://devzone.nordicsemi.com/thread/232582?ContentTypeID=1</link><pubDate>Tue, 04 Feb 2020 13:36:47 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c96467b4-d8f7-4556-841f-cdf81c4d22dd</guid><dc:creator>AMarch</dc:creator><description>&lt;p&gt;[quote userid="77062" url="~/f/nordic-q-a/57313/nrf5340-low-level-programming/232464"][/quote]&lt;/p&gt;
&lt;blockquote class="quote"&gt;
&lt;div class="quote-content"&gt;The base libraries I cloned from here &lt;span style="background-color:#ffffff;"&gt;&lt;a href="https://github.com/NordicSemiconductor/nrfx.git"&gt;github.com/.../nrfx.git&lt;/a&gt; seem to suggest the possibility, if I overlay them into the current nrf52 library set perhaps.&lt;/span&gt;&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div class="quote-footer"&gt;&lt;/div&gt;
&lt;p&gt;&amp;nbsp;Can you please point me to where it suggests this?&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;The package has the&amp;nbsp;&lt;span style="background-color:#ffffff;"&gt;arm_startup_nrf5340_network.s&lt;/span&gt; and&amp;nbsp;&lt;span style="background-color:#ffffff;"&gt;system_nrf5340_network.c included, so it looks like I could replace them in the build scripts.&amp;nbsp;&lt;br /&gt;My first trial with this didn&amp;#39;t go so well, because of the need for Kiel to have a Nordic Package for the nrf53. I attempted to start with a simple project using the above files, but then found out my demo Kiel program didn&amp;#39;t seem to have support for the m33.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;In any case, it looks like I can compile to programs, then generate one .hex file from them . Of course each program needs to be located for each &amp;quot;BASE FLASH&amp;quot; area of the chips, and you need the appropriate network and applications startup files compiled with them.&lt;/p&gt;
&lt;p&gt;My hope is this can ne done without too much problem with the trust circuitry.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nrf5340 Low Level Programming</title><link>https://devzone.nordicsemi.com/thread/232464?ContentTypeID=1</link><pubDate>Tue, 04 Feb 2020 08:36:20 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:497873ea-d9f3-4421-82f7-6d003649ddea</guid><dc:creator>&amp;#216;yvind</dc:creator><description>[quote user=""]From what I can see so far, it appears that the application processor flash is at&amp;nbsp;&lt;span style="background-color:#ffffff;"&gt;0x00000000 - 0x00100000&lt;/span&gt; and the network processor resides at&lt;span style="background-color:#ffffff;color:#000000;float:none;font-family:Verdana, Arial, Helvetica, sans-serif;font-size:12px;font-style:normal;font-weight:400;letter-spacing:normal;text-align:left;text-decoration:none;text-indent:0px;text-transform:none;white-space:normal;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="background-color:#ffffff;"&gt;0x01000000 - 0x01040000&lt;/span&gt;.[/quote]
&lt;p&gt;&amp;nbsp;I agree if you mean that the application processor flash is at&amp;nbsp;&lt;span&gt;0x00000000 - 0x01000000.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
[quote user=""]If I were to relocate code I wrote for an nrf52840 to the&amp;nbsp;&lt;span style="background-color:#ffffff;color:#000000;float:none;font-family:Verdana, Arial, Helvetica, sans-serif;font-size:12px;font-style:normal;font-weight:400;letter-spacing:normal;text-align:left;text-decoration:none;text-indent:0px;text-transform:none;white-space:normal;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="background-color:#ffffff;"&gt;0x01000000 - 0x01040000&lt;/span&gt; region, AND fix up the base locations of the peripheral devices I used, is it reasonable to expect that I could run this firmware on the network processor?[/quote]
&lt;p&gt;&amp;nbsp;Don&amp;#39;t know if anyone has tried, it may be worth a try.&amp;nbsp;&lt;/p&gt;
[quote user=""]The base libraries I cloned from here &lt;span style="background-color:#ffffff;"&gt;&lt;a href="https://github.com/NordicSemiconductor/nrfx.git"&gt;github.com/.../nrfx.git&lt;/a&gt; seem to suggest the possibility, if I overlay them into the current nrf52 library set perhaps.&lt;/span&gt;[/quote]
&lt;p&gt;&amp;nbsp;Can you please point me to where it suggests this?&lt;/p&gt;
[quote user=""]Looks like some of the nrfx set of files has a few new items , for example the FICR is broken out into secure and unsecure mapping, it seems. The library uses these names like FICR_NS but doesn&amp;#39;t appear to actually define them any place. So that is will be some work.[/quote]
&lt;p&gt;In&amp;nbsp;&lt;em&gt;modules\hal\nordic\nrfx_config_nrf5340_network.h&amp;nbsp;&lt;/em&gt;e.g. FICR is defined:&lt;br /&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;#define NRF_FICR       NRF_FICR_NS&lt;/pre&gt;&lt;/p&gt;
[quote user=""]big oops, need to change target to m33 vs m4....not sure how significant the instruction set changes .[/quote]
&lt;p&gt;Yes, that&amp;#39;s right. nRF5340 has two&amp;nbsp;&lt;span&gt;Arm Cortex M33 cores.&amp;nbsp;&lt;/span&gt;Have a look at &lt;a href="https://community.arm.com/developer/ip-products/processors/trustzone-for-armv8-m/f/trustzone-armv8-m-forum/8338/what-is-the-top-level-difference-in-features-between-cortex-m33-and-cortex-m4"&gt;this comparison&lt;/a&gt; between m33 and m4. Note that Arm Cortex M33 is &lt;em&gt;ARMv8-M&lt;/em&gt;, while M4 is&amp;nbsp;&lt;em&gt;ARMv7&lt;/em&gt;&lt;span&gt;-&lt;/span&gt;&lt;em&gt;M. &lt;/em&gt;According to &lt;a href="https://developer.arm.com/docs/100688/latest/an-introduction-to-the-armv8-m-architecture?_ga=2.134584113.1592614930.1559721886-1191953330.1555496740"&gt;Introduction to the ARMv8-M architecture&lt;/a&gt;:&lt;/p&gt;
&lt;p&gt;&lt;em&gt;The ARMv8-M architecture only supports a subset of the T32 instruction set, with mostly 16-bit instructions. The ARMv8-M architecture with Main Extension supports a wider range of instructions&lt;br /&gt;&lt;br /&gt;&lt;/em&gt;Kind regards,&lt;/p&gt;
&lt;p&gt;Øyvind&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>