<?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>Linker stage fails with missing reference to _start</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/16652/linker-stage-fails-with-missing-reference-to-_start</link><description>Hey I am trying to create a blinky project from scratch on
System: MAC OSX
Eclipse Neon
GCC 4.9 
 I am trying have it eclipse managed make. 
 I am at a point when after the compilation during the linking stage I get this error. 
 Building file:</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Thu, 22 Jun 2017 22:31:21 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/16652/linker-stage-fails-with-missing-reference-to-_start" /><item><title>RE: Linker stage fails with missing reference to _start</title><link>https://devzone.nordicsemi.com/thread/63713?ContentTypeID=1</link><pubDate>Thu, 22 Jun 2017 22:31:21 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5a1fbd02-27c5-4562-9f90-04961ff513fb</guid><dc:creator>embedded717</dc:creator><description>&lt;p&gt;I see&lt;/p&gt;
&lt;p&gt;missing reference to _start&lt;/p&gt;
&lt;p&gt;error as well and my issue is not the macro expansion. I am really seeing the _start not found.&lt;/p&gt;
&lt;p&gt;I do have it crt0.o in the /usr/arm-none-eabi/lib area but how my build does not automatically find it ?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Linker stage fails with missing reference to _start</title><link>https://devzone.nordicsemi.com/thread/63712?ContentTypeID=1</link><pubDate>Mon, 26 Sep 2016 05:41:22 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e95fc9fd-db33-4c9d-bcc8-d97de7a089ee</guid><dc:creator>RK</dc:creator><description>&lt;p&gt;I use Crossworks, for which I have a personal license which wasn&amp;#39;t very expensive (non-commerical). Crossworks can also run in limited size mode for free and Rowley (who make Crossworks) white-box it for Segger where it&amp;#39;s called Segger Embedded Studio and is free (for non-commercial use). It&amp;#39;s very much the same product simplified so it only supports Segger.&lt;/p&gt;
&lt;p&gt;There&amp;#39;s a few blog posts on SES, one from the weekend actually. It&amp;#39;s been in active development mode so things have been changing, but it&amp;#39;s pretty stable now.&lt;/p&gt;
&lt;p&gt;If you go to the Blogs section and type &amp;#39;a week with crossworks&amp;#39; into the search, you&amp;#39;ll find the original post I wrote about it a couple of years ago. You have to put a little time into it, new IDEs are always like that, but when you get it, it&amp;#39;s very easy to use and the debugging experience is superb.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Linker stage fails with missing reference to _start</title><link>https://devzone.nordicsemi.com/thread/63711?ContentTypeID=1</link><pubDate>Mon, 26 Sep 2016 05:32:26 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c59ad81e-a7fc-48c1-ad4f-96149f131e4e</guid><dc:creator>Bhaumik</dc:creator><description>&lt;p&gt;What do you use if not eclipse ? i use mac and I am looking for open source platform (sounds ironic :P).&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Linker stage fails with missing reference to _start</title><link>https://devzone.nordicsemi.com/thread/63710?ContentTypeID=1</link><pubDate>Mon, 26 Sep 2016 05:06:02 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7b167d1d-303f-4215-b409-d9d50ddbf304</guid><dc:creator>RK</dc:creator><description>&lt;p&gt;nope - don&amp;#39;t use eclipse - think it&amp;#39;s pretty junky for embedded development for the most part. I&amp;#39;m sure google can help you.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Linker stage fails with missing reference to _start</title><link>https://devzone.nordicsemi.com/thread/63709?ContentTypeID=1</link><pubDate>Mon, 26 Sep 2016 05:04:25 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7cc78355-c0e0-4ba0-811f-4435e2c58929</guid><dc:creator>Bhaumik</dc:creator><description>&lt;p&gt;Can you explain how to add such rules?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Linker stage fails with missing reference to _start</title><link>https://devzone.nordicsemi.com/thread/63708?ContentTypeID=1</link><pubDate>Sun, 25 Sep 2016 07:18:34 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:18e75ced-199c-44a4-a087-3ed83d694e58</guid><dc:creator>RK</dc:creator><description>&lt;p&gt;yes thats the whole point &lt;code&gt;.s&lt;/code&gt; files should be compiled WITHOUT the preprocessor, &lt;code&gt;,S&lt;/code&gt; files should have a rule which compiles them WITH the preprocessor. You really want to have two rules, one for each.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Linker stage fails with missing reference to _start</title><link>https://devzone.nordicsemi.com/thread/63707?ContentTypeID=1</link><pubDate>Sun, 25 Sep 2016 07:11:45 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:135dff05-8cab-4a88-87f4-32eb7a3c1d81</guid><dc:creator>Bhaumik</dc:creator><description>&lt;p&gt;I actually found the solution:
Under your project properties --&amp;gt; C/C++ build --&amp;gt;Settings --&amp;gt; Cross ARM GNU Assembler --&amp;gt; Preprocessor --&amp;gt; Check use preprocessor&lt;/p&gt;
&lt;p&gt;This will put everything into perspective and now everything works as expected.&lt;/p&gt;
&lt;p&gt;Will give another project a try.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Linker stage fails with missing reference to _start</title><link>https://devzone.nordicsemi.com/thread/63706?ContentTypeID=1</link><pubDate>Sun, 25 Sep 2016 05:05:34 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:fef82154-9f05-4a2a-8698-82d31d597f8f</guid><dc:creator>Bhaumik</dc:creator><description>&lt;p&gt;Hello RK,
Thanks for your response. Your correction are right, I do make my eclipse project compile .s file, by adding the extension as assembly file in my project properties on eclipse.
However, your explanation does not help to resolve the issue. It has taken me a week to get this far with SDK v12, in your opinion should i stick with SDK v11?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Linker stage fails with missing reference to _start</title><link>https://devzone.nordicsemi.com/thread/63705?ContentTypeID=1</link><pubDate>Sat, 24 Sep 2016 01:17:07 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:48d11eb7-ec32-4ca4-bc67-bf1a6be160cc</guid><dc:creator>RK</dc:creator><description>&lt;p&gt;You&amp;#39;re not reading the error message properly and hence the title of the question is wrong&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;undefined reference to `__START&amp;#39;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;not &lt;code&gt;_start&lt;/code&gt; which is defined in crt0.o (not cr0.o) but &lt;code&gt;__START&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;That shows that the #define in the gcc_startup_nrf52.S file hasn&amp;#39;t been expanded in the assembly back to &lt;code&gt;_start&lt;/code&gt;, or else you&amp;#39;ve defined __START as &lt;code&gt;__START&lt;/code&gt; which seems unlikely. If you &lt;code&gt;nm&lt;/code&gt; the .o file you&amp;#39;ll see it needs the symbol &lt;code&gt;__START&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;and likely this all has something to do with the change from &lt;code&gt;.s&lt;/code&gt; to &lt;code&gt;.S&lt;/code&gt; files in SDK12, `.S files are supposed to be preprocessed before being assembled but the entire change appears to have borked various things.&lt;/p&gt;
&lt;p&gt;I&amp;#39;m actually quite surprised that gcc doesn&amp;#39;t complain about the #defines in the .S file if it&amp;#39;s not preprocessing it, but it&amp;#39;s not.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>