內存先行
配置初始化流程
這里先放一張圖,芯片手冊提供的標準流程,后面會對每一個步驟進行解析
(相關資料圖)
運行時流程
這里也先放一張圖,芯片手冊提供的標準流程,后面會對每一個步驟進行解析
軟件實現
從這里開始我們要對第二三兩章的圖進行一一實現。
一般來說是什么樣的流程呢,簡單的來說。下圖
讀取當前bank
當配置完SOTA之后,下一次上電,MCU會做什么呢。會首先讀取UCB里面的SOTA配置信息。發現了SOTA被配置上了。則要做下面兩件事
因為地址重映射了,訪問路徑變了,什么意思呢?答:訪問自己的pflash路徑變了。直達的路線不給訪問了,都需要走上面的總線。所以讀寫自己pflash速度可能會變慢。
通過下面寄存器自動寫入。
把當前的bank信息寫入寄存器,沒錯就是下面的寄存器。所以我們可以通過這個寄存器來獲取當前所在的bank.
到這里第一步讀取當前的bank已經清楚了,并且也清楚什么時候這個寄存器被賦值的。
下一步根據當前的bank來選擇刷寫的地址。我們配置mcal的flashload都知道這個函數。
根據當前bank來刷寫固件
這里面其中一個形參就是mcu的具體地址。
在使用SOTA時候,這個地址是需要注意的。也就是最上面我們給出的兩張圖。如果你下一次需要運行在BankB 那么這次刷寫的地址需要有個offset. 好吧,把上面圖復制下來仔細說一下。
就是這里當我們下一次需要運行在Bank B 我們的hex/s19文件本身的地址是不需要變化的。假設我們的hex地址開始是0x80001000 那么 這個就需要被刷寫到0x80601000這個地址。當我們把地址明確了之后,就和普通的bootloader 刷寫程序一樣。等待刷寫流程走完后。到了我們下一步,配置SOTA 和 寫入 SOTA。這里為什么提了一下寫入呢。因為這個寫SOTA有點特殊,因為這個配置信息是存在UCB里面的UCB_SWAP_ORIG/COPY 。這個位置是可能會把板子搞壞的位置。
配置SOTA
最開始的流程圖在這里就用上了。我們這里先不考慮HSM的情況,這塊容易死機。
首先根據這個圖,直到第一步是要擦除掉現在已經有的UCB。除非是第一次。否則都需要先擦除一遍。
但是這里要先注意一下SOTA的狀態,是否enable. 通過下面寄存器進行配置。具體可以看一下手冊解釋。
接上面,擦除方式呢?這里屬于Dflash的位置,用Dflash最原始的辦法就可以了。
擦除完之后就要根據當前的bank來選擇寫入的配置字。其實就是寫入UCB里面。和上面擦除一樣。這里屬于dflash, 寫的方式可以使用dmu.具體寫的內容就是下面的兩個位置。根據上面的參數即可。
具體數值呢?就是上面提到的0xAA 或者是0x55。下面的confirm呢?這里是固定的數據。
到了這里就到了流程的尾部。
系統reset, reset之后 啟動過程芯片會自動通過ucb的配置,來切換到另一個bank.
會員權益:(點擊可進入)談思實驗室VIP會員
關鍵詞:
深圳VS南通支云:保級生死戰,南通支云客場不敗? 中超聯賽第23輪,深圳隊坐鎮主場迎戰南通支云隊。在本輪比賽之前,深圳
四會富仕:公司生產正常,訂單穩定,詳情請留意即將于8月30日披露的《2023年半年度報告》 四會富仕(300852)08月20日在投資者關系平臺上答復了投資者關心的問題。
打造產業新高地,長三角示范區五鎮共引共育集成電路產業 今天(8月18日)下午,長三角生態綠色一體化發展示范區先行啟動區集成
欠了網貸不還就以為自己是老賴- 欠了網貸不還,以為自己是老賴?隨著互聯網的發展,網貸平臺逐漸成為人們
蒙飛(關于蒙飛簡述) ,你們好,今天0471房產來聊聊一篇飛,飛簡述的文章,網友們對這件事情
男主放在女主身體里面(男主塞在女主體內上街) 1、蘇菲瑪索主演電影《初吻》音樂:richardsanderson--reality導演:克
美發師時麗: 30余年志愿路“剪”出愛心與溫情 時麗義務為孩子理發□記者申長明做公益是一件很容易的事,但不容易的是