Please don’t remove Automatic interrupt vector entry generation feature because RX SmartConfigurator strongly depends on it and there is an easy workaround
Please don’t remove Automatic interrupt vector entry generation feature because RX SmartConfigurator strongly depends on it and there is an easy workaround
Hello support team,
I found the following statements in the Release Notes of the GCC 8.3.0.202204-GNURX. Please don’t remove the feature because the RX SmartConfigurator strongly depends on it and there is an easy workaround.
3. [Deprecation] Automatic interrupt vector entry generation
Declaring interrupt handlers with a numeric argument resulted in the compiler creating additional symbols, which could be referenced in the linker script to initialize the interrupt vector.
This feature is being deprecated and removed in a future release, since the current implementation does not work when paired with the -gc-section command line option.
WORKAROUND:
Add the following KEEP() statements. (Recently I noticed that Azure RTOS Kernel source code needs little modification of `gnu/src/tx_thread_schedule.S` files to work with the combination of the feature and the -gc-section option. Therefore, unfortunately the following workaround doesn’t support Azure RTOS Kernel as of today.)
src/linker_script.ld
.text 0xFFC00000: AT(0xFFC00000) <– This line is an example.
{
*(.text)
KEEP(*(.text.*_isr)) /* for FIT */
KEEP(*(.text.*_interrupt)) /* for CG */
KEEP(*(.text.*Interrupt)) /* for CG Motor Component */
KEEP(*(.text.*ISR)) /* for FreeRTOS Kernel and Demos */
*(.text.*)
*(P)
etext = .;
} > ROM
Best regards,
NoMaY
Hello support team,
I have posted the following issue to the Renesas Rulz.
Is there any migration plan of FIT and RX SmartConfigurator due to future deprecation of GNURX’s Automatic interrupt vector entry generation feature?
https://community.renesas.com/mcu-mpu/rx/f/rx-forum/29337/is-there-any-migration-plan-of-fit-and-rx-smartconfigurator-due-to-future-deprecation-of-gnurx-s-automatic-interrupt-vector-entry-generation-feature
Best regards,
NoMaY
Hello NoMaY-san,
Thank you for your feedback, we really appreciate it.
We will reconsider the deprecation of the feature and possibly come up with a better solution for this issue.
__
Best regards,
The Open Source Tools Team
Hello support team,
Thank you for reconsidering the deprecation.
I agree that we need a solution more than a workaround. I’m getting an idea (perhaps) more than a workaround. I’m posting the idea to Renesas Rulz Japanese Forum one by one but I’m sorry that it is Japanese language as of today. Please don’t worry about my consideration because I understand that it is just one of ideas for solving the problem which is caused by the combination of the feature and the -gc-section option.
Best regards,
NoMaY
Hello support team,
I have posted my idea to the Renesas Rulz English Forum.
reply – Is there any migration plan of FIT and RX SmartConfigurator due to future deprecation of GNURX’s Automatic interrupt vector entry generation feature?
https://community.renesas.com/mcu-mpu/rx/f/rx-forum/29337/is-there-any-migration-plan-of-fit-and-rx-smartconfigurator-due-to-future-deprecation-of-gnurx-s-automatic-interrupt-vector-entry-generation-feature/100827#100827
Best regards,
NoMaY
Hello support team,
Are there any new topics? The following thread was closed with the status of `Verified Answer`.
Is there any migration plan of FIT and RX SmartConfigurator due to future deprecation of GNURX’s Automatic interrupt vector entry generation feature?
https://community.renesas.com/mcu-mpu/rx/f/rx-forum/29337/is-there-any-migration-plan-of-fit-and-rx-smartconfigurator-due-to-future-deprecation-of-gnurx-s-automatic-interrupt-vector-entry-generation-feature
Best regards,
NoMaY
Hello support team,
Thank you for the un-deprecation and better solution.
https://llvm-gcc-renesas.com/release-notes/rx/latest/8.3.0.202305/release_notes.pdf#page=2
https://llvm-gcc-renesas.com/wiki/index.php?title=RX_automatic_interrupt_vector_entry_usage
Do you talk with Renesas about the solution? (I made a post about your solution on the Renesas Rulz Japanese Forum:
https://community-ja.renesas.com/cafe_rene/forums-groups/mcu-mpu/rx/f/forum5/5079/cc-rx-gnurx-c99-_pragma-fit/49382#49382)
Best regards,
NoMaY
Hello support team,
I have implemented the new workaround into my examples of RX SmartConfigurator as below. My next step is to post an issue to the repository of Renesas RX driver package.
https://github.com/NoMaY-jp/RX_SmartConfigurator_examples_RXTB_GNURX/blob/751f319/30_UART_Printf/tb_rx671/src/linker_weakdef_rvectors.S
https://github.com/NoMaY-jp/RX_SmartConfigurator_examples_RXTB_GNURX/blob/751f319/30_UART_Printf/tb_rx671/src/linker_script.ld#L19-L35
https://github.com/NoMaY-jp/RX_SmartConfigurator_examples_RXTB_GNURX/blob/751f319/30_UART_Printf/tb_rx671/CMakeLists.txt#L50
—-
https://github.com/renesas/rx-driver-package/issues
Best regards,
NoMaY