This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Creating SES projects for PCA10100 or other boards

Hello,

I have a nRF52833 on a nRF52833-DK or the PCA10100 and want to do development but I have found several projects don't have a Segger Embedded Studio project (for the PCA10100) so I have had to make the project by going through the following steps.  If there is a better way to create the projects, please let me know.  I plan on moving all my work over to a custom board with the nRF52820 but haven't completed the PCB design yet.  I have been just verifying the hardware with software examples to make sure everything works.

 

To make this a project for the nRF52833 or PCA10100, what I do is the following:

First open one of the existing projects (for example, the cli_libuarte example).  Open it by going into Windows Explorer and go down in the ses (Segger Embedded Studio) and find the project file.

 

Double click the cli_libuarte_pca10056.emProject which should launch Embedded Segger Studio and build properly.

 

Close the application and then copy and paste back as a new folder.  Then rename it to something like pca10100 (or whatever board trying to support)

 

Once again go into the pca10100 folder and until getting to where the embedded studio file is.

You can rename the file if you want (I do).

 

 

Launch the project file.  You can rename the project by selecting it and re-naming it as desired (I changed mine to ending in pca10100)

 

Building the application should still work successfully.  

 

Now to change the different setting so we are building for the correct board/mcu.

Right click on project and open the options.  Make sure you are on the Common options.

 

Selecting the Preprocessor Definitions, it will look similar to this and then edit to the desired board and mcu.

 

Now need to change the Debug - Debugger info.

 

Now changes made for the nRF52833.

 

Need to modify the Linker settings as well for the nRF52833.

 

Memory segments need to be set to the following for the nRF52833

Text used:

FLASH1 RX 0x00000000 0x00080000;RAM1 RWX 0x20000000 0x00020000

 

For Set Section Placement macros for the nRF52833

Text used

FLASH_PH_START=0x0

FLASH_PH_SIZE=0x100000

RAM_PH_START=0x20000000

RAM_PH_SIZE=0x40000

FLASH_START=0x0

FLASH_SIZE=0x100000

RAM_START=0x20000000

RAM_SIZE=0x40000

 Need to swap out the ses_startup_nrf52840.s and system_nrf52840.c

For the files used by the nRF52833

 

Need to go into Options again, select Debug, then Linker.  Need to modify Memory Segments.

 

Memory Segments need to be modified to the following for nRF52833

FLASH RX 0x0 0x40000;RAM1 RWX 0x20000000 0x8000

 

Need to also change the Section Placement Macros to the following:

FLASH_PH_START=0x0

FLASH_PH_SIZE=0x40000

RAM_PH_START=0x20000000

RAM_PH_SIZE=0x8000

FLASH_START=0x0

FLASH_SIZE=0x40000

RAM_START=0x20000000

RAM_SIZE=0x8000

 

It should look like this.

 

 

Building should work now.

If there is a better/faster way to convert a project over from a pca10056 or other project, please let me know.  This method is not that painful but does take plenty of steps.

Thanks.

Parents Reply Children
  • Hello,

    I use an application called BeyondCompare to look at differences.  I attempted to use this before to compare the differences but I was having trouble identifying what needed changed and why.  I will attempt to use this method when migrating another project.  Attached is a pdf of the report generated by looking at the differences between the files when one is being used for nRf52833 vs nRF52840.

    beyondCompareReport_cli_libuarte_pca10100_vs_pca10056.pdf

    With this being the what is required to convert a project over to work on nRF52833, what modifications would need to be done to work with the nRF52820?  What is the main difference between the nRF52833 and nRF52820?

    Thanks.

  • Hi,

    jablackann said:
    With this being the what is required to convert a project over to work on nRF52833, what modifications would need to be done to work with the nRF52820?

    Assuming you use a recent SDK with support for both devices, you  need to replace any references to one IC and board  with the other in the project file. Just search for that to find it. Then you need to update memory configuration, and possibly SoftDevice references if relevant. Generally everything will be easy to see if you search for the relevant terms in the project file when opening it in a text editor.

    jablackann said:
    What is the main difference between the nRF52833 and nRF52820?

    You can see the main differences by looking at the nRF52 Series comparison table.

Related