在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

QSPI Flash創建UBIFS 5步流程

454398 ? 來源:賽靈思中文社區論壇 ? 作者:賽靈思中文社區論 ? 2020-12-08 15:07 ? 次閱讀

測試工具版本:PetaLinux 2018.2
測試單板: ZCU106

UBIFS是更強壯的FLash文件系統。很多嵌入式系統都使用了UBIFS。

Xilinx PetaLinux 2018.2也支持UBIFS。只需要在Linux/U-Boot里添加相關配置選項,就能為QSPI Flash創建UBIFS。

第1步,為Linux Kernel添加UBIFS配置選項。

需要注意的是,需要去掉SPI_NOR_USE_4K_SECTORS。

CONFIG_MTD_UBI=y
CONFIG_MTD_UBI_WL_THRESHOLD=4096
CONFIG_MTD_UBI_BEB_LIMIT=20
# CONFIG_MTD_UBI_FASTMAP is not set
# CONFIG_MTD_UBI_GLUEBI is not set
# CONFIG_MTD_UBI_BLOCK is not set
CONFIG_UBIFS_FS=y
# CONFIG_UBIFS_FS_ADVANCED_COMPR is not set
CONFIG_UBIFS_FS_LZO=y
CONFIG_UBIFS_FS_ZLIB=y
CONFIG_UBIFS_ATIME_SUPPORT=y
# CONFIG_UBIFS_FS_ENCRYPTION is not set
CONFIG_UBIFS_FS_SECURITY=y
CONFIG_CRYPTO_DEFLATE=y
CONFIG_CRYPTO_LZO=y
# CONFIG_MTD_SPI_NOR_USE_4K_SECTORS is not set

第2步,為U-Boot添加UBIFS配置選項。

CONFIG_CMD_MTDPARTS=y
CONFIG_MTDIDS_DEFAULT=""
CONFIG_MTDPARTS_DEFAULT=""
CONFIG_CMD_MTDPARTS_SPREAD=y
CONFIG_CMD_UBI=y
CONFIG_CMD_UBIFS=y
CONFIG_MTD=y
# CONFIG_CFI_FLASH is not set
# CONFIG_ALTERA_QSPI is not set
CONFIG_MTD_UBI=y
CONFIG_MTD_UBI_WL_THRESHOLD=4096
CONFIG_MTD_UBI_BEB_LIMIT=20
# CONFIG_MTD_UBI_FASTMAP is not set
CONFIG_RBTREE=y
CONFIG_LZO=y

第3步,根據單板需要,定義Flash分區。

啟動后,在Linux里可以通過命令 cat /proc/mtd檢查。

root@zcu106_vcu_trd:/qspi_fs# cat /proc/mtd
dev: size erasesize name
mtd0: 01e00000 00020000 "boot"
mtd1: 00040000 00020000 "bootenv"
mtd2: 00c00000 00020000 "kernel"
mtd3: 055c0000 00020000 "spare"

第4步,在Linux里創建和掛載UBIFS分區。

如果是第一次啟動,在Linux里創建和掛載UBIFS分區。

mkdir -p /qspi_fs
ubiformat /dev/mtd3
ubiattach /dev/ubi_ctrl -m 3
ubimkvol /dev/ubi0 -N qspi_ubi0 -m
mount -t ubifs ubi0:qspi_ubi0 /qspi_fs

如果不是第一次啟動,直接在Linux里掛載UBIFS分區。

ubiattach /dev/ubi_ctrl -m 3
mount -t ubifs ubi0:qspi_ubi0 /qspi_fs

第5步,創建分區后,在U-Boot里使用UBIFS。

sf probe 0 50000000 0
setenv partition "nor0,3" # Activate mtd3.
setenv mtdids "nor0=spi0.0"
setenv mtdparts "mtdparts=spi0.0:30m(boot),256k(bootenv),12m(kernel),87808k(spare)"
mtdparts
ubi part spare # Select mtd3.
mtd
ubifsmount ubi0:qspi_ubi0
ubifsls
ubifsload 0x2000000 qspi_fs_ready__do_not_remove.bin.md5

更詳細的在U-Boot里使用UBIFS的記錄。

ZynqMP> sf probe 0 50000000 0
SF: Detected n25q512a with page size 512 Bytes, erase size 128 KiB, total 128 MiB

ZynqMP> setenv partition "nor0,3"
ZynqMP> setenv mtdids "nor0=spi0.0"
ZynqMP> setenv mtdparts "mtdparts=spi0.0:30m(boot),256k(bootenv),12m(kernel),87808k(spare)"

ZynqMP> mtdparts

device nor0 , # parts = 4
#: name size offset mask_flags
0: boot 0x01e00000 0x00000000 0
1: bootenv 0x00040000 0x01e00000 0
2: kernel 0x00c00000 0x01e40000 0
3: spare 0x055c0000 0x02a40000 0

active partition: nor0,3 - (spare) 0x055c0000 @ 0x02a40000

defaults:
mtdids :
mtdparts:

ZynqMP> ubi part spare
ubi0: attaching mtd2
ubi0: scanning is finished
ubi0: attached mtd2 (name "mtd=3", size 85 MiB)
ubi0: PEB size: 131072 bytes (128 KiB), LEB size: 130944 bytes
ubi0: minmax. I/O unit sizes: 1/512, sub-page size 1
ubi0: VID header offset: 64 (aligned 64), data offset: 128
ubi0: good PEBs: 686, bad PEBs: 0, corrupted PEBs: 0
ubi0: user volume: 1, internal volumes: 1, max. volumes count: 128
ubi0: max/mean erase counter: 1/0, WL threshold: 4096, image sequence number: 1968612066
ubi0: available PEBs: 0, total reserved PEBs: 686, PEBs reserved for bad PEB handling: 0

ZynqMP> ubifsmount ubi0:qspi_ubi0
UBIFS assert failed in ubifs_change_lp at 540
UBIFS assert failed in ubifs_release_lprops at 278
UBIFS assert failed in ubifs_change_lp at 540
UBIFS assert failed in ubifs_release_lprops at 278
UBIFS assert failed in ubifs_change_lp at 540
UBIFS assert failed in ubifs_release_lprops at 278
UBIFS assert failed in ubifs_change_lp at 540
UBIFS assert failed in ubifs_release_lprops at 278

ZynqMP> ubifsls
1024 Fri Feb 01 09:57:29 2019 qspi_fs_ready__do_not_remove.bin
76 Fri Feb 01 09:57:29 2019 qspi_fs_ready__do_not_remove.bin.md5

ZynqMP> ubifsload 0x2000000 qspi_fs_ready__do_not_remove.bin.md5
Loading file 'qspi_fs_ready__do_not_remove.bin.md5' to addr 0x02000000...
Done

ZynqMP> md 0x2000000
02000000: 63336432 36336334 35333664 33316537 2d3c4c36d6357e13
02000010: 65636164 31303032 61626234 62393632 dace20014bba269b

編輯:hfy

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

    關注

    10

    文章

    1656

    瀏覽量

    150570
  • 嵌入式系統
    +關注

    關注

    41

    文章

    3662

    瀏覽量

    130587
  • UBIFS
    +關注

    關注

    0

    文章

    5

    瀏覽量

    7012
收藏 人收藏

    評論

    相關推薦

    編譯可在QSPI Flash上運行的程序

    在前文中已經實現了一個能夠在 MDK 平臺進行下載代碼到 QSPI Flash 中的下載算法,以及一個能跳轉執行應用程序的 2nd Bootloader,但若想將代碼下載到 QSPI Flas
    的頭像 發表于 03-31 09:50 ?3750次閱讀
    編譯可在<b class='flag-5'>QSPI</b> <b class='flag-5'>Flash</b>上運行的程序

    自帶的QSPI flash如何下載

    有個一直很頭疼的問題就是自帶的QSPI flash如何下載的問題,我們以 STM32F7Discovery官方資料-1\STM32Cube_FW_F7_V1.1.0\Projects
    發表于 08-04 06:16

    什么是QSPI?如何使用QSPIQSPI Flash進行通信呢?

    吧,直接 16 根數據信號線,速度自然變得更快了,但使用 SPI FLash,不就是圖一個線少嘛。  為了方便描述,我們將使用 QSPI 接口連接的 SPI Flash 稱之為 QSPI
    發表于 03-17 15:17

    UBIFS損耗均衡對系統I/O性能的影響

    分析flash 文件系統的損耗均衡問題,指出損耗均衡的觸發條件對系統I/O 性能的影響。在最新UBIFS 文件系統上運行測試程序,結果證明在不同損耗均衡觸發條件下,系統I/O 性能的
    發表于 03-30 10:10 ?24次下載

    GD32-Colibri-F207實驗板QSPI_FLASH

    GD32-Colibri-F207實驗板QSPI_FLASH,很好的GD32資料,快來學習吧。
    發表于 04-21 16:35 ?26次下載

    如何使用QSPI Flash控制器開發板上的 QSPI Flash進行寫讀操作

    學習內容 本文首先介紹FlashQSPI Flash控制器的相關內容,然后使用 QSPI Flash 控制器,開發板上的
    的頭像 發表于 06-10 17:08 ?1.5w次閱讀
    如何使用<b class='flag-5'>QSPI</b> <b class='flag-5'>Flash</b>控制器開發板上的 <b class='flag-5'>QSPI</b> <b class='flag-5'>Flash</b>進行寫讀操作

    STM32CubeIDE XiP 和 BootROM介紹, XiP外部內存QSPI FLASH執行用戶代碼

    STM32CubeIDE XiP 和 BootROM介紹, XiP外部內存QSPI FLASH執行用戶代碼
    發表于 12-02 09:21 ?14次下載
    STM32CubeIDE XiP 和 BootROM介紹, XiP外部內存<b class='flag-5'>QSPI</b> <b class='flag-5'>FLASH</b>執行用戶代碼

    在Linux/U-Boot里為QSPI Flash使用UBIFS

    UBIFS是更強壯的FLash文件系統。很多嵌入式系統都使用了UBIFS。Xilinx PetaLinux 2018.2也支持UBIFS。只需要在Linux/U-Boot里添加相關配置
    發表于 08-02 15:51 ?1971次閱讀

    QSPI flash上運行毫米波芯片的測試代碼

    QSPI flash上運行毫米波芯片的測試代碼
    發表于 10-28 12:00 ?0次下載
    在<b class='flag-5'>QSPI</b> <b class='flag-5'>flash</b>上運行毫米波芯片的測試代碼

    工程師筆記|通過 KEIL 制作 QSPI 接口的外部 Flash 下載算法

    關鍵詞:KEIL,QSPI,下載算法 目錄預覽 1. 引言 2. MDK 下載算法基礎知識 3.?程序擦除操作執行流程 4.?程序燒錄操作執行流程 5. 程序校驗操作執行
    的頭像 發表于 02-12 12:10 ?4299次閱讀

    微控制器外置QSPI Flash選型的注意事項

    為了擴展微控制器可用的 Flash 空間,用戶可以使用 QSPI 接口連接 QSPI Flash;為了讓用戶能盡量像使用片內 Flash
    的頭像 發表于 04-07 09:23 ?2497次閱讀

    mm32-2nd-bootloader技術白皮書(5)——編譯可在QSPI Flash上運行的程序

    mm32-2nd-bootloader技術白皮書(5)——編譯可在QSPI Flash上運行的程序
    的頭像 發表于 10-24 16:14 ?601次閱讀
    mm32-2nd-bootloader技術白皮書(<b class='flag-5'>5</b>)——編譯可在<b class='flag-5'>QSPI</b> <b class='flag-5'>Flash</b>上運行的程序

    通過KEIL制作QSPI接口的外部Flash下載算法

    電子發燒友網站提供《通過KEIL制作QSPI接口的外部Flash下載算法.pdf》資料免費下載
    發表于 09-19 16:26 ?7次下載
    通過KEIL制作<b class='flag-5'>QSPI</b>接口的外部<b class='flag-5'>Flash</b>下載算法

    在mmWave SDK增加QSPI Flash驅動的示例

    電子發燒友網站提供《在mmWave SDK增加QSPI Flash驅動的示例.pdf》資料免費下載
    發表于 09-11 14:20 ?0次下載
    在mmWave SDK增加<b class='flag-5'>QSPI</b> <b class='flag-5'>Flash</b>驅動的示例

    兆易創新推出GD5F1GM9系列高速QSPI NAND Flash

    今日,兆易創新宣布推出GD5F1GM9系列高速QSPI NAND Flash,該系列以其突破性的讀取速度和創新的壞塊管理(BBM)功能,可有效解決傳統SPI NAND Flash響應速
    的頭像 發表于 04-16 13:50 ?241次閱讀
    主站蜘蛛池模板: 国产乱码精品一区二区三区四川人 | 色综合久久综合 | 国产亚洲新品一区二区 | 亚洲成电影 | 老师我好爽再深一点好大 | 九九视频这里只有精品 | 国产午夜精品一区二区三区 | 欧美婷婷综合 | 激情五月视频 | 免费永久欧美性色xo影院 | 六月婷婷在线视频 | 久久这里只有精品免费播放 | 成年人网站在线 | 亚洲高清不卡视频 | 7777在线| 日本不卡视频免费 | 日韩毛片高清在线看 | 熊出没之环球大冒险旧版免费观看 | 国产精品免费观看网站 | 九九久久九九久久 | 1024国产你懂的日韩 | 在线视频观看你懂的 | 国产小视频免费 | 国语自产免费精品视频一区二区 | 亚洲黄页网站 | 中文字幕在线观看一区 | 激情综合五月婷婷 | 很黄很污的视频网站 | 国产 麻豆 欧美亚洲综合久久 | 色老头免费视频 | 色色色色色色网 | 久久精品亚洲精品国产色婷 | 欧美色视频日本片高清在线观看 | 丁香视频在线观看播放 | 亚洲人与牲动交xxxxbbbb | 宅男lu66国产在线播放 | 高h文男主又粗又狠 | 色多多视频官网 | a色在线 | 天天干b| 亚洲精品色图 |