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)
In reply to osmonn:
In reply to 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?
>> My answers...
>> You can use RFP (Renesas Flash Programmer) to do this:
>> The RX66T supports 4 modes of operation.
Single Chip Mode
- Your user application will run
- 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.
>> 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.
>> Yes they are factory programmed. They are not accessible by the user.
>> 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.
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?
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:
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)
>> 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