Difference between revisions of "ONSemi RSL15"

From SEGGER Wiki
Jump to: navigation, search
(On-Chip Memory Regions for RSL15-512)
 
Line 1: Line 1:
 
__TOC__
 
__TOC__
   
RSL15 is a highly integrated secure Arm Cortex-M33-based Bluetooth Low Energy 5.2 wireless MCU system-on-a-chip, with flash and RAM, built-in power management, and an extensive set of peripherals. The wide supply voltage input, flexible I/O, and clocking scheme offer maximum design flexibility.
+
RSL15 is a highly integrated secure Arm Cortex-M33-based Bluetooth Low Energy 5.2 wireless MCU system-on-a-chip, with flash and RAM, built-in power management, and an extensive set of peripherals.
   
 
==Debug Support==
 
==Debug Support==
Line 12: Line 12:
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
! Instance Name !! Size (bytes) || Memory region
+
! Instance Name !! Size (bytes) !! Memory region !! Supported<br>by J-Link
 
|-
 
|-
| Code Flash || 360448 || 0x00100000 - 0x00157FFF
+
| Code Flash || 360448 || 0x00100000 - 0x00157FFF || {{YES}}
 
|-
 
|-
| Data Flash || 163840 || 0x00158000 - 0x0017FFFF
+
| Data Flash || 163840 || 0x00158000 - 0x0017FFFF || {{YES}}
 
|-
 
|-
| Non-Volatile Record (NVR) 4 || 256 || 0x00080400 - 0x000804FF
+
| Non-Volatile Record (NVR) 4 || 256 || 0x00080400 - 0x000804FF || {{YES}}
 
|-
 
|-
| Non-Volatile Record (NVR) 5 || 256 || 0x00080500 - 0x000805FF
+
| Non-Volatile Record (NVR) 5 || 256 || 0x00080500 - 0x000805FF || {{YES}}
 
|-
 
|-
| Non-Volatile Record (NVR) 6 || 256 || 0x00080600 - 0x000806FF
+
| Non-Volatile Record (NVR) 6 || 256 || 0x00080600 - 0x000806FF || {{YES}}
 
|-
 
|-
| Non-Volatile Record (NVR) 7 <br> (Manufacturing Test) || 256 || 0x00080700 - 0x000807FF
+
| Non-Volatile Record (NVR) 7 <br> (Manufacturing Test) || 256 || 0x00080700 - 0x000807FF || {{YES}}
 
|}
 
|}
 
'''NOTE:''' J-Link supports the Code Flash , Data Flash, as well as NVR4 - NVR7.
 
   
 
==On-Chip Memory Regions for RSL15-284==
 
==On-Chip Memory Regions for RSL15-284==
Line 34: Line 32:
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
! Instance Name !! Size (bytes) || Memory region
+
! Instance Name !! Size (bytes) !! Memory region !! Supported<br>by J-Link
 
|-
 
|-
| Code Flash || 270336|| 0x00100000 - 0x00141FFF
+
| Code Flash || 270336 || 0x00100000 - 0x00141FFF || {{YES}}
 
|-
 
|-
| Data Flash || 20480|| 0x00158000 - 0x0015CFFF
+
| Data Flash || 20480 || 0x00158000 - 0x0015CFFF || {{YES}}
 
|-
 
|-
| Non-Volatile Record (NVR) 4 || 256 || 0x00080400 - 0x000804FF
+
| Non-Volatile Record (NVR) 4 || 256 || 0x00080400 - 0x000804FF || {{YES}}
 
|-
 
|-
| Non-Volatile Record (NVR) 5 || 256 || 0x00080500 - 0x000805FF
+
| Non-Volatile Record (NVR) 5 || 256 || 0x00080500 - 0x000805FF || {{YES}}
 
|-
 
|-
| Non-Volatile Record (NVR) 6 || 256 || 0x00080600 - 0x000806FF
+
| Non-Volatile Record (NVR) 6 || 256 || 0x00080600 - 0x000806FF || {{YES}}
 
|-
 
|-
| Non-Volatile Record (NVR) 7 <br> (Manufacturing Test) || 256 || 0x00080700 - 0x000807FF
+
| Non-Volatile Record (NVR) 7 <br> (Manufacturing Test) || 256 || 0x00080700 - 0x000807FF || {{YES}}
 
|}
 
|}
   
  +
== ROM Bootloader ==
'''NOTE:''' J-Link supports the Code Flash , Data Flash, as well as NVR4 - NVR7.
 
  +
The RSL15 comes with a bootloader in ROM. More information on ROM bootloaders in general can be found here: [[ROM Bootloader | ROM Bootloader]].<br>
  +
For a documentation of the RSL15 boot sequence, refer to the [https://www.onsemi.com/products/wireless-connectivity/wireless-rf-transceivers/rsl15 RSL15 documentation]. <br>
  +
  +
When working with the RSL15, the following must be considered in regard to its ROM bootloader:<br>
  +
* Different boot modes aka. boot configurations are supported.
  +
**''BOOT_FLASH_XTAL_DISABLE'': The CM33 executes code from the flash and the XTAL will not be started at boot
  +
*** This is the factory default for virgin RSL15 chips.
  +
**''BOOT_CUSTOM'': The CM33 executes code from the address specified in the wakeup information in retention RAM and the XTAL will not be started at boot
  +
**''BOOT_FLASH_XTAL_DEFAULT_TRIM'': The CM33 executes code from the flash and the XTAL will be started at boot with the default trim
  +
**''BOOT_FLASH_XTAL_CUSTOM_TRIM'': The CM33 executes code from the flash and the XTAL will be started at boot with trim from ACS_WAKEUP_GP_DATA
  +
**As of '''V7.82''' of the J-Link software, '''only the ''BOOT_FLASH_XTAL_DISABLE'' boot configuration is supported by J-Link'''.
  +
<br>
  +
* The ROM BTL checks for a valid application in flash before jumping to any user code:
  +
** The application’s vector table must be aligned to a 512-byte boundary in memory, for a device with the number of external interrupts that are included in the RSL15 SoC.
  +
** The initial stack pointer must point to a valid memory location on the system bus. This requires that the specified stack pointer is 32-bit aligned, and that the next address stack data will be placed at is in DRAM or BB_DRAM.
  +
** The reset handler must be located immediately after the vector table (or after a CRC located after the vector table). This check is performed indirectly by confirming that the reset vector points to a location that:
  +
*** Provides space for at least the minimum number of entries in the vector table (a minimum valid vector table contains 4 entries: the stack pointer, reset vector, NMI handler, and hard fault handler)
  +
*** Provides space for no more than the stack pointer, the 88 potential vectors, and a CRC (maximum of 90 words between the base of the application and the reset vector’s location)
  +
  +
If the user application loaded into flash does not fulfill the above requirements, the ROM BTL will deem it invalid and it will not jump to the application.<br>
  +
The [[#Example_Application | example project mentioned below]] may be used as a reference for a working valid application for the RSL15.
   
 
==Evaluation Boards==
 
==Evaluation Boards==
TBD
 
== Example Application==
 
The following example project was created with the SEGGER Embedded Studio project wizard and runs out-of-the-box on the ON Semiconductor RSL10 SiP EVB V1.2. It is a simple Hello World sample linked into the internal flash.
 
   
  +
* ONSemi RSL15-EVB: https://wiki.segger.com/ONSemi_RSL15-EVB
'''SETUP:'''
 
  +
*J-Link software: V7.23b
 
  +
== Example Application==
*Embedded Studio: V5.42
 
  +
* ONSemi RSL15-EVB: https://wiki.segger.com/ONSemi_RSL15-EVB#Example_Project
*Hardware: ON Semiconductor RSL15 EVB V1.1
 
*Link: [[File:ONSemi_RSL15_TestProject_ES_V542.zip]]
 

Latest revision as of 17:01, 22 September 2022

RSL15 is a highly integrated secure Arm Cortex-M33-based Bluetooth Low Energy 5.2 wireless MCU system-on-a-chip, with flash and RAM, built-in power management, and an extensive set of peripherals.

Debug Support

J-Link supports debugging and programming of the following memory regions.

On-Chip Memory Regions for RSL15-512

The internal flash is divided into 6 different regions:

Instance Name Size (bytes) Memory region Supported
by J-Link
Code Flash 360448 0x00100000 - 0x00157FFF YES.png
Data Flash 163840 0x00158000 - 0x0017FFFF YES.png
Non-Volatile Record (NVR) 4 256 0x00080400 - 0x000804FF YES.png
Non-Volatile Record (NVR) 5 256 0x00080500 - 0x000805FF YES.png
Non-Volatile Record (NVR) 6 256 0x00080600 - 0x000806FF YES.png
Non-Volatile Record (NVR) 7
(Manufacturing Test)
256 0x00080700 - 0x000807FF YES.png

On-Chip Memory Regions for RSL15-284

The internal flash is divided into 6 different regions:

Instance Name Size (bytes) Memory region Supported
by J-Link
Code Flash 270336 0x00100000 - 0x00141FFF YES.png
Data Flash 20480 0x00158000 - 0x0015CFFF YES.png
Non-Volatile Record (NVR) 4 256 0x00080400 - 0x000804FF YES.png
Non-Volatile Record (NVR) 5 256 0x00080500 - 0x000805FF YES.png
Non-Volatile Record (NVR) 6 256 0x00080600 - 0x000806FF YES.png
Non-Volatile Record (NVR) 7
(Manufacturing Test)
256 0x00080700 - 0x000807FF YES.png

ROM Bootloader

The RSL15 comes with a bootloader in ROM. More information on ROM bootloaders in general can be found here: ROM Bootloader.
For a documentation of the RSL15 boot sequence, refer to the RSL15 documentation.

When working with the RSL15, the following must be considered in regard to its ROM bootloader:

  • Different boot modes aka. boot configurations are supported.
    • BOOT_FLASH_XTAL_DISABLE: The CM33 executes code from the flash and the XTAL will not be started at boot
      • This is the factory default for virgin RSL15 chips.
    • BOOT_CUSTOM: The CM33 executes code from the address specified in the wakeup information in retention RAM and the XTAL will not be started at boot
    • BOOT_FLASH_XTAL_DEFAULT_TRIM: The CM33 executes code from the flash and the XTAL will be started at boot with the default trim
    • BOOT_FLASH_XTAL_CUSTOM_TRIM: The CM33 executes code from the flash and the XTAL will be started at boot with trim from ACS_WAKEUP_GP_DATA
    • As of V7.82 of the J-Link software, only the BOOT_FLASH_XTAL_DISABLE boot configuration is supported by J-Link.


  • The ROM BTL checks for a valid application in flash before jumping to any user code:
    • The application’s vector table must be aligned to a 512-byte boundary in memory, for a device with the number of external interrupts that are included in the RSL15 SoC.
    • The initial stack pointer must point to a valid memory location on the system bus. This requires that the specified stack pointer is 32-bit aligned, and that the next address stack data will be placed at is in DRAM or BB_DRAM.
    • The reset handler must be located immediately after the vector table (or after a CRC located after the vector table). This check is performed indirectly by confirming that the reset vector points to a location that:
      • Provides space for at least the minimum number of entries in the vector table (a minimum valid vector table contains 4 entries: the stack pointer, reset vector, NMI handler, and hard fault handler)
      • Provides space for no more than the stack pointer, the 88 potential vectors, and a CRC (maximum of 90 words between the base of the application and the reset vector’s location)

If the user application loaded into flash does not fulfill the above requirements, the ROM BTL will deem it invalid and it will not jump to the application.
The example project mentioned below may be used as a reference for a working valid application for the RSL15.

Evaluation Boards

Example Application