色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

OTA的swap Bank AB升級方案

jf_EksNQtU6 ? 來源:ZOTECK ? 2023-08-19 14:41 ? 次閱讀

“ 本文通過從芯片手冊,寄存器到代碼實現來梳理ota的bank AB升級方案, 舉例芯片 aurix Tc397”

01—內存先行

首先要評估flash夠不夠,如果flash都不夠,就無從SWAP機制可談。

正常情況下,我們的芯片有6塊flash可以用。如下圖

3b666608-3dae-11ee-ac96-dac502259ad0.png

在激活OTA配置的時候,內存映射發生了變化。如下圖

3baec92a-3dae-11ee-ac96-dac502259ad0.png

從這兩張圖可以看出來,如果打開OTA配置的話,我們實際上可以用的flash 只有7M. 當然如果是別的芯片可用的flash會更少。這點是一開始就需要評估好的。否則芯片提供的機制無法滿足需求。

02—配置初始化流程

這里先放一張圖,芯片手冊提供的標準流程,后面會對每一個步驟進行解析

3bdc01b0-3dae-11ee-ac96-dac502259ad0.png

03—運行時流程

這里也先放一張圖,芯片手冊提供的標準流程,后面會對每一個步驟進行解析

3c02d074-3dae-11ee-ac96-dac502259ad0.png

04—軟件實現

從這里開始我們要對第二三兩章的圖進行一一實現。

一般來說是什么樣的流程呢,簡單的來說。下圖

3c31c08c-3dae-11ee-ac96-dac502259ad0.png

05—讀取當前bank

當配置完SOTA之后,下一次上電,MCU會做什么呢。會首先讀取UCB里面的SOTA配置信息。發現了SOTA被配置上了。則要做下面兩件事

因為地址重映射了,訪問路徑變了,什么意思呢?答:訪問自己的pflash路徑變了。直達的路線不給訪問了,都需要走上面的總線。所以讀寫自己pflash速度可能會變慢。

3c56bb1c-3dae-11ee-ac96-dac502259ad0.png

通過下面寄存器自動寫入。

3c84c804-3dae-11ee-ac96-dac502259ad0.png

/** rief CPUx Flash Configuration Register 4 */
typedef struct _Ifx_CPU_FLASHCON4_Bits
{
    Ifx_Strict_32Bit DDIS:1;          /**< rief [0:0] Disable direct LPB access (rw) */
    Ifx_Strict_32Bit reserved_1:31;    /**< rief [31:1] internal Reserved */
} Ifx_CPU_FLASHCON4_Bits;

把當前的bank信息寫入寄存器,沒錯就是下面的寄存器。所以我們可以通過這個寄存器來獲取當前所在的bank.

3ca21328-3dae-11ee-ac96-dac502259ad0.png

SCU_SWAPCTRL.B.ADDRCFG

到這里第一步讀取當前的bank已經清楚了,并且也清楚什么時候這個寄存器被賦值的。

下一步根據當前的bank來選擇刷寫的地址。我們配置mcal的flashload都知道這個函數。

06—根據當前bank來刷寫固件

FlsLoader_ReturnType FlsLoader_Write(const FlsLoader_AddressType TargetAddress,
                                     const FlsLoader_LengthType Length,
                                     const uint8* const SourceAddressPtr)

這里面其中一個形參就是mcu的具體地址。

在使用SOTA時候,這個地址是需要注意的。也就是最上面我們給出的兩張圖。如果你下一次需要運行在BankB 那么這次刷寫的地址需要有個offset. 好吧,把上面圖復制下來仔細說一下。

3baec92a-3dae-11ee-ac96-dac502259ad0.png

就是這里當我們下一次需要運行在Bank B 我們的hex/s19文件本身的地址是不需要變化的。假設我們的hex地址開始是0x80001000 那么 這個就需要被刷寫到0x80601000這個地址。當我們把地址明確了之后,就和普通的bootloader 刷寫程序一樣。等待刷寫流程走完后。到了我們下一步,配置SOTA 和 寫入 SOTA。這里為什么提了一下寫入呢。因為這個寫SOTA有點特殊,因為這個配置信息是存在UCB里面的UCB_SWAP_ORIG/COPY
。這個位置是可能會把板子搞壞的位置。

07—配置SOTA

最開始的流程圖在這里就用上了。我們這里先不考慮HSM的情況,這塊容易死機。

3cf6c594-3dae-11ee-ac96-dac502259ad0.png

首先根據這個圖,直到第一步是要擦除掉現在已經有的UCB。除非是第一次。否則都需要先擦除一遍。

但是這里要先注意一下SOTA的狀態,是否enable. 通過下面寄存器進行配置。具體可以看一下手冊解釋。

3d2b4e5e-3dae-11ee-ac96-dac502259ad0.png

接上面,擦除方式呢?這里屬于Dflash的位置,用Dflash最原始的辦法就可以了。

擦除完之后就要根據當前的bank來選擇寫入的配置字。其實就是寫入UCB里面。和上面擦除一樣。這里屬于dflash, 寫的方式可以使用dmu.具體寫的內容就是下面的兩個位置。根據上面的參數即可。

3d40a3bc-3dae-11ee-ac96-dac502259ad0.png

具體數值呢?就是上面提到的0xAA 或者是0x55。下面的confirm呢?這里是固定的數據。

3d608f60-3dae-11ee-ac96-dac502259ad0.png

到了這里就到了流程的尾部。

3d7d5884-3dae-11ee-ac96-dac502259ad0.png

系統reset, reset之后 啟動過程芯片會自動通過ucb的配置,來切換到另一個bank.

審核編輯:湯梓紅

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

    關注

    456

    文章

    50938

    瀏覽量

    424686
  • FlaSh
    +關注

    關注

    10

    文章

    1638

    瀏覽量

    148182
  • 內存
    +關注

    關注

    8

    文章

    3034

    瀏覽量

    74137
  • SWAP
    +關注

    關注

    0

    文章

    51

    瀏覽量

    12839
  • OTA
    OTA
    +關注

    關注

    7

    文章

    582

    瀏覽量

    35279

原文標題:OTA-swap Bank AB

文章出處:【微信號:談思實驗室,微信公眾號:談思實驗室】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    分享一個基于flash-swap,實現升級的freescale資料

    分享一個基于flash-swap,實現升級的freescale資料
    發表于 12-19 17:01

    OTA固件升級教程

    機智云的OTA服務主要提供以下功能:OTA通知服務,即離線升級。當設備的固件程序有新版本發布,OTA 通知服務會推送升級通知到設備。
    發表于 03-01 18:31

    RK3399平臺Android鏡像-OTA 本地升級、OTA遠程升級

    平臺android鏡像版本升級的兩種方式OTA 本地升級OTA遠程升級以及OTA
    發表于 08-11 10:00

    嵌入式OTA升級實現原理是什么

    目錄一、簡介1.1 概念1.2 優點1.3 實現原理二、MCU OTA升級2.1 制作升級包2.2 下載升級包2.3 驗簽升級包2.4 更新
    發表于 12-14 07:24

    什么是在線OTA升級

    什么是在線OTA升級- OTA是Over-the-Air的簡寫,空中下載技術的意思。- OTA在線升級在日常消費電子產品中很常見,比如手機,
    發表于 12-22 07:44

    設備OTA空中升級原理是什么

    1.背景沒有完美的軟件,因為設計缺陷、業務需求更新,軟件始終都在不斷升級完善。新軟件如何替換正在運行的舊軟件就是本文關注的重點,尤其是針對電子產品,設備空中升級OTA,受限于硬件資源,需要選擇
    發表于 01-19 07:44

    RT-thread實現U盤升級的一種OTA方案

    我前面介紹過RT-thread的一種OTA方案,可以通過串口或者網絡進行遠程升級,那今天在原來的這套方案的基礎上做一些修改,實現U盤升級。相
    發表于 01-20 06:17

    OTA升級方法

    簡介OTA升級是嵌入式設備幾乎都有的一項功能。對于簡單的設備來說,例如單片機設備,OTA升級需要將新的固件刷寫到FLASH上即可;對于高級一點的Linux設備來說,更加復雜,首先需要對
    發表于 01-25 08:12

    如何升級OTA

    如何升級OTA
    發表于 02-14 06:27

    如何實現OpenHarmony的OTA升級

    OTA簡介隨著設備系統日新月異,用戶如何及時獲取系統的更新,體驗新版本帶來的新的體驗,以及提升系統的穩定性和安全性成為了每個廠商都面臨的嚴峻問題。OTA(Over the Air)提供對設備遠程升級
    發表于 02-07 10:29

    AB swap不支持啟用cache的應用嗎?

    AB swap不支持啟用cache的應用嗎?Hse切換分區函數(AB swap)時,發現只要打開Dcache,接口函數就無法運行。如果我關閉 Dcache,它將運行
    發表于 03-20 06:20

    在線升級 | 物聯網中的OTA升級原理

    從最新的固件方式來看,可以分成以下幾類 0 1 OTA升級 1.1? 概念 OTA:Over-the-Air Technology,即空中下載技術。 OTA
    的頭像 發表于 02-03 02:40 ?1391次閱讀

    OTA是什么?OTA升級有何用?

    ota是什么?ota升級是什么意思?很多用智能手機的人應該都會知道 ota是什么 ,而對于一些剛入門的機友們,ROOT、刷機、越獄都比較熟悉,但OT
    的頭像 發表于 03-15 14:36 ?8188次閱讀

    在線升級 | 物聯網中的OTA升級原理

    從最新的固件方式來看,可以分成以下幾類01OTA升級1.1概念OTA:Over-the-AirTechnology,即空中下載技術。OTA升級
    的頭像 發表于 02-02 09:59 ?1547次閱讀
    在線<b class='flag-5'>升級</b> | 物聯網中的<b class='flag-5'>OTA</b><b class='flag-5'>升級</b>原理

    詳解藍牙空中升級(BLE OTA)原理與步驟

    如何實現BLE OTA?什么叫DFU?如何通過UART實現固件升級?又如何通過USB實現固件升級?怎么保證升級的安全性?什么叫雙區(dual ban
    的頭像 發表于 07-10 09:36 ?5405次閱讀
    詳解藍牙空中<b class='flag-5'>升級</b>(BLE <b class='flag-5'>OTA</b>)原理與步驟
    主站蜘蛛池模板: 朝鲜美女bbwbbw撒尿| 92电影网午夜福利| 亚洲人成色777777老人头| 亚洲乱码日产精品BD在线下载| 亚洲毛片网| FREECHINESE东北群交| 国产成人无码视频一区二区三区| 国产亚洲999精品AA片在线爽| 久久婷婷五月综合色丁香| 欧美人禽Zozo动人物杂交| 爽爽影院线观看免费| 一级做a爰片久久毛片一| ZZoo兽2皇| 精品人妻无码一区二区三区蜜桃臀 | 99热这里只有 精品| 国产精品人妻无码免费A片导航 | 99婷婷久久精品国产一区二区| 国产电影三级午夜a影院| 狼与美女谐音歌词| 色爰情人网站| 最近免费中文字幕MV在线视频3| 国产爱豆果冻传媒在线观看视频 | 国产亚洲视频精彩在线播放| 久久精品国产清白在天天线| 日韩成人黄色| 在线亚洲精品国产一区麻豆| 成3d漫二区三区四区| 久久久久国产精品嫩草影院| 日本精品久久久久中文字幕| 亚洲一区二区三区免费看| 暗卫受被肉到失禁各种PLAY| 饥渴的40岁熟妇完整版在线| 人妻天天爽夜夜爽三区麻豆A片| 夜色视频社区| 国产精品久久久久AV麻豆| 免费毛片在线视频| 亚州综合网| 草莓在线观看| 久久亚洲成a人片| 亚洲 制服 欧美 中文字幕| 扒开老师大腿猛进AAA片软件|