AnsweredAssumed Answered

i.MX-RT mapping of functions in RAM (ITCM)

Question asked by Andrea Botarelli on Sep 18, 2018
Latest reply on Sep 27, 2018 by Takashi Kashiwagi



I am currently developing on IMXRT1050-EVKB, starting from HyperFlash XIP example from SDK.


My purpose is to have part of the program executed from flash and some time-critical functions executed from RAM (i.e. ITCM section).


I just managed to do that by using __attribute__ ((section("..."))) keyword on the target functions. 


I have the following questions:


1)  Is it correct to use the __attribute keyword for this purpose or are there better alternatives?


2) Once the image is stored on flash, how the RAM-mapped code is actually loaded in RAM? (i.e. Is there a configuration section managed by boot or a low-level operation executed during application startup?)


3) In case we want map ISR in RAM, is it advisable to map in RAM also other code sections (e.g. IRQ vectors) in order to avoid lack of performances associated to transition from flash XIP to RAM execution?


Thanks in advance