一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

用于嵌入式系統(tǒng)引導的閃存設備比較

星星科技指導員 ? 來源:嵌入式計算設計 ? 作者:Zhi Feng ? 2022-10-24 11:55 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

本文探討了嵌入式系統(tǒng)引導環(huán)境中不同類型的閃存的優(yōu)缺點。

許多嵌入式系統(tǒng)利用非易失性存儲器來存儲引導代碼、配置參數(shù)以及系統(tǒng)斷電時持續(xù)存在的其他數(shù)據(jù)。如今,閃存在大多數(shù)嵌入式系統(tǒng)中都扮演著這一角色。鑒于需要閃存的應用范圍很廣,有多種架構(gòu)和功能集可以滿足應用的不同要求。

常見的閃存技術(shù)包括并行或 SPI NOR 閃存、SLC NAND 和 eMMC 器件。最近,通用閃存存儲(UFS)也已成為一種選擇。本文探討了嵌入式系統(tǒng)引導環(huán)境中這些不同類型的閃存的優(yōu)缺點。

嵌入式系統(tǒng)引導的復雜性

從外部角度來看,啟動嵌入式系統(tǒng)可能看起來很容易。但是,啟動涉及許多步驟,如果需要快速可靠的啟動,則需要仔細考慮設計。

pYYBAGNWDNyANWOKAAFOJ0eUSLs636.png

圖 1:嵌入式系統(tǒng)啟動序列的階段。

通常,嵌入式系統(tǒng)啟動順序(參見圖 1)涉及以下步驟:

通電或硬件重置:這是引導嵌入式系統(tǒng)的第一步。它可以是打開系統(tǒng)電源,也可以是觸發(fā)系統(tǒng)的硬件重置。從此時起,系統(tǒng)開始執(zhí)行其代碼。

引導ROM或引導:內(nèi)核跳轉(zhuǎn)到復位向量并嘗試執(zhí)行第一個代碼。一些處理器具有小型內(nèi)部引導ROM,可以在制造時進行編程。引導ROM代碼可以執(zhí)行處理器的一些基本初始化,例如設置時鐘,堆棧,中斷等。引導ROM還可以檢測引導加載程序的存儲位置;例如,在外部諾或 NAND 閃存設備中。

某些處理器可以引導以直接從外部閃存設備執(zhí)行代碼。這通常需要處理器的硬件本身支持與外部閃存設備通信的特定總線接口,因為尚未完成軟件初始化。

引導加載程序 XIP 或重影:對于要執(zhí)行代碼的處理器,必須隨機訪問代碼存儲。如果使用 NOR 閃存設備來存儲引導加載程序,則處理器可以直接從閃存設備運行。此方法通常稱為原位計算 (XIP)。如果使用 NAND 或 eMMC 設備,首先需要將引導代碼復制到系統(tǒng)的 RAM。然后處理器可以跳轉(zhuǎn)到RAM空間并執(zhí)行。此方法稱為重影或存儲和下載 (SnD)。

此階段的引導加載程序有時稱為第二階段引導加載程序(例如,Linux 應用程序的 U-boot)。它用于設置系統(tǒng)和加載其余軟件,如操作系統(tǒng)和文件系統(tǒng)。它還可以執(zhí)行系統(tǒng)初始化,并通過引導 ROM 或硬件尚未本機支持的外圍設備繼續(xù)引導過程。

引導加載程序初始化后,系統(tǒng)可以開始處理基本中斷和簡單的操作任務。

內(nèi)核操作系統(tǒng)和/或文件系統(tǒng):這是一個可選步驟,具體取決于系統(tǒng)。如果嵌入式系統(tǒng)使用操作系統(tǒng)或文件系統(tǒng),則還需要將這些軟件組件加載到 RAM 內(nèi)存中。由于操作系統(tǒng)和文件系統(tǒng)的軟件尺寸較大,因此系統(tǒng)完成此步驟并在完全操作模式下運行需要更長的時間。

加載完所有軟件組件后,用戶應用程序可以開始運行:一個常見的用例是使用 Flash 存儲第二階段引導加載程序以及操作系統(tǒng)和文件系統(tǒng)軟件。引導加載程序啟動后,系統(tǒng)功能有限,并繼續(xù)引導過程以加載操作系統(tǒng)和文件系統(tǒng)。

不同目標應用中的優(yōu)先級

在決定用于啟動嵌入式系統(tǒng)的閃存類型之前,請考慮目標應用程序要求和用戶期望。表1總結(jié)了不同細分市場的首要任務。

poYBAGNWDPCALeeXAADkD8TDK0k898.png

表 1.應用程序優(yōu)先級因細分市場而異。

對于汽車和工業(yè)應用,首要任務如下:

功能安全:功能安全是關(guān)于消除由于電子系統(tǒng)故障行為引起的危害而導致的不合理風險。這是設計汽車或工業(yè)應用時的主要考慮因素。選擇在設計時充分考慮功能安全的設備有助于實現(xiàn)所需的汽車或工業(yè)安全標準,如 ISO 26262。在需要高級功能安全的情況下,使用專為功能安全而設計的設備至關(guān)重要。

可靠性:當使用閃存設備存儲啟動代碼時,必須在產(chǎn)品使用壽命內(nèi)的每次上電時可靠地讀取正確的數(shù)據(jù)。Flash 的數(shù)據(jù)保留時間對于通常靜態(tài)的引導加載程序代碼非常重要。對于手機等消費類產(chǎn)品,預期的壽命較短。但是,對于汽車和工業(yè)應用,閃存設備必須持續(xù)使用15年以上,并且需要在系統(tǒng)的整個生命周期內(nèi)保持數(shù)據(jù)完整性。

安全性:隨著設備繼續(xù)互連,數(shù)據(jù)安全性變得越來越重要。具有強大安全技術(shù)的數(shù)據(jù)存儲可以保護關(guān)鍵內(nèi)容,例如專有信息和商業(yè)機密。較新的閃存設備提供不同級別的安全性,以保護數(shù)據(jù)不被覆蓋、意外擦除和復制到克隆設備。通過加密和其他加密技術(shù),F(xiàn)lash 設備可用于受信任的引導鏈。

性能:引導設備的性能直接影響系統(tǒng)啟動時間和操作,特別是在必須保證系統(tǒng)在通電后的一定時間內(nèi)啟動和運行的應用中。對于用于啟動的閃存設備,性能因素不僅與從設備中讀取數(shù)據(jù)的速度有關(guān),還與設備本身通過系統(tǒng)電源初始化的速度有關(guān)。

耐用性:閃存器件中的耐久性定義了存儲器在保持其指定保留時間的同時可以編程和擦除的次數(shù)。對于許多嵌入式系統(tǒng),數(shù)據(jù)必須可靠多年,即使閃存被反復讀取、擦除和編程。

雖然 NOR 閃存和 SLC NAND 通常具有 10K 至 100K 范圍的耐久周期,但 MLC NAND 可能只有 5K 周期或更少。TLC NAND甚至可以提供數(shù)百個周期。通常,閃存單元密度越大,在永久單元故障之前可以執(zhí)行的擦除和寫入就越少。

非專利閃存、固態(tài)混合固態(tài)顯示器、電子微處理器和超壓離子的比較

根據(jù)其基礎(chǔ)技術(shù)的性質(zhì),每種類型的Flash設備都具有可能適合一種應用而不適用于另一種應用的特性。表2提供了與嵌入式系統(tǒng)設計相關(guān)的特性的比較。

pYYBAGNWDPeAC41uAAEnPqT6noA482.png

表 2.嵌入式系統(tǒng)中使用的不同閃存類型的比較。

表中提到的一些因素通常是眾所周知的,例如密度、支持的溫度范圍和讀取帶寬。根據(jù)特定的引導加載程序,設計人員可以選擇合適的引導設備。例如,如果引導加載程序大小非常大,則需要更大的設備來存儲這樣的引導加載程序。然而,大多數(shù)引導加載程序,如u-boot,都是以兆字節(jié)為單位的,并且完全在NOR閃存的密度范圍內(nèi)。這意味著用戶可能有許多選擇需要考慮。

其他需要考慮的重要因素包括器件初始化時間、XIP 功能和數(shù)據(jù)可靠性。

設備初始化:這是設備通電和它可以可靠地輸出數(shù)據(jù)之間的時間。如果系統(tǒng)需要非??斓膯訒r間,則初始化時間可能是一個重要因素。如果系統(tǒng)需要直接從閃存執(zhí)行代碼(即,而不是重影到RAM),則在NOR閃存上運行是唯一合適的選擇,如下所示。

原位 XIP:XIP 功能使系統(tǒng)能夠減少昂貴的 RAM 大小。處理器可以直接從 NOR 閃存設備執(zhí)行,而不是將代碼重影到 RAM。這種方法可以減少處理器支持DRAM器件所需的引腳數(shù)量,從而顯著降低PCB和整體系統(tǒng)成本。

引導要求

不同的應用程序?qū)σ龑в胁煌囊蟆T谶@里,我們從汽車應用中選擇一個示例來討論特定的啟動要求。

圖2所示為典型的汽車系統(tǒng)。所有子系統(tǒng)都通過CAN總線或其他網(wǎng)絡協(xié)議連接。

poYBAGNWDQKASsmOAAEtxBkz92E169.png

圖 2:汽車系統(tǒng)的框圖。

在汽車應用中,CAN總線的啟動要求為100 ms。這意味著子系統(tǒng)ECU(電子控制器單元)必須能夠在POR之后的100 ms內(nèi)回復CAN消息。如果子系統(tǒng)無法在 100 ms 內(nèi)啟動,則可能會錯過關(guān)鍵的 CAN 報文,這是不可接受的結(jié)果。在設計汽車子系統(tǒng)時,除了汽車應用的所有常見要求(如功能安全、溫度范圍等)之外,快速啟動時間是一項重要要求。

對于需要非??斓膯訒r間的應用,例如上圖所示的汽車外殼,需要快速存儲器作為啟動設備??赡芊傅囊粋€錯誤是將快速讀取帶寬與快速啟動時間相關(guān)聯(lián),因為這只關(guān)注將代碼和數(shù)據(jù)從啟動閃存移動到RAM所需的時間。但是,如果考慮到設備初始化時間和引導加載程序大小,很明顯,從引導閃存讀取時間不是引導序列中的主要瓶頸。

現(xiàn)代 NOR 閃存設備(如賽普拉斯的森珀 NOR 閃存)提供快速初始化時間和高帶寬,以最大限度地減少啟動。當森帕 NOR 在八進制或超總線總線協(xié)議中與 JEDEC xSPI 接口一起使用時,其帶寬可能高達 400 MB/s??紤]到典型的 U 型引導大小介于 1 MB 到 2 MB 之間,400 MB/s 的讀取帶寬轉(zhuǎn)換為 5 ms 讀取時間,再加上 Semper NOR 閃存的最大 300 μs 器件初始化時間。與此相比,eMMC 初始化時間約為 100 毫秒,UFS 初始化時間為 50 毫秒。使用森帕 NOR 閃存的整個系統(tǒng)啟動明顯低于汽車 100 ms 啟動要求。NOR 閃存設備也符合 ISO 26262 標準,并且符合 ASIL-B 標準。

在某些應用中,例如工業(yè)或物聯(lián)網(wǎng),希望直接在閃存設備(XIP)上執(zhí)行,而不是將引導加載程序復制到RAM。將其與使用 eMMC 進行存儲并使用 LPDDR2 RAM 執(zhí)行代碼的存儲和下載啟動方案進行比較。DRAM的寬數(shù)據(jù)總線需要多層PCB設計才能適應。如果處理器直接在 NOR 閃存上運行 XIP,例如使用 x8 八通道 SPI 閃存,則針腳數(shù)量會顯著減少(參見圖 3)。結(jié)果是節(jié)省了多達2至4層的PCB設計,從而降低了整體系統(tǒng)成本。

poYBAGNWDQqABSoQAADA3K8n1NE025.png

圖 3.使用諾睿閃存作為 XIP 設備。

如前所述,汽車和工業(yè)應用要求閃存設備能夠可靠地運行超過 15 年,并保持存儲數(shù)據(jù)的完整性。通常,單線互連器件和 MLC NAND 的誤碼率比 NOR 器件差。位錯誤可能發(fā)生在寫入存儲器陣列時,或由讀取干擾或其他因素引起的電子泄漏。為了補償丟失數(shù)據(jù)的風險,NAND器件中需要高度的ECC校正方案。原始 SLC NAND 設備甚至可能需要在主機端使用 ECC 功能。eMMC有自己的控制器來處理這些功能。SLC NAND 和 eMMC 器件中對糾錯和壞塊管理的需求增加了整體系統(tǒng)的復雜性和成本。這也是滿足功能安全和數(shù)據(jù)可靠性要求的重要考慮因素。

NOR閃存可以提供這些類型的應用所需的耐用性。例如,在森佩爾 NOR 閃存中實施的 EnduraFlex 技術(shù)可在 512 Mb 密度設備中提供超過 100 萬次循環(huán)的耐久性,在 1 Gb 設備中提供超過 250 萬次循環(huán)的耐久性。還可以對這些設備進行分區(qū)和預配,使其具有高耐用性和較長的保留時間區(qū)域,從而保證 25 年的數(shù)據(jù)完整性。因此,單個NOR閃存設備能夠靈活地將引導加載程序代碼和文件系統(tǒng)代碼存儲在單個設備上,這兩者都是保留和耐久性要求的兩端;即,開發(fā)人員可以為引導加載程序代碼配置長保留區(qū)域,同時將其他內(nèi)存區(qū)域保留為文件系統(tǒng)的高耐久性區(qū)域。

總之,盡管SLC NAND、eMMC和UFS的每比特成本較低,但NOR閃存器件仍然是嵌入式系統(tǒng)引導設備的最佳選擇,特別是在需要非??煜到y(tǒng)啟動時間的應用中。NOR閃存技術(shù)提供重要的可靠性特性,如快速初始化時間、XIP功能以及配置長保留期和高耐久性區(qū)域的靈活性,正迅速成為需要快速可靠啟動的系統(tǒng)的首選非易失性存儲器。

審核編輯:郭婷

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

    關(guān)注

    5152

    文章

    19675

    瀏覽量

    317670
  • NAND
    +關(guān)注

    關(guān)注

    16

    文章

    1722

    瀏覽量

    138163
  • CAN總線
    +關(guān)注

    關(guān)注

    145

    文章

    1987

    瀏覽量

    132888
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    Linux嵌入式和單片機嵌入式的區(qū)別?

    Linux嵌入式與單片機嵌入式在多個方面存在顯著的區(qū)別,以下是詳細的比較和歸納: 一、基本概念 1. Linux嵌入式: 定義:將Linux操作
    發(fā)表于 06-20 09:46

    飛凌嵌入式ElfBoard ELF 1板卡-文件系統(tǒng)簡介

    是第一個在GPL協(xié)議下發(fā)布的適用于大容量存儲設備的日志型文件系統(tǒng)。和JFFS2相比它減少了一些功能,所以速度更快,而且對內(nèi)存的占用比較小。此外,YAFFS自帶NAND芯片的驅(qū)動,并且為
    發(fā)表于 06-19 17:22

    嵌入式開發(fā)入門指南:從零開始學習嵌入式

    特定功能的計算機系統(tǒng),廣泛應用于智能家居、工業(yè)控制、醫(yī)療設備、車載系統(tǒng)等領(lǐng)域。 2. 學習嵌入式開發(fā)的前置知識熟悉C語言編程掌握基本的數(shù)據(jù)結(jié)
    發(fā)表于 05-15 09:29

    嵌入式系統(tǒng)開發(fā)圣經(jīng)【干貨】

    內(nèi)容包括:嵌入式系統(tǒng)的介紹、嵌入式SoC硬件系統(tǒng)概論、嵌入式系統(tǒng)軟件開發(fā)。適
    發(fā)表于 03-12 13:58

    ARM嵌入式實時操作系統(tǒng)比較

    嵌入式系統(tǒng)領(lǐng)域,實時操作系統(tǒng)(RTOS)是確保任務按時完成的關(guān)鍵技術(shù)。ARM架構(gòu)因其低功耗、高性能的特點,在嵌入式系統(tǒng)中得到了廣泛應用。本
    的頭像 發(fā)表于 12-28 09:15 ?1424次閱讀

    新手怎么學嵌入式?

    基本的概念。嵌入式系統(tǒng)是一種將計算機技術(shù)嵌入到特定設備中的系統(tǒng),它通常具有特定的功能和有限的資源。你需要學習一些計算機基礎(chǔ)知識,如數(shù)據(jù)結(jié)構(gòu)、
    發(fā)表于 12-12 10:51

    什么是嵌入式人工智能

    嵌入式人工智能是指將人工智能技術(shù)應用于嵌入式系統(tǒng)中的一種技術(shù)。嵌入式系統(tǒng)
    的頭像 發(fā)表于 12-11 09:23 ?1011次閱讀
    什么是<b class='flag-5'>嵌入式</b>人工智能

    嵌入式系統(tǒng)開發(fā)與硬件的關(guān)系 嵌入式系統(tǒng)開發(fā)常見問題解決

    嵌入式系統(tǒng)開發(fā)與硬件的關(guān)系 嵌入式系統(tǒng)是專為特定應用設計的計算機系統(tǒng),它們通常嵌入在所控制的
    的頭像 發(fā)表于 12-09 09:38 ?974次閱讀

    mmc卡在嵌入式系統(tǒng)中的使用

    。多媒體卡(MultiMediaCard,簡稱MMC)作為一種小型、高性能、低成本的存儲解決方案,被廣泛應用于嵌入式系統(tǒng)中。 1. MMC卡的工作原理 MMC卡是一種基于閃存技術(shù)的存儲
    的頭像 發(fā)表于 11-25 09:58 ?1185次閱讀

    adc在嵌入式系統(tǒng)中的應用 常見的adc接口類型比較

    ADC(模數(shù)轉(zhuǎn)換器)在嵌入式系統(tǒng)中的應用非常廣泛,它負責將模擬信號轉(zhuǎn)換為數(shù)字信號,以供微處理器或其他數(shù)字設備處理。以下是對ADC在嵌入式系統(tǒng)
    的頭像 發(fā)表于 11-19 16:03 ?2157次閱讀

    嵌入式系統(tǒng)與物聯(lián)網(wǎng)的結(jié)合

    。這兩者的結(jié)合,為智能設備和智能系統(tǒng)的發(fā)展提供了強大的動力。 一、嵌入式系統(tǒng)與物聯(lián)網(wǎng)的基本概念 嵌入式
    的頭像 發(fā)表于 11-06 10:23 ?1112次閱讀

    什么是嵌入式?一文讀懂嵌入式主板

    在現(xiàn)代科技浪潮中,嵌入式技術(shù)已成為支撐各種智能設備系統(tǒng)運行的核心力量。那么,究竟什么是嵌入式?嵌入式
    的頭像 發(fā)表于 10-16 10:14 ?2617次閱讀

    嵌入式主板是什么意思?嵌入式主板全面解析

    嵌入式主板,通常被稱為嵌入式系統(tǒng)的核心組件,是一種用于控制和數(shù)據(jù)處理的計算機硬件,其設計旨在嵌入特定設備
    的頭像 發(fā)表于 09-30 10:05 ?1627次閱讀

    嵌入式系統(tǒng)的硬件架構(gòu)

    特定的任務,并嵌入到更大的設備系統(tǒng)中,以實現(xiàn)對宿主對象的控制、監(jiān)測或輔助等功能。嵌入式系統(tǒng)廣泛應用于
    的頭像 發(fā)表于 09-29 16:29 ?1010次閱讀

    嵌入式系統(tǒng)的未來趨勢有哪些?

    (ML)技術(shù)的快速發(fā)展,嵌入式系統(tǒng)將更多地整合這些先進技術(shù),以支持智能決策和自動化。在設備上直接運行AI和ML模型,進行圖像識別、自然語言處理、預測分析等任務,將極大提升嵌入式
    發(fā)表于 09-12 15:42