/nrf52832-nimble/rt-thread/components/drivers/spi/sfud/src/ |
H A D | sfud.c | 2 * This file is part of the Serial Flash Universal Driver Library. 25 * Function: serial flash operate functions by SFUD lib. 36 #error "Please configure the flash device information table in (in sfud_cfg.h)." 39 /* user configured flash device information table */ 45 /* supported flash chip information table */ 51 * flash read data mode 61 /* QSPI flash chip's extended information table */ 65 static sfud_err software_init(const sfud_flash *flash); 66 static sfud_err hardware_init(sfud_flash *flash); 67 static sfud_err page256_or_1_byte_write(const sfud_flash *flash, uint32_t addr, size_t size, uint16… [all …]
|
H A D | sfud_sfdp.c | 2 * This file is part of the Serial Flash Universal Driver Library. 25 …* Function: Analyze the SFDP (Serial Flash Discoverable Parameters) which from JESD216/A/B (V1.X) … 41 …* of a flash memory device. Different areas within the address range of the data array may have a … 49 /* the JEDEC basic flash parameter table length is 9 DWORDs (288-bit) on JESD216 (V1.0) initial rel… 64 static sfud_err read_sfdp_data(const sfud_flash *flash, uint32_t addr, uint8_t *read_buf, size_t si… 65 static bool read_sfdp_header(sfud_flash *flash); 66 static bool read_basic_header(const sfud_flash *flash, sfdp_para_header *basic_header); 67 static bool read_basic_table(sfud_flash *flash, sfdp_para_header *basic_header); 76 * @param flash flash device 80 bool sfud_read_sfdp(sfud_flash *flash) { in sfud_read_sfdp() argument [all …]
|
/nrf52832-nimble/rt-thread/components/drivers/spi/sfud/ |
H A D | README.md | 1 # SFUD (Serial Flash Universal Driver) 串行 Flash 通用驱动库 7 … Flash 通用驱动库。由于现有市面的串行 Flash 种类居多,各个 Flash 的规格及命令存在差异, SFUD 就是为了解决这些 Flash 的差异现状而设计,让我们的产品能够支持不同品牌… 9 - 主要特点:支持 SPI/QSPI 接口、面向对象(同时支持多个 Flash 对象)、可灵活裁剪、扩展性强、支持 4 字节地址 14 …Flash 功能的参数表标准,最新版 V1.6B ([点击这里查看](https://www.jedec.org/standards-documents/docs/jesd216b))。该标准规定… 15 …Flash 不支持 SFDP 标准,SFUD 会查询配置文件 ( [`/sfud/inc/sfud_flash_def.h`](https://github.com/armink/SFUD/blo… 19 - 避免项目因 Flash 缺货、Flash 停产或产品扩容而带来的风险; 20 - 越来越多的项目将固件存储到串行 Flash 中,例如:ESP8266 的固件、主板中的 BIOS 及其他常见电子产品中的固件等等,但是各种 Flash 规格及命令不统一。使用 SFUD 即可避免… 21 - 简化软件流程,降低开发难度。现在只需要配置好 SPI 通信,即可畅快的开始玩串行 Flash 了; 22 - 可以用来制作 Flash 编程器/烧写器 26 ### 2.1 已支持 Flash [all …]
|
/nrf52832-nimble/rt-thread/components/drivers/spi/sfud/inc/ |
H A D | sfud.h | 2 * This file is part of the Serial Flash Universal Driver Library. 47 * SFUD initialize by flash device 49 * @param flash flash device 53 sfud_err sfud_device_init(sfud_flash *flash); 56 * get flash device by its index which in the flash information table 58 * @param index the index which in the flash information table @see flash_table 60 * @return flash device 65 * get flash device total number on flash device information table @see flash_table 67 * @return flash device total number 72 * get flash device information table @see flash_table [all …]
|
H A D | sfud_flash_def.h | 2 * This file is part of the Serial Flash Universal Driver Library. 25 * Function: It is the flash types and specification macro definition head file for this library. 40 * flash program(write) data mode 55 /* flash chip information */ 57 char *name; /**< flash chip name */ 61 uint32_t capacity; /**< flash capacity (bytes) */ 68 /* QSPI flash chip's extended information compared with SPI flash */ 73 uint8_t read_mode; /**< supported read mode on this qspi flash chip */ 117 /* SFUD supported flash chip information table. If the flash not support JEDEC JESD216 standard, 118 …* then the SFUD will find the flash chip information by this table. You can add other flash to her… [all …]
|
H A D | sfud_def.h | 2 * This file is part of the Serial Flash Universal Driver Library. 199 SFUD_ERR_ADDR_OUT_OF_BOUND = 5, /**< address is out of flash bound */ 204 * QSPI flash read cmd format 222 * the SFDP (Serial Flash Discoverable Parameters) parameter info which used on this library 235 uint32_t capacity; /**< flash capacity (bytes) */ 267 * serial flash device 270 char *name; /**< serial flash name */ 271 …size_t index; /**< index of flash device information table @see fl… 272 sfud_flash_chip chip; /**< flash chip information */ 275 bool addr_in_4_byte; /**< flash is in 4-Byte addressing */ [all …]
|
H A D | sfud_cfg.h | 2 * This file is part of the Serial Flash Universal Driver Library. 42 * Using probe flash JEDEC SFDP parameter. 56 …* Using probe flash JEDEC ID then query defined supported flash chip information table. @see SFUD_…
|
/nrf52832-nimble/rt-thread/components/dfs/filesystems/uffs/src/inc/uffs/ |
H A D | uffs_flash.h | 2 This file is part of UFFS, the Ultra-low-cost Flash File System. 35 * \brief flash interface for UFFS 55 #define UFFS_ECC_HW 2 //!< Flash driver(or by hardware) calculate the ECC 63 #define UFFS_LAYOUT_FLASH 1 //!< flash driver do the layout 67 /** flash operation return code */ 118 * \brief low level flash operations, should be implement in flash driver 122 * Initilize flash driver, called once when UFFS initilize partition 131 * Release flash driver, called once when UFFS unmount partition 143 * if ecc_opt is UFFS_ECC_HW, flash driver must calculate and return ecc of data(if ecc != NULL). 144 …* if ecc_opt is UFFS_ECC_HW_AUTO, flash driver do ecc correction before return data and flash dr… [all …]
|
/nrf52832-nimble/rt-thread/components/drivers/spi/ |
H A D | spi_flash_sfud.c | 270 sfud_err sfud_spi_port_init(sfud_flash *flash) { in sfud_spi_port_init() argument 274 flash->spi.wr = spi_write_read; in sfud_spi_port_init() 276 flash->spi.qspi_read = qspi_read; in sfud_spi_port_init() 278 flash->spi.lock = spi_lock; in sfud_spi_port_init() 279 flash->spi.unlock = spi_unlock; in sfud_spi_port_init() 280 flash->spi.user_data = flash; in sfud_spi_port_init() 282 …rt_kprintf("[SFUD] Warning: The OS tick(%d) is less than 1000. So the flash write will take more t… in sfud_spi_port_init() 285 flash->retry.delay = retry_delay_100us; in sfud_spi_port_init() 287 flash->retry.times = 60 * 10000; in sfud_spi_port_init() 305 * Probe SPI flash by SFUD(Serial Flash Universal Driver) driver library and though SPI device. [all …]
|
H A D | spi_flash_sfud.h | 20 * Probe SPI flash by SFUD(Serial Flash Universal Driver) driver library and though SPI device. 22 * @param spi_flash_dev_name the name which will create SPI flash device 25 * @return probed SPI flash device, probe failed will return RT_NULL 30 * Delete SPI flash device 32 * @param spi_flash_dev SPI flash device 39 * Find sfud flash device 43 * @return sfud flash device if success, otherwise return RT_NULL
|
/nrf52832-nimble/rt-thread/components/dfs/filesystems/uffs/ |
H A D | README | 1 UFFS: Ultra-low-cost Flash File System 12 UFFS is a nand flash file system designed for embedded system. 15 * Low cost: e.g. it needs only 41K bytes RAM for 64MB NAND flash (page size 2048). 24 to the last state when lost power on the middle of flash programing. 26 saved on flash. 31 * Support multiple NAND flash class in one system. 32 * Support bare flash hardware, no operating system needed. 38 'block'(the minial erase unit for NAND flash, e.g. 16K ) for a file. 123 UFFS 1.1.0: support NAND flash with large page size (up to 2K). 127 UFFS 1.1.2: bug fixes. add more Flash Class. change Licence from GNU GPLv2 to GNU LGPLv2 [all …]
|
H A D | uffs_config.h | 2 This file is part of UFFS, the Ultra-low-cost Flash File System. 82 * \note spare buffers are used for lower level flash operations, 146 * \note UFFS will write all data directly into flash in 196 * it's not recommended for most NAND flash. 216 * by low level flash driver.
|
/nrf52832-nimble/nordic/nrfx/mdk/ |
H A D | nrf_common.ld | 21 * with other linker script that defines memory regions FLASH and RAM. 76 } > FLASH 81 } > FLASH 87 } > FLASH 162 /* Check if text sections + data exceeds FLASH limit */ 164 CodeFlashUsed = __etext - ORIGIN(FLASH); 166 ASSERT(TotalFlashUsed <= LENGTH(FLASH), "region FLASH overflowed with .data and user data")
|
H A D | nrf52_common.ld | 23 * with other linker script that defines memory regions FLASH and RAM. 78 } > FLASH 83 } > FLASH 89 } > FLASH 164 /* Check if text sections + data exceeds FLASH limit */ 166 CodeFlashUsed = __etext - ORIGIN(FLASH); 168 ASSERT(TotalFlashUsed <= LENGTH(FLASH), "region FLASH overflowed with .data and user data")
|
H A D | nrf51_common.ld | 23 * with other linker script that defines memory regions FLASH and RAM. 78 } > FLASH 83 } > FLASH 89 } > FLASH 164 /* Check if text sections + data exceeds FLASH limit */ 166 CodeFlashUsed = __etext - ORIGIN(FLASH); 168 ASSERT(TotalFlashUsed <= LENGTH(FLASH), "region FLASH overflowed with .data and user data")
|
H A D | nrf91_common.ld | 21 * with other linker script that defines memory regions FLASH and RAM. 76 } > FLASH 83 } > FLASH 90 } > FLASH
|
/nrf52832-nimble/rt-thread/components/drivers/ |
H A D | Kconfig | 90 bool "Using MTD Nor Flash device drivers" 94 bool "Using MTD Nand Flash device drivers" 109 bool "Using MTD Nor Flash device" 113 bool "Using MTD Nand Flash device" 188 bool "Using Serial Flash Universal Driver" 192 bool "Using auto probe flash JEDEC SFDP parameter" 196 bool "Using defined supported flash chip information table"
|
/nrf52832-nimble/nordic/nrfx/hal/ |
H A D | nrf_nvmc.h | 56 * @brief Erase a page in flash. This is required before writing to any 65 * @brief Write a single byte to flash. 77 * @brief Write a 32-bit word to flash. 85 * @brief Write consecutive bytes to flash. 95 * @brief Write consecutive words to flash.
|
H A D | nrf_spu.h | 52 …_Type, EVENTS_FLASHACCERR), ///< A security violation has been detected for the Flash memory space. 200 * @brief Function for configuring non-secure callable flash region. 203 * @param[in] flash_nsc_id Non-secure callable flash region ID. 204 * @param[in] flash_nsc_size Non-secure callable flash region size. 205 * @param[in] region_number Flash region number. 230 * @brief Function for configuring security for a particular flash region. 235 * @param[in] region_id Flash region index. 237 * @param[in] permissions Flash region permissions.
|
/nrf52832-nimble/rt-thread/components/dfs/ |
H A D | Kconfig | 94 … if you use some spi nor flash for fatfs, please set this the erase sector size, for example 4096. 111 bool "Enable ReadOnly file system on flash" 119 bool "Enable UFFS file system: Ultra-low-cost Flash File System" 135 bool "2: Flash driver(or by hardware) calculate the ECC"
|
/nrf52832-nimble/rt-thread/components/dfs/filesystems/uffs/src/example/ |
H A D | CMakeLists.txt | 14 SET(flash_if_SRCS flash-interface-example.c) 16 ADD_EXECUTABLE(flash-if-example ${flash_if_SRCS}) 18 TARGET_LINK_LIBRARIES(flash-if-example emu uffs emu platform)
|
H A D | flash-interface-example.c | 2 This file is part of UFFS, the Ultra-low-cost Flash File System. 33 * \file flash-interface-example.c 34 * \brief example for using flash driver and multiple partitions, with static memory allocator. 56 * Standard NAND flash commands 73 /* impelent the following functions for your NAND flash */ 273 // setup chip I/O address, setup NAND flash controller ... etc. in nand_init_flash() 305 // change these parameters to fit your nand flash specification 344 // setup NAND flash attributes. in setup_flash_storage() 356 dev->attr = &g_my_flash_storage; // NAND flash attributes in my_InitDevice()
|
/nrf52832-nimble/rt-thread/components/dfs/filesystems/uffs/src/uffs/ |
H A D | uffs_flash.c | 2 This file is part of UFFS, the Ultra-low-cost Flash File System. 35 * \brief UFFS flash interface 190 * Initialize UFFS flash interface 221 // init flash driver in uffs_FlashInterfaceInit() 228 …uffs_Perror(UFFS_MSG_SERIOUS, "Flash driver must provide 'WritePage' or 'WritePageWithLayout' func… in uffs_FlashInterfaceInit() 233 …uffs_Perror(UFFS_MSG_SERIOUS, "Flash driver must provide 'ReadPage' or 'ReadPageWithLayout' functi… in uffs_FlashInterfaceInit() 277 "flash driver must provide 'WritePageWithLayout' and 'ReadPageWithLayout' function!"); in uffs_FlashInterfaceInit() 287 uffs_Perror(UFFS_MSG_SERIOUS, "Flash driver MUST implement 'EraseBlock()' function !"); in uffs_FlashInterfaceInit() 306 * Release UFFS flash interface 321 // release flash driver in uffs_FlashInterfaceRelease() [all …]
|
/nrf52832-nimble/rt-thread/components/dfs/filesystems/uffs/src/platform/win32/ |
H A D | uffs_config.h | 2 This file is part of UFFS, the Ultra-low-cost Flash File System. 82 * \note spare buffers are used for lower level flash operations, 141 * \note UFFS will write all data directly into flash in 191 * it's not recommended for most NAND flash. 211 * by low level flash driver.
|
/nrf52832-nimble/rt-thread/components/dfs/filesystems/uffs/src/platform/posix/ |
H A D | uffs_config.h | 2 This file is part of UFFS, the Ultra-low-cost Flash File System. 82 * \note spare buffers are used for lower level flash operations, 146 * \note UFFS will write all data directly into flash in 196 * it's not recommended for most NAND flash. 216 * by low level flash driver.
|