cancel
Showing results for 
Search instead for 
Did you mean: 

fmc_nor flash is able to working in non memory mapped or memory mapped

jr_engr_mbed
Senior

basically, qspi is know to operate in memory mapped mode. where,fmc_nor flash used to operate in what?

is the nand flash is only operates on non memoey mapped mode, where memory needs some driver to access .

please, clear this doubt

best regards,

jr_mbed_engr

 

1 ACCEPTED SOLUTION

Accepted Solutions
SofLit
ST Employee

FMC NOR Flash is by default accessed in memory mapped mode as you can access to any location without any extra command and no need for any extra configuration.

To give better visibility on the answered topics, please click on "Accept as Solution" on the reply which solved your issue or answered your question.

View solution in original post

8 REPLIES 8
SofLit
ST Employee

FMC NOR Flash is by default accessed in memory mapped mode as you can access to any location without any extra command and no need for any extra configuration.

To give better visibility on the answered topics, please click on "Accept as Solution" on the reply which solved your issue or answered your question.

Hi,

I came across the suggested TouchGFX links , but the examples provided are based on using QSPI for read, write, and erase operations. In my case, I've been testing my FMC NOR flash without implementing those steps. I've successfully performed read, write, and erase operations in my testing sections using FMC NOR flash.

Now, assuming my FMC NOR flash works, the next step is to implement this functionality into my TouchGFX application. I would need to assign the image data to the linker’s assigned address (0x60000000) for the NOR flash.

Can you confirm if this is the correct step-by-step process to get a full frame displayed on my screen? I also assume that the external loader would help transfer the data. Is that correct?

First, your first question is not related to TouchGFX specifically but it's a generic question. I will move it to MCU product forum. I suggest you to close this thread.

Second, I'm not a TouchGFX expert but you need to replace QSPI configuration by your FMC NOR config. Your linker file needs to be inline with your NOR start address and its size. If I didn't answer your last question I suggest you to open a new thread in TouchGFX forum.

 

To give better visibility on the answered topics, please click on "Accept as Solution" on the reply which solved your issue or answered your question.

Yes, I still have one question. Even though I didn't use the specifically mem-mapped mode section of the code, which seems to be required in the QSPI configuration, it uses a driver file (.c&.h) for that flash IC. But for parallel flash, it doesn’t need a specific driver, That's the difference between the two. By accessing the memory directly in FMC_NOR flash, it is still considered to be working in memory-mapped mode only, correct?

You need to configure your FMC NOR elsewhere before calling TouchGFX task (at the beginning of your main). CubeMx will do it for you.

Again a NOR Flash memory connected via FMC is by construction seen as memory mapped mode.

So you need to configure your FMC memory and that's it.

Hope I understood your question and answered it.

To give better visibility on the answered topics, please click on "Accept as Solution" on the reply which solved your issue or answered your question.

You're very welcome! It's great to making progress with understanding FMC NOR configuration.
From my understanding so far, I have configured FMC_NOR in the main() function before initializing TouchGFX. I have also allocated space in the linker file, and the images are placed in the EXT_FLASH (rw) section. external loader selected before debug...However, I'm wondering about the pre-assigned data for txbuffer, which is currently set to 0xD20F. Will this automatically be replaced by image data in the memory browser, or do I need to explicitly provide the image buffer here? how to do?

Screenshot (1369).png

Screenshot (1370).png

  

Didn't understand what you want to do.

The philosophy:

The image is already pre-loaded in the Flash NOR at the programming stage of your application (using the Flash loader you developed). The image needs to be located in the Flash NOR.

When your application starts, at the beginning of your main, your application configures FMC interface for your Flash NOR access. So it will be ready before TouchGFX to start.

When TouchGFX starts, it will fetch the image data from the flash NOR (already ready).

 

 

 

To give better visibility on the answered topics, please click on "Accept as Solution" on the reply which solved your issue or answered your question.

Thank you! I understand now, and this explanation will definitely be helpful for others in a simple way.