性无码一区二区三区在线观看,少妇被爽到高潮在线观看,午夜精品一区二区三区,无码中文字幕人妻在线一区二区三区,无码精品国产一区二区三区免费

RT-UFL - 一個適用全平臺i.MXRT的超級下載算法設(shè)計

大家好,我是痞子衡,是正經(jīng)搞技術(shù)的痞子。今天給大家?guī)淼氖瞧ψ雍獾拈_源項目 RT-UFL。

痞子衡在近兩年多的i.MXRT客戶項目支持過程中,遇到的一個相當(dāng)高頻的問題就是制作i.MXRT下載算法。我們知道i.MXRT沒有內(nèi)置非易失性存儲器,一般都要外掛一塊存儲器用于加載啟動,最常用的是通過FlexSPI外設(shè)外掛串行NOR Flash,掛了NOR Flash我們既可以離線啟動,也可以在線調(diào)試,而在線調(diào)試就必然離不開下載算法。

因為是外掛Flash,所以下載算法需要根據(jù)Flash的連接以及型號而定,這就需要根據(jù)客戶板子實際情況來制作匹配的下載算法。下載算法對于了解其原理的人來說,制作一個并不難,但是對于不了解的人來說卻又不容易。從我們i.MXRT原廠技術(shù)支持角度,重復(fù)的工作我們又不太想一次次去做,基于此,痞子衡發(fā)起了一個開源項目,命名為 RT-UFL,就是設(shè)計一個超級下載算法。這個項目目前還處于研發(fā)階段,如果大家有更好的建議和想法,歡迎在文章下面留言。

項目地址:https://github.com/JayHeng/RT-UFL

一、簡介

RT-UFL 是一個適用全平臺i.MXRT的通用Flash下載算法項目,項目的最終目標(biāo)是做到一個.FLM文件適用所有的i.MXRT開發(fā)板,且不論其連接的哪款Flash型號。

RT-UFL 主要是為了解決如下七大痛點:

1. 每一個i.MXRT型號都需要一個單獨的下載算法文件.
2. 同一個i.MXRT型號搭配不同屬性的Flash也需要不同的算法文件.
3. 同一個i.MXRT型號搭配相同特性的Flash但Flash出廠設(shè)置不同(有無SFDP、QE默認(rèn)狀態(tài)燈)也需要不同的算法文件.
4. Flash連接到i.MXRT不同的FlexSPI引腳上也可能需要不同的算法文件.
5. 如果下載算法公共設(shè)計部分有不可忽視的缺陷,需要整體更新全部i.MXRT型號對應(yīng)的下載算法.
6. 對于下載算法的發(fā)布,沒有一個統(tǒng)一的版本管理.
7. 在量產(chǎn)過程中,如果更換了Flash型號,則需要對應(yīng)更換算法文件,對于工廠流程來說有點麻煩.

RT-UFL 從設(shè)計上分為三層:

最底層是Driver層:即Low-level驅(qū)動,對于i.MXRT來說,就是FlexSPI模塊的驅(qū)動。

中間是Adapter層:這一層是最核心的,它實現(xiàn)了全i.MXRT平臺、全Flash型號的自適應(yīng)支持。

最頂層是API層:這屬于下載算法模板,其實由集成開發(fā)環(huán)境(Keil、JLink)決定了,不可更改。

二、特性

為了使 RT-UFL 成為一個超級下載算法,它至少要包含如下八個特性:

1. 可以跑在所有i.MXRT型號下.
2. 可以支持能用作i.MXRT可啟動設(shè)備的所有類型Flash.
3. 可以擦寫連在i.MXRT可啟動FleXSPI引腳上的Flash.
4. 可以自動識別連接的Flash類型(QuadSPI, Octal-SPI, Hyperbus).
5. 可以自動檢測Flash中有無SFDP及其版本.
6. 可以支持不含SFDP表的Flash.
7. 可以自動識別Flash的默認(rèn)QE狀態(tài)并開啟QE.
8. 可以輸出一些有效的Flash信息以便后續(xù)啟動.

痞子衡會記錄 RT-UFL 項目開發(fā)過程所有疑難點及其解決方法,和大家分享下載算法設(shè)計背后的奧秘,后續(xù)文章敬請期待!

聲明:本內(nèi)容為作者獨立觀點,不代表電子星球立場。未經(jīng)允許不得轉(zhuǎn)載。授權(quán)事宜與稿件投訴,請聯(lián)系:editor@netbroad.com
覺得內(nèi)容不錯的朋友,別忘了一鍵三連哦!
贊 1
收藏 2
關(guān)注 41
成為作者 賺取收益
全部留言
0/200
成為第一個和作者交流的人吧