Boot Mode (SCI), User Boot Mode

I refer to User Hardware Manual for RX66T:

 

1. It says that in Boot Mode (SCI Interface), "the on-chip flash memory writing program (boot program) stored in a dedicated area of the MCU operates"

 - What/where is the dedicated area in the address space?

 - Is it a special ROM area which is pre-programmed in factory?

 - Can it be re-programmed, or erased in anyway?

 

2. In User Boot Mode, it says "an on-chip flash memory modifying program (user boot program) created by user operates"

 - Is the "user boot program", the usual "boot-loader"? But I've seen in most cases that the bootloader (written by user) is located at the program ROM (FFF0 0000h - FFFF FFFFh)

  • 3. In User Boot Mode, where is the reset vector fetched from?
  • In reply to osmonn:

    4. I also note that RX65N does not have User Boot Mode. So what is the purpose of RX66T having User Boot Mode?
  • In reply to osmonn:

    No takers?
  • In reply to osmonn:

    The Boot Modes detailed in section 3.1 ( Boot Mode SCI, Boot Mode USB, User Boot ) are modes of operation provided for programming a blank device. The RX typically provides 2 methods, which are SCI (UART) and USB. However, there are situations where a user may wish to program their device via I2C, SPI etc. In this case the user can develop their own User Boot code to achieve this.
    These Boot Modes are separate to a User Application Boot Loader, what you refer to as a usual boot loader where the application can, based upon user interaction, reprogram itself.
    When any of the Boot Modes are used (selected by MD pin, UB pin, UB code on Reset) the chosen boot mode is mapped internally the standard address area, so the User Boot application would be effectively be executing from 0xFFFFFFFF.
    Hope this helps
    Regards,
    Richard
  • In reply to Richard:

    Dear Richard,

    >> In this case the user can develop their own User Boot code to achieve this.

    1. How in the first place, can this User Boot code be flashed into the MCU?

     

    >> These Boot Modes are separate to a User Application Boot Loader...based upon user interaction, reprogram itself.

    2. Besides this, what are the functional differences, between User Boot and User Application Boot Loader?

     

    >> When any of the Boot Modes are used (selected by MD pin, UB pin, UB code on Reset) the chosen boot mode is mapped internally the standard address area,

    3. Sorry I don't quite understand this

     

    >> User Boot application would be effectively be executing from 0xFFFFFFFF

    4. Is it 0xFFFFFFFC? I know in Single-Chip mode, the reset vector is fetched from this location

     

    5. The Boot Mode SCI, Boot Mode USB, where are they stored? Are they factory programmed?

     

    6. Programming by E1 emulator, which mode is it?

     

  • In reply to osmonn:

    Hello Osmoon,

    >> My answers...

     

    1. How in the first place, can this User Boot code be flashed into the MCU?

    >> You can use RFP (Renesas Flash Programmer) to do this:

    https://www.renesas.com/us/en/products/software-tools/tools/programmer/renesas-flash-programmer-programming-gui.html

     

    2. Besides this, what are the functional differences, between User Boot and User Application Boot Loader?

    3. Sorry I don't quite understand this

     

    >> The RX66T supports 4 modes of operation.

    Single Chip Mode

    - Your user application will run

    Boot Mode

    - SCI Boot - Program device flash via SCI (UART)

    - USB Boot - Program device flash via the USB

    - User Boot - Program the device flash by another way, as specified in you User Boot application

    The mode of operation is selected when the device comes out of reset.  As part to the reset sequence, the MD pin, UB pin and UB codes are sampled and depending on their values, the mode of operation is selected.

    A "User Application Boot Loader" is part of the single chip application.  It is part of your application that is capable of re-programming itself.  It is completely separate to the Boot Modes detailed above.

     

    4. Is it 0xFFFFFFFC? I know in Single-Chip mode, the reset vector is fetched from this location

    >> The user boot area is located from 0xFF7FFFFF - 0xFF7F8000 (refer to section 44.3 of the Hardware User's Manual)  I will have to verify this, but it is my understanding that the User Boot Area reset vector will be 0xFF7FFFFC.

     

    5. The Boot Mode SCI, Boot Mode USB, where are they stored? Are they factory programmed?

    >> Yes they are factory programmed. They are not accessible by the user.

     

    6. Programming by E1 emulator, which mode is it?

    >> When using the E1 to debug, the application is programmed via a JTAG interface, or the FINE interface, depending on the interface you have selected.

    You can also use the E1 with RFP and is can program the device via the SCI boot mode.

     

    Regards,

    Richard

  • In reply to Richard:

    Dear Richard,

    Thanks, it is clearer to me now

    Just a couple of remaining questions:

    1. For e2studio/E1 hardware debugging (including downloading code to device), available connection types are JTAG and FINE

    Q1.1 The JTAG way of flashing the device, is none of the Boot Modes, am I right? It works in Single-chip Mode?

    Q1.2 The FINE way of flashing the device, is actually using Boot Mode (FINE)?

     

    2. For RFP/E1 flashing, is Boot Mode (SCI) the only mode?

  • In reply to osmonn:

    Hello Osmonn,

    This table (taken from E1/E20/E2 Emulator, E2 Emulator Lite, Additional Document for User’s Manual, (Notes on Connection of RX Devices) : R20UT0399EJ1300 Rev.13.00) details the functionality of each interface on each RX device. You can see that the RX66T, the FINE interface can be used fro Debug and Programming.

    You may wish to download this document for your reference. It can be found following this link:

    https://www.renesas.com/eu/en/products/software-tools/tools/emulator/e2.html#documents

     

    To answer your questions:


    Q1.1 The JTAG way of flashing the device, is none of the Boot Modes, am I right? It works in Single-chip Mode?

    >> The JTAG I/F cannot be used to program the device.  It will program the memory as part of a debug session, but you cannot use JTAG via one of the Boot Modes to program the device.

    Q1.2 The FINE way of flashing the device, is actually using Boot Mode (FINE)?

    >> The FINE interface can be used for both, for debugging and programming via Boot Mode (Fine interface)

     

    2. For RFP/E1 flashing, is Boot Mode (SCI) the only mode?

    >> If you wish to use RFP with the E1, I would think that SCI and FINE boot modes would be supported.

    And remember that you can use RFP in direct mode, via a USB interface and program via USB Boot

     

    Regards,

    Richard