那曲檬骨新材料有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

貼片SD卡移植FATFS文件系統(SD NAND FLASH)

深圳市雷龍發展有限公司 ? 2023-02-03 16:21 ? 次閱讀

一、前言
手頭有一塊深圳雷龍提供的貼片 CS 創世 SD NAND Flash,掛載個文件系統把玩一下。首先介紹一下使用的貼片 SD 卡,以前使用的都是拔插式的 SD 卡,下面這個樣子:
SD NAND,貼片式TF卡,貼片式SD卡
深圳雷龍提供的CS創世 SD NAND Flash 如下圖:
SD NAND,貼片式TF卡,貼片式SD卡
二、貼片 SD 卡介紹
深圳雷龍提供的 CS 創世 SD NAND 屬于 LGA-8 封裝,標準 SDIO 接口,兼容SPI/SD/eMMC接口,兼容各大MCU平臺,可替代普通TF卡/SD卡,尺寸6x8mm毫米,內置SLC晶圓擦寫壽命10萬次,通過1萬次隨機掉電測試耐高低溫,支持工業級溫度-40°~+85°,機貼手帖都非常方便,速度級別Class10(讀取速度23.5MB/S寫入速度12.3MB/S)標準的SD2.0協議普通的SD卡可直接驅動。
貼片 SD 卡的使用很簡單,管腳的連接方式和普通拔插的 SD 卡一致,所以我們設計硬件時按照普通 SD 的接線方式設計就行,以小熊派開發板為例子,單線 SDIO 硬件接線如下:
SD NAND,貼片式TF卡,貼片式SD卡
我使用小熊派開發板來掛載 FATFS 到雷龍這塊 SD 卡上
三、配置 CubeMX 底層接口
首先使用 CubeMX 配置底層 SD 卡接口,選擇單線模式,分頻設置高一點,其他參數保持默認
SD NAND,貼片式TF卡,貼片式SD卡
配置完 SD 卡后開啟 FATFS 的文件系統,選擇掛載到 SD 卡,文件名選擇 US ,buff 放到 STACK 上(注意調大棧空間)
SD NAND,貼片式TF卡,貼片式SD卡
配置完成后生成代碼,cubemx 主要是以下兩個初始化函數:
SD NAND,貼片式TF卡,貼片式SD卡
四、編寫命令行測試代碼
使用我之前移植的命令行框架,編寫測試函數
void mount(char argc, char *argv)
{
if (argc > 1)
{
if (!strcmp("init", &argv[argv[1]]))
{
FRESULT ret = FR_INT_ERR;
ret = f_mount(&SDFatFS, SDPath, 1);
if (ret != FR_OK) {
shell_printf("mount init failed! %d\r\n", ret);
} else {
shell_printf("mount init succ!\r\n");
}
} else if (!strcmp("deinit", &argv[argv[1]])) {
FRESULT ret = FR_INT_ERR;
ret = f_mount(NULL, "", 1);
if (ret != FR_OK) {
shell_printf("mount deinit failed!\r\n");
} else {
shell_printf("mount deinit succ!\r\n");
}
}
}
else
{
shell_printf("mount need more arguments!\r\n");
}
};
void open(char argc, char *argv)
{
if (argc > 1)
{
FRESULT ret = FR_INT_ERR;
ret = f_open(&SDFile, &argv[argv[1]], FA_READ | FA_WRITE | FA_CREATE_NEW);
if (ret != FR_OK) {
shell_printf("open %s failed! code: %d \r\n ", &argv[argv[1]], ret);
} else {
shell_printf("open %s succ!\r\n", &argv[argv[1]]);
}
}
else
{
shell_printf("mount need more arguments!\r\n");
}
};
void close(char argc, char *argv)
{
if (argc > 1)
{
FRESULT ret = FR_INT_ERR;
ret = f_close(&SDFile);
if (ret != FR_OK) {
shell_printf("close %s failed!\r\n", &argv[argv[1]]);
} else {
shell_printf("close %s succ!\r\n", &argv[argv[1]]);
}
}
else
{
shell_printf("mount need more arguments!\r\n");
}
};
void write(char argc, char *argv)
{
if (argc > 1)
{
FRESULT ret = FR_INT_ERR;
uint32_t write_num = 0;
ret = f_write(&SDFile, &argv[argv[1]], strlen(&argv[argv[1]]), &write_num);
if (ret != FR_OK) {
shell_printf("write file failed!\r\n");
} else {
shell_printf("write file succ!\r\n");
}
}
else
{
shell_printf("mount need more arguments!\r\n");
}
};
void read(char argc, char *argv)
{
if (argc > 1)
{
FRESULT ret = FR_INT_ERR;
uint32_t read_num = 0;
uint8_t read_buff[100];
ret = f_read(&SDFile, read_buff, 50, &read_num);
if (ret != FR_OK) {
shell_printf("read file failed! %d\r\n", ret);
} else {
shell_printf("read file succ!\r\n");
shell_printf("read dat: %s, read num %d\r\n", read_buff, read_num);
}
}
else
{
shell_printf("mount need more arguments!\r\n");
}
};
將測試函數掛到命令行中:
const static_cmd_st static_cmd[] = {
{"ls", shell_ls_cmd},
{"mount", mount},
{"open", open},
{"close", close},
{"read", read},
{"write", write},
{"\0", NULL, NULL},
};
下載代碼,在命令行測試掛載以及讀寫函數:
SD NAND,貼片式TF卡,貼片式SD卡
讀的數據有些亂碼,用讀卡器讀出來看看:
SD NAND,貼片式TF卡,貼片式SD卡
可以看到成功寫入,SD 卡掛載 FATFS 成功,命令行操作文件系統功能正常
————————————————
【本文轉載自CSDN,作者:Top嵌入式
深圳市雷龍發展專注存儲行業13年,專業提供小容量存儲解決方案。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • NAND
    +關注

    關注

    16

    文章

    1692

    瀏覽量

    136472
  • FlaSh
    +關注

    關注

    10

    文章

    1642

    瀏覽量

    148688
  • SD卡
    +關注

    關注

    2

    文章

    566

    瀏覽量

    64118
  • TF卡
    +關注

    關注

    2

    文章

    81

    瀏覽量

    12249
收藏 人收藏

    評論

    相關推薦

    雷龍SD NAND試用

    了解以便測試與使用。 芯片不用寫驅動程序自帶壞塊管理的NAND Flash貼片式TF),尺寸小巧,簡單易用,兼容性強,穩定可靠,固件可定制,LGA-8封裝,標準SDIO接口,兼容S
    發表于 01-19 13:26

    SD NAND、SPI NAND 和 Raw NAND 的定義與比較

    問題,再也不用為SD的接觸穩定性操心! SD nandSD 、SPI Nor
    的頭像 發表于 01-15 18:16 ?145次閱讀
    <b class='flag-5'>SD</b> <b class='flag-5'>NAND</b>、SPI <b class='flag-5'>NAND</b> 和 Raw <b class='flag-5'>NAND</b> 的定義與比較

    SD NAND、SPI NAND 和 Raw NAND 的定義與比較

    問題,再也不用為SD的接觸穩定性操心!   SD nandSD 、SPI Nor
    發表于 01-15 18:15

    關于SD NAND 的概述

    SD NAND是一種小型、可表面貼裝的存儲解決方案,適用于各種嵌入式系統和便攜式設備。SD NAND技術是近年來在存儲領域內的一項創新,它結
    發表于 12-06 11:22

    SD NAND 概述

    SD NAND是一種小型、可表面貼裝的存儲解決方案,適用于各種嵌入式系統和便攜式設備。SD NAND技術是近年來在存儲領域內的一項創新,它結
    的頭像 發表于 12-06 11:21 ?249次閱讀

    SD NAND技術簡介

    SD NAND是一種基于NAND Flash技術的嵌入式存儲解決方案,具備SD協議兼容性。它結
    的頭像 發表于 12-05 15:32 ?259次閱讀
    <b class='flag-5'>SD</b> <b class='flag-5'>NAND</b>技術簡介

    Arduino程序:實現SD NAND貼片sd)的讀寫功能

      單片機上傳程序的時候,有時候感覺它的rom和 ram有時直接限制了他的使用,之前使用eeprom,和sd模塊. []()   然后最近看到了出的SD NAND 就是下面這個
    發表于 11-07 17:45

    國產安路FPGA SD NAND FLASH 初步描述

    說起SD NAND FLASH常被聯想到SDSD NAN
    發表于 10-16 18:12

    貼片SD功能介紹【MK SD NAND

    SDNAND,通常稱為嵌入式SD貼片式TFSD Flash、直接貼裝
    的頭像 發表于 07-05 17:03 ?923次閱讀
    <b class='flag-5'>貼片</b>式<b class='flag-5'>SD</b><b class='flag-5'>卡</b>功能介紹【MK <b class='flag-5'>SD</b> <b class='flag-5'>NAND</b>】

    SD NAND文件系統:技術解析與應用指南

    MK米客方德的SD NAND是一種使用NAND閃存技術的貼片式TF,因起耐用性和較小的體積而受到廣泛歡迎。
    的頭像 發表于 06-07 14:45 ?483次閱讀
    <b class='flag-5'>SD</b> <b class='flag-5'>NAND</b>與<b class='flag-5'>文件系統</b>:技術解析與應用指南

    SD NAND 簡介

    SD NAND是一種創新的存儲芯片,可直接貼片,又名貼片式TF貼片式T
    的頭像 發表于 05-29 16:34 ?1308次閱讀
    <b class='flag-5'>SD</b> <b class='flag-5'>NAND</b> 簡介

    NAND Flash貼片式TF)存儲新突破,基礎示例

    with FatFs \\\\r\\\\nSTM32的FATFS文件系統測試\\\\r\\\\n \"; // 在外部 SD 掛載
    發表于 05-21 17:13

    STM32F412使用SD,SDIO,FATFS系統SD掛載文件系統失敗的原因?

    求助,STM32F412RET6 使用SD,使用SDIO接口,FATFS系統SD掛載
    發表于 04-11 07:15

    【嵌入式SD NAND】基于FATFS/Littlefs文件系統的日志框架實現

    文章目錄 【嵌入式】基于FATFS/Littlefs文件系統的日志框架實現 1. 概述 2. 設計概要 3. 設計實現 3.1 初始化 `init` 3.2 日志寫入 `write` 3.3 日志
    的頭像 發表于 03-14 18:13 ?1121次閱讀
    【嵌入式<b class='flag-5'>SD</b> <b class='flag-5'>NAND</b>】基于<b class='flag-5'>FATFS</b>/Littlefs<b class='flag-5'>文件系統</b>的日志框架實現

    【嵌入式SD NAND】基于FATFS/Littlefs文件系統的日志框架實現

    文章目錄【嵌入式】基于FATFS/Littlefs文件系統的日志框架實現1.概述2.設計概要3.設計實現3.1初始化`init`3.2日志寫入`write`3.3日志讀取`read`3.4注銷
    的頭像 發表于 03-14 18:12 ?1226次閱讀
    【嵌入式<b class='flag-5'>SD</b> <b class='flag-5'>NAND</b>】基于<b class='flag-5'>FATFS</b>/Littlefs<b class='flag-5'>文件系統</b>的日志框架實現
    百家乐官网庄多还是闲多| 海滨湾国际娱乐城| 天天百家乐游戏| ceo娱乐城信誉| 海立方百家乐赢钱| 黄金城| 百家乐破解版下载| 至尊百家乐官网停播| 澳门顶级赌场娱乐城| 百家乐包赢技巧| 澳门百家乐官网娱乐城信誉如何| 百家乐长胜攻略| 大世界百家乐官网娱乐平台| 大发888下载官网| 澳门百家乐皇冠网| 德钦县| 百家乐送现金200| 杨筠松 24山| 博彩百家乐官网规则| 伟博娱乐| 博彩机| 百家乐三珠投注法| 百家乐官网大天堂| 易博全讯网| 诚信真人博彩网站| 威尼斯人娱乐代理| 百家乐分析下载| 百家乐官网娱乐网会员注册| 百家乐官网开户最快的平台是哪家 | 重庆百家乐官网的玩法技巧和规则| 澳门网上娱乐| 澳门博彩网站| 大发888bet娱乐场下载| 吕百家乐赢钱律| 威尼斯人娱乐城惊喜| 百家乐视频游戏帐号| 百家乐官网开线| 百家乐官网优惠现金| 北京德州扑克比赛| 大发888下载官网| 大发888真人真钱网址|