Kiokia TC58CVG2S0HRAIG NAND Flash

    This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

    • Kiokia TC58CVG2S0HRAIG NAND Flash

      I’m mentoring a student from Georgia Tech who is helping develop a biomedical device that uses NAND flash, specifically Toshiba/Kiokia TC58CVG2S0HRAIG, which in the list of Universal drivers supported by Segger. How do I use the Universal driver to write to this device?

      The board is using a Nordic nRF52840 processor, so I downloaded the Nordic Semiconductor nRF52840-DK evaluation software. I managed to get the USB_MSD example to work, but it is using a ram disk by default. How do I modify this project to support the Kiokia NAND flash device? My guess, is I have to write a driver with a specific interface required by FS. I have some examples “SampleNAND_HWLayers” for UNI, QSPI and SPI drivers, but I cannot find which NAND devices are used, so I cannot understand the parameters used in the code when configuring the NAND device. I would like to understand the driver code by referencing the NAND part datasheet.

      Regards
      John
    • Hello John,

      The low-level drivers are called hardware layers in emFile. The type of the hardware layer that has to be implemented depends on how the NAND flash device is interfaced with the MCU. The NAND hardware layers are described in the section "6.3.5.1 NAND hardware layer" of the emFile manual. Two hardware layers are applicable for the type of NAND flash device you are using: FS_NAND_HW_TYPE_QSPI and FS_NAND_HW_TYPE_SPI. If the NAND flash device is interfaced via an quad SPI controller then you will have to use FS_NAND_HW_TYPE_QSPI. FS_NAND_HW_TYPE_SPI has to be used when the data is exchanged via standard SPI.


      Best regards,

      Marius
    • H Marius,

      Thank you for the info. I'm working on the FS_NAND_HW_TYPE_SPI type driver, but it would be helpful if I could learn how your example implementations work by referencing the datasheets of the NAND flash devices used in those examples. The part numbers and or the datasheets to these parts should have been included in the header comments. Even a readme file explaining the setup would have been helpful.

      Regards,
      John
    • Hi Marius,

      Let me give you and example. The example FS_NAND_HW_QSPI_STM32H743_SEGGER_QSPI_Flash_Evaluator.c. Clearly this software runs on your "(Q)SPI Flash Evaluator” board, but what NAND Flash part did they put on one of the adapter board when they tested this software. Does Universal driver look at the Device ID and adapt the command/“message protocol” for each manufacturer?

      Regards,
      John
    • Hi Marius,

      Looking through the NAND Flash examples, why did the developer not use higher level calls for SPI/QSPI, like HAL from ST or the SPI peripheral driver from Nordic, etc. Working at such a low level doesn't help illuminate the functionality required in your NAND drivers.

      Regards,
      John