<?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>Software Development for NRF9160 Production Programming</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/105359/software-development-for-nrf9160-production-programming</link><description>Hi Team, 
 
 
 We are trying to build a windows C# application to program the NRF9160 modem boards with the J-link interface. 
 Our goal is to use a nrf9160-DK board to program nrf9160 chips in production. We are building our own proprietary software</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Mon, 06 Nov 2023 13:23:34 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/105359/software-development-for-nrf9160-production-programming" /><item><title>RE: Software Development for NRF9160 Production Programming</title><link>https://devzone.nordicsemi.com/thread/454207?ContentTypeID=1</link><pubDate>Mon, 06 Nov 2023 13:23:34 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1d02b364-737a-413d-8ade-c45eb7ad4051</guid><dc:creator>Raoul</dc:creator><description>&lt;p&gt;Hi Shubham,&lt;/p&gt;
&lt;p&gt;You have a few options:&lt;/p&gt;
&lt;p&gt;First of all, there is our &amp;quot;nrfjprog DLL&amp;quot;, a dynamic-link library which exposes functions for device programming. This DLL is used as the backend of &lt;code&gt;nrfjprog.exe&lt;/code&gt;, but the architecture is split like that so that users like you may use the DLL directly:&lt;/p&gt;
&lt;p&gt;&lt;a href="https://infocenter.nordicsemi.com/index.jsp?topic=%2Fug_nrf_cltools%2FUG%2Fcltools%2Fnrf_nrfjprogdll.html"&gt;https://infocenter.nordicsemi.com/index.jsp?topic=%2Fug_nrf_cltools%2FUG%2Fcltools%2Fnrf_nrfjprogdll.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Besides that, I think it&amp;#39;s quite common for customers to just spawn an entire subprocess instead, calling either &lt;code&gt;nrfjprog.exe&lt;/code&gt;, or &lt;code&gt;nrfutil.exe&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;(We are currently in a transition towards nrfutil being &lt;a href="https://devzone.nordicsemi.com/nordic/nordic-blog/b/blog/posts/nrf-util-unified-command-line-utility"&gt;a single command line utility for everything&lt;/a&gt;, so in time, nrfjprog will be phased out.)&lt;/p&gt;
&lt;p&gt;Spawning a subprocess might have a slight performance penalty but is easier to implement. Do you have a need for speed?&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Customers who flash lots of devices and need very high throughput, they usually write their own flashing software from scratch.&lt;/p&gt;
&lt;p&gt;In that case, this page will be useful: &lt;a href="https://infocenter.nordicsemi.com/index.jsp?topic=%2Fnan_041%2FAPP%2Fnan_production_programming%2Fintro.html&amp;amp;cp=2_0_7"&gt;https://infocenter.nordicsemi.com/index.jsp?topic=%2Fnan_041%2FAPP%2Fnan_production_programming%2Fintro.html&amp;amp;cp=2_0_7&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Those are the options I know of. Unfortunately we don&amp;#39;t have any libraries in source form, if you were looking for that.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Raoul&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>