zoukankan      html  css  js  c++  java
  • littleFS在RT1052移植笔记

    环境:rt1052单片机+16G tf

    为什么使用littleFS?

    1. NXP官方SDK支持!
    2. 先进的损耗平衡功能(wear leveling)可提供最长的快闪及内存寿命及最大的使用量因为FALSH的擦除/写次数有限制,通常是10万次
    3. RAMFLASH用的少,也就是内存和代码和精简。
      4. 掉电保护,设备突然断电,文件系统不会损坏。
      对比FATFS, fatfs使用固定的块做文件系统管理,多次读写后,整个系统就坏了,但是其他块其实没用多少次

      本人并不建议大家在flash上使用fatfs !

      移植使用

        1. lfs四个源文件和刚刚创建的两个文件添加到工程,直接编译。
          测试lfs源码是否能编译通过。
        2. 修改动态内存最大长度,  #define Heap_Size,   因为要是有标准函数malloc,见源码函数:static inline void *lfs_malloc(size_t size)

        3. 添加实际的驱动函数到结构体变量lfs_config

          struct lfs_config lfs_cfg= {

              // block device operations

              .read  = lfs_TFCard_read,

          .prog  = lfs_TFCard_prog,

              .erase = lfs_TFCard_erase,

              .sync  = lfs_TFCard_sync,

          // block device configuration

              .read_size = LFS_READ_SIZE,

              .prog_size = LFS_PREG_SIZE,

              .block_size = LFS_BLOCK_SIZE,  block_count = LFS_BLOCK_COUNT,.lookahead = LFS_LOOKAHEAD,};

        4. 初始化:

          sd_card_t *card = &g_sd;

          /* 初始化SD外设时钟 */

          BOARD_USDHCClockConfiguration();

          card->host.base = SD_HOST_BASEADDR;

        5. card->host.sourceClock_Hz = SD_HOST_CLK_FREQ;

           /* SD主机初始化函数 */

              if (SD_HostInit(card) != kStatus_Success)

              {

                  PRINTF(" SD主机初始化失败 ");

                  return -1;

              } 

        6. /* 初始化SD*/

          if (SD_CardInit(card))

          {

          PRINTF(" SD初始化失败 ");

          return -1;

          }

          5.挂载测试

           err = lfs_mount(lfs, &lfs_cfg);  //挂载

          6.文件操作

          err = lfs_file_open(lfs, &g_lfs_file, "update.bin", LFS_O_RDWR);

          //打开bin文件,LFS_O_RDWR,读写方式

        7. 其他功能后续补充,本次就到这里,做个记录。

  • 相关阅读:
    luogu P3168 [CQOI2015]任务查询系统
    luogu P2633 Count on a tree
    c++小游戏:洛谷彩票
    UVA514 铁轨 Rails:题解
    SP1805 HISTOGRA
    洛谷 P4363 [九省联考2018]一双木棋chess 题解
    比赛:大奔的方案solution
    【CYH-02】NOIp考砸后虐题赛:数学:题解
    【CYH-02】NOIp考砸后虐题赛:坐标:题解
    【CYH-02】NOIp考砸后虐题赛:转换式:题解
  • 原文地址:https://www.cnblogs.com/zhihui-3669/p/10933129.html
Copyright © 2011-2022 走看看