In the NXP RT1172 MCU's built-in 16MByte SPI Flash environment, using the NXP GUI Guider to generate "Image to C File" data, the screen displays normally using the NXP GUI Guider's image function or by programmatically loading image data into a drawing app.
Furthermore, reading and writing the image data loaded by the drawing app, as shown in the log messages, correctly correspond to the "Image to C File" data. However, when the memory is expanded to 64MBytes, as soon as the 16MByte address space is exceeded, why does the "Image to C File" data not correspond correctly when using the forced addressing write method (.ld) or the direct addressing method (NXP GUI Flash Tool) in the NXP MCUXpresso IDE window?
The following is related information:
NXP MCUXpresso IDE Windows Version: v11.8.0 [Build 1165] [2023-07-26]
NXP GUI Guider Version: GUI-Guider-1.6.1-GA
MCU: NXP RT1172
MCU SDK Version: 2.14.0
Manage Linker Script: evkmimxrt1170_lvgl_guider_cm7_v8_Debug.ld
(Original: Checked, unchecked, and addressing set outside the 16MBytes)
Screen Size: 728x1280
Image Data: PNG file, 720x1280, 24-bit data
Conversion Settings: Bin or C, ARGB8565 or ARGB8888, or CF_TRUE_COLOR or CG_TRUE_COLOR_ALPHA , any setting is fine as long as it displays correctly.
LVGL related settings: #define LV_COLOR_DEPTH 16 (Color depth: 1 (1 byte per pixel), 8 (RGB332), 16 (RGB565), 32 (ARGB8888))
i.MX-RT1170
Unfortunately, there is no example for this however I can guide you. Besides defining a larger flash size on the linker file it is important to consider that the FCB also increases the flash size, this can be updated on the flexspi_nor_config file increasing the flash size only if only that parameter is different between the flash.
If an error rises and it seems unable to erase the flash to return to normal operation, then you will need to enter Serial Download mode so the flash can be erased.
Unfortunately, there are no examples for this.
BR,
Omar
I already know how to disable the automatic .ld mode and switch to manual editing, and I'm already running the process.
However, there seem to be many issues with converting the SPI Flash from 16MBytes to 64MBytes.
First, could you provide any suggestions or information regarding the following:
1. Are there any example programs for expanding the 16MBytes to 64MBytes size for the NXP RT1172/RT1176?
2. If there are errors in the initial SPI Flash environment setup and the void BOARD_ConfigMPU(void) internal configuration, an error interrupt message may appear during the programming process. During this time, even using debug mode, I can't clear the SPI Flash and restore the system to normal operation. Are there any other ways to avoid this problem?
3. Are there any example programs or practical assistance for establishing a 64MBytes SPI Flash environment and building the SPI Flash programming format (boot and program content)?
The following is the expected build. The main stages of the 64MByte SPI Flash project include:
The first stage covers initializing the SPI Flash environment.
The second stage covers configuring the .ld file and void BOARD_ConfigMPU(void) .
The third stage covers how to allocate 64MBytes of memory.
If you are manually editing the linker script then you need to uncheck the "managed linker script" box so the modified values on the .ld are not overwritten.
BR,
Omar