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

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

3天內(nèi)不再提示

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

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

一、前言
手頭有一塊深圳雷龍?zhí)峁┑馁N片 CS 創(chuàng)世 SD NAND Flash,掛載個文件系統(tǒng)把玩一下。首先介紹一下使用的貼片 SD 卡,以前使用的都是拔插式的 SD 卡,下面這個樣子:
SD NAND,貼片式TF卡,貼片式SD卡
深圳雷龍?zhí)峁┑腃S創(chuàng)世 SD NAND Flash 如下圖:
SD NAND,貼片式TF卡,貼片式SD卡
二、貼片 SD 卡介紹
深圳雷龍?zhí)峁┑?CS 創(chuàng)世 SD NAND 屬于 LGA-8 封裝,標準 SDIO 接口,兼容SPI/SD/eMMC接口,兼容各大MCU平臺,可替代普通TF卡/SD卡,尺寸6x8mm毫米,內(nèi)置SLC晶圓擦寫壽命10萬次,通過1萬次隨機掉電測試耐高低溫,支持工業(yè)級溫度-40°~+85°,機貼手帖都非常方便,速度級別Class10(讀取速度23.5MB/S寫入速度12.3MB/S)標準的SD2.0協(xié)議普通的SD卡可直接驅(qū)動。
貼片 SD 卡的使用很簡單,管腳的連接方式和普通拔插的 SD 卡一致,所以我們設計硬件時按照普通 SD 的接線方式設計就行,以小熊派開發(fā)板為例子,單線 SDIO 硬件接線如下:
SD NAND,貼片式TF卡,貼片式SD卡
我使用小熊派開發(fā)板來掛載 FATFS 到雷龍這塊 SD 卡上
三、配置 CubeMX 底層接口
首先使用 CubeMX 配置底層 SD 卡接口,選擇單線模式,分頻設置高一點,其他參數(shù)保持默認
SD NAND,貼片式TF卡,貼片式SD卡
配置完 SD 卡后開啟 FATFS 的文件系統(tǒng),選擇掛載到 SD 卡,文件名選擇 US ,buff 放到 STACK 上(注意調(diào)大??臻g)
SD NAND,貼片式TF卡,貼片式SD卡
配置完成后生成代碼,cubemx 主要是以下兩個初始化函數(shù):
SD NAND,貼片式TF卡,貼片式SD卡
四、編寫命令行測試代碼
使用我之前移植的命令行框架,編寫測試函數(shù)
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");
}
};
將測試函數(shù)掛到命令行中:
const static_cmd_st static_cmd[] = {
{"ls", shell_ls_cmd},
{"mount", mount},
{"open", open},
{"close", close},
{"read", read},
{"write", write},
{"\0", NULL, NULL},
};
下載代碼,在命令行測試掛載以及讀寫函數(shù):
SD NAND,貼片式TF卡,貼片式SD卡
讀的數(shù)據(jù)有些亂碼,用讀卡器讀出來看看:
SD NAND,貼片式TF卡,貼片式SD卡
可以看到成功寫入,SD 卡掛載 FATFS 成功,命令行操作文件系統(tǒng)功能正常
————————————————
【本文轉(zhuǎn)載自CSDN,作者:Top嵌入式
深圳市雷龍發(fā)展專注存儲行業(yè)13年,專業(yè)提供小容量存儲解決方案。

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

    關注

    16

    文章

    1662

    瀏覽量

    135900
  • FlaSh
    +關注

    關注

    10

    文章

    1610

    瀏覽量

    147607
  • SD卡
    +關注

    關注

    2

    文章

    555

    瀏覽量

    63690
  • TF卡
    +關注

    關注

    2

    文章

    70

    瀏覽量

    12109
收藏 人收藏

    評論

    相關推薦

    貼片SD功能介紹【MK SD NAND

    SDNAND,通常稱為嵌入式SD貼片式TF、SD Flash、直接貼裝
    的頭像 發(fā)表于 07-05 17:03 ?563次閱讀
    <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文件系統(tǒng):技術(shù)解析與應用指南

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

    SD NAND 簡介

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

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

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

    STM32F412使用SD,SDIO,FATFS系統(tǒng)SD掛載文件系統(tǒng)失敗的原因?

    求助,STM32F412RET6 使用SD,使用SDIO接口,FATFS系統(tǒng)SD掛載
    發(fā)表于 04-11 07:15

    【嵌入式SD NAND】基于FATFS/Littlefs文件系統(tǒng)的日志框架實現(xiàn)

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

    【嵌入式SD NAND】基于FATFS/Littlefs文件系統(tǒng)的日志框架實現(xiàn)

    文章目錄【嵌入式】基于FATFS/Littlefs文件系統(tǒng)的日志框架實現(xiàn)1.概述2.設計概要3.設計實現(xiàn)3.1初始化`init`3.2日志寫入`write`3.3日志讀取`read`3.4注銷
    的頭像 發(fā)表于 03-14 18:12 ?1071次閱讀
    【嵌入式<b class='flag-5'>SD</b> <b class='flag-5'>NAND</b>】基于<b class='flag-5'>FATFS</b>/Littlefs<b class='flag-5'>文件系統(tǒng)</b>的日志框架實現(xiàn)

    CS 創(chuàng)世SD NAND FLASH 存儲芯片,比TF更小巧輕便易用的大容量存儲,TF替代方案

    保護數(shù)據(jù)安全的應用場景,如安全攝像頭、工業(yè)控制系統(tǒng)等。   創(chuàng)世SD   這次拿到的是 雷龍 創(chuàng)世 SD NAND
    發(fā)表于 01-24 18:30

    stm32 CubeMx 怎么實現(xiàn)SD/sd nand FATFS讀寫測試

    。)   CSNP1GCR01-AOW的優(yōu)勢:   不用寫驅(qū)動程序自帶壞塊管理的NAND Flash貼片式TF),尺寸小巧,簡單易用,兼容性強,穩(wěn)定可靠,固件可定制,LGA-8封裝
    發(fā)表于 01-09 17:37

    什么是SD NAND存儲芯片? SD NAND與TF的區(qū)別

    什么是SD NAND?它俗稱貼片式T貼片式TF,貼片
    的頭像 發(fā)表于 01-06 14:35 ?1548次閱讀
    什么是<b class='flag-5'>SD</b> <b class='flag-5'>NAND</b>存儲芯片? <b class='flag-5'>SD</b> <b class='flag-5'>NAND</b>與TF<b class='flag-5'>卡</b>的區(qū)別

    什么是SD NAND存儲芯片?

    NAND介紹   什么是SD NAND?它俗稱貼片式T,貼片式TF
    發(fā)表于 01-05 17:54

    基于RT-Thread快速上手SD NAND 虛擬文件系統(tǒng)

    默認開啟FatFS.   支持多種類型的存儲設備,如 SD Card、SPI FlashNand Flash 等。   在 RT-Thr
    發(fā)表于 12-15 17:29

    【MCU】SD NAND芯片之國產(chǎn)新選擇

    : 大家好,請問有沒有SD芯片,可以直接焊接到PCB板上的。 項目需要保存900M以上字節(jié),nand flash 比較貴?;蛘哂惺裁幢阋说拇鎯π酒峁?。謝謝! 傳統(tǒng)做法無非如下幾種:
    發(fā)表于 11-23 17:25

    CS創(chuàng)世SD NAND的存儲芯片應用方案

    NAND FLASH,嵌入式sd,工業(yè)級sd,單片機 n
    的頭像 發(fā)表于 11-15 18:09 ?510次閱讀
    CS創(chuàng)世<b class='flag-5'>SD</b> <b class='flag-5'>NAND</b>的存儲芯片應用方案

    DSP+FPGA+FATFS+SD

    項目背景,在DSP上掛Fatfs文件系統(tǒng),而SD是掛在FPGA上的,DSP需要通過FPGA與SD
    發(fā)表于 11-14 09:30