女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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 上(注意調大??臻g)
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

    文章

    1719

    瀏覽量

    137823
  • FlaSh
    +關注

    關注

    10

    文章

    1668

    瀏覽量

    151007
  • SD卡
    +關注

    關注

    2

    文章

    577

    瀏覽量

    65188
  • TF卡
    +關注

    關注

    2

    文章

    87

    瀏覽量

    12534
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    NAND FlashSD NAND的存儲扇區架構差異

    NAND Flash?和?SDSD NAND)的存儲扇區分配表都是用于管理存儲設備中扇區的分
    的頭像 發表于 03-13 15:20 ?1016次閱讀
    <b class='flag-5'>NAND</b> <b class='flag-5'>Flash</b>與<b class='flag-5'>SD</b> <b class='flag-5'>NAND</b>的存儲扇區架構差異

    Nand flashSDSD NAND)存儲扇區分配表異同

    SD NAND)是基于 NAND Flash的存儲設備,其存儲扇區分配表建立在 SD
    發表于 03-13 10:45

    [上手體驗]雷龍SD NAND:比TF更小更耐用

    和SPI FLASH以及 NAND FLASH,基本沒聽說過SD NAND。查閱了雷龍官方介紹),得知S
    發表于 03-08 14:28

    CS創世SD NAND貼片sd】的測試使用說明

    今天收到了來自深圳市雷龍發展有限公司寄來的存儲,它是一款自帶壞塊管理的貼片NAND Flash,適用于嵌入式系統。
    的頭像 發表于 02-17 15:45 ?351次閱讀
    CS創世<b class='flag-5'>SD</b> <b class='flag-5'>NAND</b>【<b class='flag-5'>貼片</b>式<b class='flag-5'>sd</b><b class='flag-5'>卡</b>】的測試使用說明

    CS創世SD NAND貼片sd】的測試使用說明

      今天收到了來自深圳市雷龍發展有限公司寄來的存儲,它是一款自帶壞塊管理的貼片NAND Flash,適用于嵌入式系統。
    發表于 02-12 15:05

    雷龍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 ?690次閱讀
    <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 ?631次閱讀

    SD NAND技術簡介

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

    雷龍CS SD NAND貼片式TF體驗與性能測試

    轉接板并接入電腦后,可以直接識別到U盤設備,容量為7.2GB。說明CS SD NAND能夠完美的兼容SD,可以直接進行替代。 復制一些大文件
    發表于 11-26 10:04

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

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

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

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

    貼片SD功能介紹【MK SD NAND

    SDNAND,通常稱為嵌入式SD貼片式TFSD Flash、直接貼裝
    的頭像 發表于 07-05 17:03 ?1462次閱讀
    <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>】