<?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>porting an nRF52 SES project to nRF51</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/118747/porting-an-nrf52-ses-project-to-nrf51</link><description>I have the same application that runs on both nrf51 and nrf52 MCUs. The Bluetooth in the application uses SoftDevice and not the SDK primarily because I started with the pc-driver which uses just SoftDevice. The nRF51 project is Keil and I want to migrate</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 11 Feb 2025 18:43:21 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/118747/porting-an-nrf52-ses-project-to-nrf51" /><item><title>RE: porting an nRF52 SES project to nRF51</title><link>https://devzone.nordicsemi.com/thread/522521?ContentTypeID=1</link><pubDate>Tue, 11 Feb 2025 18:43:21 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:8ab7e438-a664-4590-b152-4808c20c277a</guid><dc:creator>brianreinhold</dc:creator><description>&lt;p&gt;I can&amp;#39;t explain it but when I downloaded it I got the same project 4682.nrf51_ses.zip.. When I tried it again I got&amp;nbsp;8244.nrf51_ses.zip. This afternoon I tried the link in your last message and I got&amp;nbsp;7028.nrf51_ses.zip. This one built. THANKS!!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: porting an nRF52 SES project to nRF51</title><link>https://devzone.nordicsemi.com/thread/522504?ContentTypeID=1</link><pubDate>Tue, 11 Feb 2025 15:49:54 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9fcd6983-0a5f-4a02-ace8-649a9ba8f595</guid><dc:creator>Vidar Berg</dc:creator><description>&lt;p&gt;I removed the FPU in my reuploaded attachment&amp;nbsp;&lt;a href="https://devzone.nordicsemi.com/cfs-file/__key/communityserver-discussions-components-files/4/4682.nrf51_5F00_ses.zip" rel="noopener noreferrer" target="_blank"&gt;7028.nrf51_ses.zip&lt;/a&gt;. Did you try to build this with SES v.5.x?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: porting an nRF52 SES project to nRF51</title><link>https://devzone.nordicsemi.com/thread/522492?ContentTypeID=1</link><pubDate>Tue, 11 Feb 2025 15:12:57 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ba05cb1b-a79c-4af5-9289-c2717a152e63</guid><dc:creator>brianreinhold</dc:creator><description>&lt;p&gt;Got the same result. Is there a way I can de-select FPU?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: porting an nRF52 SES project to nRF51</title><link>https://devzone.nordicsemi.com/thread/522490?ContentTypeID=1</link><pubDate>Tue, 11 Feb 2025 15:08:22 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7cec62de-4920-425f-b3f0-cb1df8029de4</guid><dc:creator>Vidar Berg</dc:creator><description>&lt;p&gt;Sorry, I&amp;#39;m not sure what happened there. I have re-uploaded the attachment in my previous post. This version does not select the hardware FPU (shouldn&amp;#39;t have been possible to select it in the first place as there is no FPU on the M0).&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: porting an nRF52 SES project to nRF51</title><link>https://devzone.nordicsemi.com/thread/522487?ContentTypeID=1</link><pubDate>Tue, 11 Feb 2025 15:03:15 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:81b50769-0677-4285-b087-3d0a965cb5e3</guid><dc:creator>brianreinhold</dc:creator><description>&lt;p&gt;I already have the 12.3.0 SDK so I placed the project in the examples/peripherals directory and set SDK_ROOT=../../../../../../&lt;/p&gt;
&lt;p&gt;However, when building I get&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;#39;-mfloat-abi=hard&amp;#39;: selected architecture lacks an FPU&lt;/p&gt;
&lt;p&gt;I don&amp;#39;t have a DK connected; I was just trying to build. Wrong path to SDK? I think I counted the right number of&amp;nbsp; directories from the project to the base of the SDK.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: porting an nRF52 SES project to nRF51</title><link>https://devzone.nordicsemi.com/thread/522476?ContentTypeID=1</link><pubDate>Tue, 11 Feb 2025 14:42:33 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:045db543-f33c-4327-bbbf-e0febd030bb1</guid><dc:creator>Vidar Berg</dc:creator><description>&lt;p&gt;Here is the project configuration I made based on the 2 projects you uploaded:&lt;/p&gt;
&lt;p&gt;&lt;a href="https://devzone.nordicsemi.com/cfs-file/__key/communityserver-discussions-components-files/4/7028.nrf51_5F00_ses.zip"&gt;devzone.nordicsemi.com/.../7028.nrf51_5F00_ses.zip&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;To build the project,&amp;nbsp;ensure SDK folder (&amp;#39;nRF5_SDK_12.3.0_d7731ad&amp;#39;) is placed adjacent to the project folder. Otherwise, you need to update SDK_ROOT variable in the project configuration.&lt;/p&gt;
&lt;p&gt;&lt;img style="max-height:240px;max-width:320px;" alt=" " src="https://devzone.nordicsemi.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/4/pastedimage1739284555121v1.png" /&gt;&lt;/p&gt;
&lt;p&gt;Please note that I have not&amp;nbsp;done any testing beyond verifying that it builds and runs. Converting old projects like this requires many small manual steps, making it easy to miss a step or overlook something. So please&amp;nbsp;make sure that you test and review the changes on your end.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: porting an nRF52 SES project to nRF51</title><link>https://devzone.nordicsemi.com/thread/522401?ContentTypeID=1</link><pubDate>Tue, 11 Feb 2025 10:43:42 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5f7cb49b-4444-433f-852e-912f801b7071</guid><dc:creator>brianreinhold</dc:creator><description>&lt;p&gt;Okay, so it IS the video/image file option. Gees!&lt;a href="https://devzone.nordicsemi.com/cfs-file/__key/communityserver-discussions-components-files/4/ble_5F00_app_5F00_met_5F00_epoch.zip"&gt;devzone.nordicsemi.com/.../ble_5F00_app_5F00_met_5F00_epoch.zip&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Unzip and place in the examples/peripheral directory of the 17.1.0 nrf5 SDK. It expects a S140 SoftDevice hex file in the components directory.&lt;/p&gt;
&lt;p&gt;Here is my attempt as a SES project for my nrf51 version&lt;/p&gt;
&lt;p&gt;&lt;a href="https://devzone.nordicsemi.com/cfs-file/__key/communityserver-discussions-components-files/4/nrf51_5F00_ble_5F00_app_5F00_met_5F00_epoch.zip"&gt;devzone.nordicsemi.com/.../nrf51_5F00_ble_5F00_app_5F00_met_5F00_epoch.zip&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This is placed in the examples/peripherals directory of a 12.3.0 nrf52 SDK. It expects an s130 SoftDevice hex file in the components directory&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: porting an nRF52 SES project to nRF51</title><link>https://devzone.nordicsemi.com/thread/522350?ContentTypeID=1</link><pubDate>Tue, 11 Feb 2025 08:01:44 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4baafeb0-ef8c-4f82-8df4-c50a235af500</guid><dc:creator>Vidar Berg</dc:creator><description>&lt;p&gt;arm_startup_nrf51.s is for Keil uVision and the arm toolchain (has a different assembly syntax than GCC). For SES you should include the&amp;nbsp;&lt;strong&gt;ses&lt;/strong&gt;_startup_nrf51.s file instead.&lt;/p&gt;
&lt;p&gt;You can select the file you want to attach by clicking &amp;quot;Upload&amp;quot; here:&lt;/p&gt;
&lt;p&gt;&lt;img style="max-height:240px;max-width:320px;" src="https://devzone.nordicsemi.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/4/pastedimage1739260797529v1.png" alt=" " /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: porting an nRF52 SES project to nRF51</title><link>https://devzone.nordicsemi.com/thread/522191?ContentTypeID=1</link><pubDate>Mon, 10 Feb 2025 12:53:19 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:045c8fca-c380-4121-970e-25cf1fb7e337</guid><dc:creator>brianreinhold</dc:creator><description>&lt;p&gt;I have made stabs at creating a SES based nrf51 project over the past years but basically gave up because there were simply too many things I didn&amp;#39;t know and the locations of all the sources and includes are pretty complex in the SDK. I have decided to take another crack at it now that I am more familiar with the SDK and have looked into the raw project files of the SES and Keil projects and thought that maybe I could make use of them for the includes, pre-processors and source file configurations. So I tried the approach above but there were too many details about the MCUs I simply was unsure about.&lt;/p&gt;
&lt;p&gt;However, I do have an nRF52 and nRF51 project that do exactly the same thing. My application code for the two are almost identical as there are not too many differences between the SoftDevice S139 and S140 API calls. So I am working on two approaches to make the Keil to SES port. The first is the one referenced here. The second is that I started a new SES project from scratch based on the nRF51822 (that for the nRF51 DK) mcu. I then used the Keil project files to get the includes, preprocessors, and source files. I got a LOT further with this approach BUT got stuck on the fact that the &amp;#39;&lt;span&gt;arm_startup_nrf51.s&amp;#39; of the SDK includes a &amp;#39;startup_config.h&amp;#39; file, but that file does not exist. I think if I got that file then the project would at least build (might need further tweaks)..&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;IN any case, I attach my nrf52 project. It is to&amp;nbsp; be placed in the examples/peripherals directory. of the 17.1.0 SDK.&amp;nbsp;It expects a 140 SoftDevice HEX file in the components/softdevice/s140/hex directory.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Okay, well I would LIKE to send an attachment and I see that attachments can somehow be added but Ifor the life of me I cannot see how to do that! (Its not an image or video file.)&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: porting an nRF52 SES project to nRF51</title><link>https://devzone.nordicsemi.com/thread/522176?ContentTypeID=1</link><pubDate>Mon, 10 Feb 2025 12:04:51 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:24614c0d-2d7e-42f6-b42e-9d76f00f3285</guid><dc:creator>Vidar Berg</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;It should not be a problem to convert the 52 project into an nRF51 project. The most important steps that come to mind are:&amp;nbsp;&lt;/p&gt;
&lt;p&gt;1. Update the linker settings to match the device&lt;/p&gt;
&lt;p&gt;2. Change relevant preprocessor symbols (e.g. S132 -&amp;gt; S130).&lt;/p&gt;
&lt;p&gt;3. Change the startup files&amp;nbsp;&lt;/p&gt;
&lt;p&gt;If you are able to share your project, I can try to convert your 52 project to build for the nRF51. Need to know which package variant of the 51 you are using in that case.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>