2 project codes to be placed in the same RL78G23

hello sir,

I have 2 project codes to be placed in the same RL78G23, how to implement the following configuration
1. Can I simultaneously load in debug mode?
2. How do I jump from project 1 to project 2?

3. How to define the section of project 2?

Thanks and Regards,

  • 1.  You can load symbols from both projects, but if there are duplicate names the latest loaded project will apply.  The method differs between CS+ and e2studio, which are you using (or are you using IAR Embedded Workbench)?

    2.  Function call or branch can  be done, either from C or asm, usually to a known, fixed entry point of each project.

    3.  Depending on how you structure your projects, it might be easier to have separate / independent projects so that RAM can be easily be allocated to both projects.

    It appears that you don't intend to have a boot-loader to handle which project is active, or for programming the flash memory.  This device does not support the so-called dual-operation that would allow programming one bank of code-flash while executing from the other, and also does not support relocation of the vector ISRs.  As such some strategy / customization is required to manage these things.

    You might to have a look at the app-note and associated sample code for the FW Update (r01an6374), it may not be what you are wanting it will give you some ideas.

  • Hello Jim B.

    I use e2 studio
    I jumped from project 1 to project 2, but the vector is still from project 1,
    Because the vector is placed after 0~7F instead of 80000,
    How should I get the vector content of project 2? And how to write it after jumping to project 2?
    I'm not sure if this will work correctly on the RL78G23 project 2

    I tried to use the flash swap function and set the application area after 0x4000, but when executing r_RequestBootSwap, an ENUM_RET_ERR_WRITE error will be returned,
    Do you know the reason?

    Thanks and Regards,

  • Hello,

    The vector table is only one and resides in start of boot cluster 0 or 1 ( so 0x0000_0000 or 0x0000_4000 ).

    As mentioned there is one dual bank operation, so you may need to re-consider that architecture of your application.

Reply Children
No Data