Open hiltay opened 11 months ago
Hi @hiltay the F429 is generally a very well supported chip on micropython, I've used it a number of times myself.
However I don't believe anyone has ever written a driver to use the nand flash interface at all before, so one would need to be written to use this flash chip.
The FMC port is used in the SDRAM driver in https://github.com/micropython/micropython/blob/master/ports/stm32/sdram.c That would be a good starting point to use as reference for a nand driver, though I presume a fair number of register settings would need to change to put it in nand mode. Once that was written I presume the flash would be exposed at a memory address range, at this point it would be fairly easy to map that into a VFS block device that could be mounted and formatted.
Hi @hiltay the F429 is generally a very well supported chip on micropython, I've used it a number of times myself.
However I don't believe anyone has ever written a driver to use the nand flash interface at all before, so one would need to be written to use this flash chip.
The FMC port is used in the SDRAM driver in https://github.com/micropython/micropython/blob/master/ports/stm32/sdram.c That would be a good starting point to use as reference for a nand driver, though I presume a fair number of register settings would need to change to put it in nand mode. Once that was written I presume the flash would be exposed at a memory address range, at this point it would be fairly easy to map that into a VFS block device that could be mounted and formatted.
Thanks for reply! I attempted to write a driver for the NAND flash, but due to my limited expertise it did not work well. Now I'm using an another SD card for storage.
I'm in the process of porting MicroPython to STM32F429IGT6. I've modified the
mpconfigboard.h
file and successfully run the code. However, the default FLASH space is quite small, and I need to expand it. After checking the schematic, I found a 512MB NAND FLASH. I want to mount it as ansd
card so that when I connect a USB device, my computer can recognize it, allowing me to store Python code inside. This NAND FLASH uses FMC pins rather than SPI. Now I'm unsure about how to mount it.Should I modify the mpconfigboard.h file? Or modify the source code? Or access it within the MicroPython program and then mount it externally using
os.mount
?The following is some information maybe useful.
NAND FLASH schematic:
my
mpconfigboard.h
:core board: