background image

©

 SCILLC, 2019

Previous Edition © 2018
“All Rights Reserved”

Getting Started with RSL10

AND9697/D

June 2019, Rev. P5

Summary of Contents for RSL10

Page 1: ... SCILLC 2019 Previous Edition 2018 All Rights Reserved Getting Started with RSL10 AND9697 D June 2019 Rev P5 ...

Page 2: ... 4 1 Prerequisite Software 19 4 2 RSL10 CMSIS Pack Installation Procedure 19 4 3 Building Your First Sample Application with the Keil uVision IDE 20 4 3 1 Import the Sample Code 21 4 3 2 Build the Sample Code 22 4 3 3 Debugging the Sample Code 23 4 3 3 1 Preparing J Link for Debugging 23 4 3 3 2 Debugging Applications 23 5 Getting Started with IAR 25 5 1 Prerequisite Software 25 5 2 RSL10 CMSIS Pa...

Page 3: ...k 41 7 2 2 Documentation in the documentation zip File 46 A Migrating to CMSIS Pack 48 A 1 Migrating an Existing Eclipse Project to the CMSIS Pack Method 48 A 2 Using the Latest RSL10 Firmware in a Previous Version of the Eclipse Based IDE 49 B Arm Toolchain Support 50 B 1 Basic Installation 50 B 2 Configuring the Arm Toolchain in the ON Semiconductor IDE 50 B 3 Additional Settings 50 ...

Page 4: ...from system code allowing for simple modular code design Features such as FOTA Firmware Over the Air can easily be added to any application Advanced debugging features such as support for SEGGER RTT help developers monitor and debug code Sample applications from Blinky to ble_peripheral_server_bond and everything in between help get software development moving quickly An optional Bluetooth mesh ne...

Page 5: ...r positions Ensure that the jumper CURRENT is connected and POWER OPTIONS is selected for USB Also connect the jumpers TMS TCK and SWD Finally connect the headers P7 P8 P9 and P10 to 3 3 V as highlighted in Figure 1 Figure 1 Evaluation and Development Board with Pins and Jumpers for Connection Highlighted 2 Once the jumpers are in the right positions you can plug the micro USB cable into the socke...

Page 6: ...ral Device with Server is on boards with a serial number higher than 1741xxxxx For more information about sample applications refer to the RSL10 Sample Code User s Guide 2 3 PREREQUISITE SOFTWARE Install the latest version of J Link It is available from the SEGGER website Make sure to run the J Link DLL updater as shown in Figure 2 to update the J Link DLL inside your IDE and confirm that the vers...

Page 7: ...ault C Program Files x86 ON Semiconductor IDE The release version and build number are stored in the REVISION text file at the root of the installed ON Semiconductor IDE To install the RSL10 CMSIS Pack 1 Download the RSL10 CMSIS Pack from www onsemi com RSL10 and save it in any temporary folder 2 Open the ON Semiconductor IDE and choose the desired location for your new workspace for example c wor...

Page 8: ... The RSL10 CMSIS Pack now appears in the list of installed packs In the Devices tab if you expand All Devices ONSemiconductor RSL10 Series you can see RSL10 listed there You can manage your installed packs in the Packs tab Expanding ONSemiconductor RSL10 makes the Pack Properties tab display the details of the RSL10 CMSIS Pack Figure 5 on page 9 illustrates what the Pack Manager perspective looks ...

Page 9: ...o start the IDE go to the Windows Start menu and select ON Semiconductor ON Semiconductor IDE 2 When you open the IDE for the first time you are prompted to select a workspace for the session The workspace is the work area for all your IDE projects 3 2 2 Importing the Sample Code Import the sample code as follows 1 In the Pack Manager perspective click on the Examples tab to list all the example p...

Page 10: ...de the blinky rteconfig file displays software components If you expand Device Libraries you can see the System library libsyslib and the Startup libcmsis components selected for blinky see Figure 7 on page 11 NOTE Sample projects are preconfigured with Release versions of RSL10 libraries which are distributed as object files In the RTE configuration you can switch to the Source variant to include...

Page 11: ... Blinky Example Project in the ON Semiconductor IDE 3 2 3 Build the Sample Code Follow these steps to build the sample code 1 Right click on the folder for blinky and click Build Project Alternatively you can select the project and click the hammer icon shown in Figure 8 ...

Page 12: ...re 9 Figure 9 Example of Build Output 3 The key resulting output in Project Explorer includes blinky hex HEX file for loading into Flash memory blinky elf Arm executable file run from RAM used for debugging blinky map map file of the sections and memory usage These files are shown in Figure 10 on page 13 NOTE You might need to refresh the project to see the three built output files To do so right ...

Page 13: ... elf File Debug the application using the elf file as follows 1 Within the Project Explorer right click on the blinky elf file and select Debug As Debug Configurations 2 When the Debug Configurations dialog appears right click on GDB SEGGER J Link Debugging and select New A new configuration for blinky appears under the GDB SEGGER heading with new configuration details in the right side panel 3 Ch...

Page 14: ...lash memory make sure you are using the J Link version specified in Section 2 3 Prerequisite Software on page 6 If you are having trouble downloading firmware because an application with Sleep Mode is on the Evaluation and Development Board see Section 6 4 1 Downloading Firmware in Sleep Mode on page 40 5 The ON Semiconductor IDE asks if you would like to open the Debug perspective Answer Yes and ...

Page 15: ...the path to the SVD file in the Debug session The following steps demonstrate how to configure and use the Peripheral Registers View with the Blinky application 1 Right click on the blinky elf file select Debug As Debug Configurations and open your configuration details set as described in Section 3 3 1 Debugging with the elf File on page 13 2 Change to the SVD Path tab and set the path to the rsl...

Page 16: ...d only registers are highlighted in green If you wish you can drag your Memory window and place it side by side with your source code view see Figure 15 on page 18 5 Select DIO and CLK in the peripherals window Now you can monitor the selected peripherals from the Monitors tab and switch between them To see or change the DIO register status choose DIO and expand the DIO DIO_DATA register in the Me...

Page 17: ...eripheral Registers View Perspective in Debug Session After Setting SVD Path 7 Click on the Value tab of the GPIO register to change the HIGH LOW state of GPIO6 as shown in Figure 15 You can observe that the LED DIO6 on your board changes its state ...

Page 18: ...Getting Started with RSL10 www onsemi com 18 Figure 15 Toggling RSL10 DIO Using the Peripheral Registers View ...

Page 19: ...k installer or click on the icon shown in Figure 16 Figure 16 Pack Installer Icon 2 Click on File Import select your pack file ONSemiconductor RSL10 version pack and click Open see Figure 17 version is the RSL10 version such as 2 2 347 Figure 17 Installing the RSL10 CMSIS Pack for the Keil Vision IDE 3 The IDE prompts you to read and accept our license agreement then installs the RSL10 CMSIS Pack ...

Page 20: ... tab display the details of the RSL10 CMSIS Pack Figure 19 on page 20 illustrates what the Pack Installer perspective looks like after installation Figure 19 Pack Installer after RSL10 CMSIS Pack is Installed in the Keil Vision IDE 4 3 BUILDING YOUR FIRST SAMPLE APPLICATION WITH THE KEIL UVISION IDE This section guides you through importing and building your first sample application named blinky T...

Page 21: ...py button to import it into your workspace see Figure 20 on page 21 Choose a destination folder for a copy of the sample code Figure 20 Pack Manager Perspective Examples Tab Sample projects are preconfigured with Release versions of RSL10 libraries which are distributed as object files For Keil System library libsyslib and Startup libcmsis are preconfigured with the Source variant so the source co...

Page 22: ...ple Code Build the sample code as follows 1 Right click on Target 1 and choose Rebuild all target files Alternatively you can use the icon shown in the Figure 22 Figure 22 Starting to Build a Project in the Keil Vision IDE 2 When the build is running the output of the build is shown in the Build Output view in the IDE as illustrated in Figure 23 ...

Page 23: ...ion 2 3 Prerequisite Software on page 6 4 3 3 2 Debugging Applications The IDE s debug configurations are already set in the CMSIS Pack To debug an application 1 Make sure the Evaluation and Development Board is connected to the PC via a micro USB cable 2 Select Debug Start Stop Debug Session or click the icon shown in Figure 24 Figure 24 Start Stop Debug Session Icon If you are having trouble dow...

Page 24: ...nfigurations are preconfigured for the sample applications in the IDE s CMSIS Pack Flash downloading through the Download icon Figure 26 or F8 is not supported for J Link in the IDE at this point The IDE may add support for this feature in future releases Figure 26 Download Button Not Supported for J Link ...

Page 25: ...he icon shown in Figure 27 Figure 27 Pack Installer Icon 3 Click on CMSIS Manager Import Existing Packs select your pack file ONSemiconductor RSL10 version pack and click Open see Figure 28 version is the RSL10 version such as 2 3 27 Figure 28 Installing the RSL10 CMSIS Pack for the IAR Embedded Workbench IDE 4 The IDE prompts you to read and accept the license agreement then installs the RSL10 CM...

Page 26: ...bedded Workbench CMSIS Manager after RSL10 CMSIS Pack is Installed 5 3 BUILDING YOUR FIRST SAMPLE APPLICATION WITH THE IAR EMBEDDED WORKBENCH This section guides you through importing and building your first sample application named blinky This application makes the LED DIO6 blink on the Evaluation and Development Board The procedure described in this section assumes that you have installed the SD...

Page 27: ...s Tab Sample projects are preconfigured with Release versions of RSL10 libraries which are distributed as object files For the IDE System library libsyslib and Startup libcmsis are preconfigured with the Source variant so the source code of those libraries is included directly in both CMSIS Manager and IDE windows see Figure 32 on page 27 and Figure 33 on page 28 Figure 32 RTE Configuration for th...

Page 28: ...xample Project in the IAR Embedded Workbench window 5 3 2 Building the Sample Code To build the sample code 1 Right click on the folder for blinky and choose Rebuild all Alternatively you can use the icon shown in Figure 34 Figure 34 Starting to Build a Project in the IAR Embedded Workbench ...

Page 29: ...executable file used for debugging blinky map map file of the sections and memory usage 5 3 3 Debugging the Sample Code 5 3 3 1 Debugging Applications IDE debug configurations are already set in the CMSIS pack To debug an application 1 Make sure the Evaluation and Development Board is connected to the PC via a micro USB cable 2 Select Project Download and Debug or click the icon shown in Figure 36...

Page 30: ...tion and Development Board see Section 6 4 1 Downloading Firmware in Sleep Mode on page 40 3 The application runs up to the first breakpoint in main You can press F5 or the Run icon as shown in Figure 38 multiple times to step through the code and observe that the LED changes its state when the application executes the function Sys_GPIO_Toggle LED_DIO To stop the debug session press the Stop icon ...

Page 31: ...ON Semiconductor www onsemi com 31 Figure 38 Debug Session in the IAR Embedded Workbench ...

Page 32: ...on about SEGGER RTT can be found in JLINK user manual at www segger com 6 1 1 Adding Printf Debug Capabilities To add printf debug capabilities over UART change the define in the app_trace h file to define RSL10_DEBUG DBG_UART and set the RSL10_DEBUG macro to DBG_UART A standard terminal program on a PC can be used to view the debug output To add RTT printf debug capabilities change the define in ...

Page 33: ...ink 6 4 DEBUGGING WITH LOW POWER SLEEP MODE Debugging applications that use sleep mode is a challenging task because the hardware debug logic and system clocks are powered down when the device goes to sleep Therefore the debug session cannot be kept alive between sleep cycles IMPORTANT You can use hardware breakpoints when using the debugger with the Arm Cortex M3 core but software breakpoints can...

Page 34: ...ion Figure 40 Continue_Application Function Perspective After Adding While Loop 3 Within the Project Explorer right click on the elf file and select Debug As Debug Configurations 4 When the Debug Configurations dialog appears create two debug sessions a Debug session that initiates restart and halts the target i Right click on GDB SEGGER J Link Debugging and select New A new configuration appears ...

Page 35: ...ON Semiconductor www onsemi com 35 Figure 41 Setting Reset Type in the Debug Configuration Session Figure 42 Startup Tab Debug Session that Initiates Restart ...

Page 36: ...reate another new debug configuration under the GDB SEGGER heading with new configuration details in the right panel ii Adjust the displayed values for your configuration then click on Apply see Figure 43 and Figure 44 on page 37 Figure 43 Debugger Tab Debug Session that Connects to the Running Target ...

Page 37: ...4 The default Reset type is set to 0 which only resets the Arm Cortex M3 core and leaves the device peripherals in a state where the J Link cannot reconnect By setting it to 1 you ensure that not only the Arm Cortex M3 core is reset but also all the peripherals If this does not work see Section 6 4 1 Downloading Firmware in Sleep Mode on page 40 for more ideas 5 Start the first debug session which...

Page 38: ...sion Perspective Before Starting Execution 6 Wait until the target enters Deep Sleep Mode At this point the debug connection is lost and even when the target is awake it cannot establish a connection with JTAG The following output is generated on the console see Figure 46 ...

Page 39: ...move all terminated targets see Figure 47 Figure 47 Terminate Targets Icon 8 After the target exits Deep Sleep Mode it is running in the infinite loop step 1 and we can connect to the running target by starting the second debug session see Figure 48 Note that the debugger is able to reattach to the running target and halt the processor after waking up from sleep ...

Page 40: ...e is not working try the following 1 Connect DIO12 to ground 2 Press the RESET button this restarts the application which pauses at the start of its initialization routine 3 Repeat step 2 above After successfully downloading blinky to flash memory disconnect DIO12 from ground and press the RESET button so that the application works properly Alternatively use the Stand Alone Flash Loader available ...

Page 41: ...arty documentation from other companies besides ON Semiconductor Available from the books tab in the IDE images Contains evaluation board pictures include Include files for the firmware components and libraries Projects can point to this directory and sub directories when including firmware header files lib Pre built libraries which can be linked to by sample code or other source code Project link...

Page 42: ...inky rteconfig and selecting the tab Device see Figure 49 on page 42 Keil Vision IDE documentation is available in the Books tab as shown in Figure 50 on page 43 IAR Embedded Workbench documentation is accessible through the IAR Embedded Workbench CMSIS Manager window as shown in Figure 51 on page 44 Figure 49 Accessing RSL10 Documentation from the ON Semiconductor IDE ...

Page 43: ...ON Semiconductor www onsemi com 43 Figure 50 Accessing RSL10 Documentation from the Keil Vision IDE ...

Page 44: ...on the configuration and use of the RSL10 Evaluation and Development Board When you use this board with the software development tools you can test and measure the performance and capabilities of the RSL10 radio SoC RSL10 Firmware Reference The system firmware provides functionality that isolates you from the hardware and implements complex but common tasks making it easier to support and maintain...

Page 45: ...ion RW BLE Device Information Service Interface Specification RW BLE Find Me Profile Interface Specification RW BLE Glucose Profile GLP Interface Specification RW BLE HID Over GATT Profile Interface Specification RW BLE Heart Rate Profile HRP Interface Specification RW BLE Health Thermometer Profile Interface Specification RW BLE Location and Navigation Profile Interface Specification RW BLE Phone...

Page 46: ... sample application ble_mesh demonstrates how to configure the project to set up different mesh network scenarios and how to experiment with them to verify their features and operations Files in the mindtree folder related to Bluetooth Low Energy Mesh networking EtherMind_Mesh_API chm EtherMind_Mesh_Application_Developer s_Guide_Generic pdf EtherMind_Mesh_CLI_User_Guide pdf RSL10 Bootloader Guide ...

Page 47: ...o LPDSP32 various tips for optimization to make the best use of the processor and compiler resources and certain things the programmers should be aware of when porting applications It also provides a few examples to show the usage of LPDSP32 intrinsic functions and to give an idea of how certain DSP functions can be ported to and optimized for LPDSP32 RSL10 Stand Alone Flash Loader Manual Provides...

Page 48: ... like to migrate For example if your existing application uses the Heart Rate Profile you might want to import the ble_peripheral_server_hrp sample application as a reference 2 Right click the project and rename it as you wish 3 Remove the source code from the sample project 4 Copy over the source and header files from your existing project into the new one 5 Open the RTE Configuration Wizard by d...

Page 49: ...a previous version of the Eclipse based IDE If this is your case try the following steps 1 Download the RSL10 SDK CMSIS Pack from www onsemi com RSL10 and save it in any temporary folder 2 Use a compressing tool such as 7 Zip and extract the contents of the ONSemiconductor RSL10 version pack file 3 Copy and replace the lib and include folders from the CMSIS Pack into your existing RSL10 SDK Instal...

Page 50: ... IDE if an Arm based toolchain has been installed elsewhere or already exists on the path and the IDE selects that toolchain rather than the one included in arm_tools B 2 CONFIGURING THE ARM TOOLCHAIN IN THE ON SEMICONDUCTOR IDE All toolchain location options can be accessed by right clicking on the project in the Project Explorer view selecting Properties at the bottom of the pop up menu and choo...

Page 51: ...h information or services The boards are not designed intended or authorized for use in life support systems or any FDA Class 3 medical devices or medical devices with a similar or equivalent classification in a foreign jurisdiction or any devices intended for implantation in the human body Should you purchase or use the board for any such unintended or unauthorized application you shall indemnify...

Reviews: