<?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>app.hex was loaded in bootloader area when using KEIL compiling.</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/67699/app-hex-was-loaded-in-bootloader-area-when-using-keil-compiling</link><description>Hey experts, We encountered a problem about project porting and using KEIL compiling. Here are detailed: Our products are using gcc+makefile method to compile and generate .hex file, it works fine. We want to debug product in hardware situation, so we</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Sat, 31 Oct 2020 07:25:15 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/67699/app-hex-was-loaded-in-bootloader-area-when-using-keil-compiling" /><item><title>RE: app.hex was loaded in bootloader area when using KEIL compiling.</title><link>https://devzone.nordicsemi.com/thread/277904?ContentTypeID=1</link><pubDate>Sat, 31 Oct 2020 07:25:15 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ba82c8dd-2d37-4ad9-8ab4-935a74f87310</guid><dc:creator>Esten</dc:creator><description>[quote userid="8164" url="~/f/nordic-q-a/67699/app-hex-was-loaded-in-bootloader-area-when-using-keil-compiling/277575#277575"]may[/quote]
&lt;p&gt;Thanks for your answer.&lt;br /&gt;The reason is the project included bootloader setting file. &lt;br /&gt;It is compiled with IROM1 BASE ADDRESS within KEIL project, but it does not take effect within GCC project.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: app.hex was loaded in bootloader area when using KEIL compiling.</title><link>https://devzone.nordicsemi.com/thread/277575?ContentTypeID=1</link><pubDate>Thu, 29 Oct 2020 10:51:37 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c2fa3e18-495e-46bf-87d1-a03c4940bee0</guid><dc:creator>tesc</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;Can you do a flash erase before programming both SoftDevice and Application?&lt;/p&gt;
&lt;p&gt;The fact that the programmer tools says it is the bootloader region may come from a UICR register used for setting the bootloader start address. With full flash erase you also erase the UICR page.&lt;/p&gt;
&lt;p&gt;Regarding the startup files, different toolchains have different startup files, and the change that you see of startup file is expected (and required).&lt;/p&gt;
&lt;p&gt;In any case, porting a project to a different toolchain is often easiest if you start with a new project in the new toolchain, and then include files and include directories, set preprocessor defines and other project settings, memory settings, etc.&lt;/p&gt;
&lt;p&gt;Regards,&lt;br /&gt;Terje&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: app.hex was loaded in bootloader area when using KEIL compiling.</title><link>https://devzone.nordicsemi.com/thread/277506?ContentTypeID=1</link><pubDate>Thu, 29 Oct 2020 04:25:49 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ffb95c5b-7d32-4cae-9beb-055e8e71b3a5</guid><dc:creator>Henry_Chou</dc:creator><description>&lt;p&gt;Hex code format will not be include the memory type. If the debug tools, it is located at 0x0000. That means, Finally the hex file start address offset is wrong. The reason usual is the memory map definition. SES is depend on ld file. The Keil C is decided by project file. Even thought, your map file is okaye. But I think that it must be something wrong from your project file or startup .s file.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: app.hex was loaded in bootloader area when using KEIL compiling.</title><link>https://devzone.nordicsemi.com/thread/277502?ContentTypeID=1</link><pubDate>Thu, 29 Oct 2020 02:35:42 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1ccaf521-75fe-48fb-921e-724b844a2635</guid><dc:creator>Esten</dc:creator><description>&lt;p&gt;Maybe the method is more reliable.&lt;br /&gt;Why the application file regarded as a bootloader type, do you have any idea?&lt;br /&gt;What parameters or configuration will cause this?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: app.hex was loaded in bootloader area when using KEIL compiling.</title><link>https://devzone.nordicsemi.com/thread/277496?ContentTypeID=1</link><pubDate>Thu, 29 Oct 2020 01:39:17 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7d5a8b95-c065-47ae-99be-197b80efded1</guid><dc:creator>Henry_Chou</dc:creator><description>&lt;p&gt;In my experience, the easy way to transfer the project code from SES or Iar to keil C. You may take care the project option such as memory allocation, the definition parameter,&amp;nbsp; device family pack, and device startup assembly code( **starup** .s)&lt;/p&gt;
&lt;p&gt;For some reason, you may copy the example project (keil) . Then modify which you want. It&amp;#39;s the best way.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: app.hex was loaded in bootloader area when using KEIL compiling.</title><link>https://devzone.nordicsemi.com/thread/277360?ContentTypeID=1</link><pubDate>Wed, 28 Oct 2020 10:59:42 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4b8aeadf-e8f6-496e-afe3-d1113325ce23</guid><dc:creator>Esten</dc:creator><description>&lt;p&gt;Thanks henry.&lt;br /&gt;The cause looks easy to know...&lt;br /&gt;Although all source files are same with gcc project, the output hex file is regarded as a BOOTLOADER type, not applicaition type.&lt;br /&gt;&amp;nbsp;What can cause the issue when using keil&amp;nbsp;dev situation, or which configuration will cause a app regarded as a bootloader. What is the difference between bootloader and application when generating the goal file?&lt;br /&gt;&lt;br /&gt;&lt;img src="https://devzone.nordicsemi.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/4/pastedimage1603881830621v1.png" alt=" " /&gt;&lt;img src="https://devzone.nordicsemi.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/4/pastedimage1603881887202v2.png" alt=" " /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: app.hex was loaded in bootloader area when using KEIL compiling.</title><link>https://devzone.nordicsemi.com/thread/277298?ContentTypeID=1</link><pubDate>Wed, 28 Oct 2020 08:44:09 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:74577f66-8ef8-4c40-bd21-134d4cf9e97a</guid><dc:creator>Henry_Chou</dc:creator><description>&lt;p&gt;May you try the nRF connect programer for your case?&lt;/p&gt;
&lt;p&gt;&lt;img src="https://devzone.nordicsemi.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/4/pastedimage1603874141299v1.png" alt=" " /&gt;&lt;/p&gt;
&lt;p&gt;Actually the MBR(Boot load) , SD (softdevice) ,App (main code) should arrange like above.&lt;/p&gt;
&lt;p&gt;If the app hex code is normal the address offset should be 0x29000 in your case.SD should be 0x1000.&lt;/p&gt;
&lt;p&gt;If your case is app 0x0000, I think the keil C flash will be conflict with SD.But,....It&amp;#39;s seems like&lt;/p&gt;
&lt;p&gt;not happen conflict? How?....&lt;/p&gt;
&lt;p&gt;The direct way to debug, You may check the hex generate by keil C. Make sure the address offset is 0x0000 or not.&lt;/p&gt;
&lt;p&gt;Actually will not be 0x0000.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>