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

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

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

解密運(yùn)行片外Flash中的app代碼

STM32單片機(jī) ? 來(lái)源:STM32單片機(jī) ? 作者:STM32單片機(jī) ? 2020-09-09 13:54 ? 次閱讀

使用STM32L5的OTFDEC和ICACHE功能實(shí)時(shí)高效運(yùn)行片外Flash中的加密代碼

簡(jiǎn)介

目標(biāo)

? 保護(hù)外置Flash中的代碼和數(shù)據(jù)的機(jī)密性

? 同時(shí)提高外部Flash中代碼的運(yùn)行效率

利用STM32L5的新特性

OTFDEC →

? OnTheFlyDECrypt硬件可以實(shí)時(shí)解密外置OSPI Flash中的數(shù)據(jù)和代碼,從而CPU能夠直接運(yùn)行片外Flash上的加密代碼

? 外部Flash的代碼和數(shù)據(jù)能夠以加密的形式存放在外部Flash中,達(dá)到保護(hù)代碼/數(shù)據(jù)的功能

ICACHE →

? 總線矩陣前的8KB 指令與數(shù)據(jù)Cache

? 支持將外部Memory地址Remap到Code Address,從而提高放置在外部Flash中的代碼運(yùn)行效率

示例

? 基于在STM32L562-DK板,一部分代碼運(yùn)行在片外OSPI Flash

? 通過(guò)PC端軟件openssl對(duì)片外Flash代碼binary進(jìn)行加密后寫(xiě)入片外Flash

? 初始化過(guò)程將配置OTFDEC和ICACHE,實(shí)時(shí)解密運(yùn)行片外Flash中的app代碼

內(nèi)容目錄 示例代碼介紹

示例代碼結(jié)構(gòu)

示例代碼Flash存儲(chǔ)布局

示例代碼linker file(Flash部分)

示例代碼流程

OTFDEC與ICACHE

ICache配置

OTFDEC配置

使用openssl加密片外Flash代碼內(nèi)容 示例運(yùn)行演示

點(diǎn)擊閱讀原文,下載教程

原文標(biāo)題:使用STM32L5的OTFDEC和ICACHE功能實(shí)時(shí)高效運(yùn)行片外Flash中的加密代碼

文章出處:【微信公眾號(hào):STM32單片機(jī)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

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

    關(guān)注

    10

    文章

    1650

    瀏覽量

    149563
  • STM32
    +關(guān)注

    關(guān)注

    2277

    文章

    10951

    瀏覽量

    359242

原文標(biāo)題:使用STM32L5的OTFDEC和ICACHE功能實(shí)時(shí)高效運(yùn)行片外Flash中的加密代碼

文章出處:【微信號(hào):STM32_STM8_MCU,微信公眾號(hào):STM32單片機(jī)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    STM32F103 flashapp區(qū)域有上一次的殘留代碼,會(huì)造成死機(jī)怎么解決?

    代碼是連接在一起。 右圖為正常的flash代碼。 所以想請(qǐng)教一下,左圖中的那種flash,從理論上來(lái)講,連接在正常
    發(fā)表于 03-11 07:29

    設(shè)計(jì)采用兩ADS7952,他們的基準(zhǔn)源可以使用一REF5025嗎?

    我的設(shè)計(jì)采用兩ADS7952,他們的基準(zhǔn)源我可以使用一REF5025么?這樣的會(huì)有什么弊端沒(méi)有哎?
    發(fā)表于 12-27 07:07

    基于NXP MCXA153 MCU實(shí)現(xiàn)RT-Thread的MTD NOR Flash驅(qū)動(dòng)

    在嵌入式系統(tǒng),Flash存儲(chǔ)器是一個(gè)關(guān)鍵組件,用于存儲(chǔ)程序代碼和關(guān)鍵數(shù)據(jù)。本文將詳細(xì)介紹如何在NXPMCXA153 MCU上實(shí)現(xiàn)RT-Thread的MTD (Memory Tec
    的頭像 發(fā)表于 11-09 14:00 ?757次閱讀
    基于NXP MCXA153 MCU實(shí)現(xiàn)RT-Thread的MTD NOR <b class='flag-5'>Flash</b>驅(qū)動(dòng)

    請(qǐng)問(wèn)如何使用SRAM?

    Hi , 在項(xiàng)目中,我們需要增加SRAM,型號(hào)是IS62WVS5128GALL 大小是512kb,請(qǐng)問(wèn)你們是否支持此IC,能否提供驅(qū)動(dòng)或者demo?
    發(fā)表于 06-25 08:01

    ESP32C3通過(guò)QSPI flash來(lái)運(yùn)行代碼,如果頻繁地存儲(chǔ)錄音音頻數(shù)據(jù),會(huì)影響程序運(yùn)行嗎?

    ESP32C3通過(guò)QSPI flash 來(lái)運(yùn)行代碼,如果頻繁地存儲(chǔ)錄音音頻數(shù)據(jù),會(huì)影響程序運(yùn)行嗎?有這個(gè)風(fēng)險(xiǎn)嗎?
    發(fā)表于 06-20 08:28

    請(qǐng)問(wèn)opencv組件.bss太大了怎么放到RAM?

    我試過(guò) 在定義時(shí),cv::QRCodeDetector QRdetecter 前面加 EXT_RAM_BSS_ATTR,但是并沒(méi)有用。IDF文檔中提到,利用鏈接器片段方案 extram_bss 將組件或庫(kù)的 BSS 段放到 RAM
    發(fā)表于 06-05 08:19

    vscode flash不燒錄app.bin文件怎么解決?

    /partition-table.bin未燒錄app的bin文件,查看目錄app.bin文件存在,且使用flash_download_tool在對(duì)應(yīng)地址燒錄app.bin文件能夠正常燒
    發(fā)表于 06-05 06:20

    STM32是如何從flash讀取指令并執(zhí)行的?

    的時(shí)候就要解密,現(xiàn)在衍生了另一個(gè)問(wèn)題就是我STM32是如何從flash讀取指令并執(zhí)行的?是讀一句執(zhí)行依據(jù)還是將flash里面的程序整體讀到內(nèi)部ram里面再執(zhí)行的?如果是前者,那么我讀密文程序指令的時(shí)候
    發(fā)表于 04-24 07:09

    STM32H750內(nèi)flash對(duì)同一flash地址做二次修改出錯(cuò)是哪里的問(wèn)題?

    ,也希望有官方技術(shù)支持能夠驗(yàn)證一下提供方案,畢竟如果H750的內(nèi)flash只支持寫(xiě)一次的話,除了放一個(gè)bootloader還有什么意義。 望解,謝謝!
    發(fā)表于 04-23 06:16

    STM32flash能否讀取正在運(yùn)行代碼段內(nèi)容?

    如題 小弟想請(qǐng)教下大家 STM32flash的讀取問(wèn)題。舉個(gè)例子: 函數(shù)的功能是 讀取flash 0x0800_1000~0x0800_2000的存儲(chǔ)內(nèi)容 函數(shù)存儲(chǔ)在
    發(fā)表于 04-16 07:22

    如何將bootloader代碼flash搬到RAM運(yùn)行

    如何將bootloader 代碼flash 搬到RAM 運(yùn)行
    發(fā)表于 04-03 07:14

    app擦除非自己flash空間地址死機(jī)的原因?怎么解決?

    我的app1程序運(yùn)行在0x8000000開(kāi)始地址,size為0x3FFFF的空間. 我的app2程序運(yùn)行在0x8040000開(kāi)始地址,size為0x3FFFF的空間.
    發(fā)表于 04-01 07:49

    如何將bootloader代碼flash搬到RAM運(yùn)行

    如何將bootloader 代碼flash 搬到RAM 運(yùn)行
    發(fā)表于 04-01 07:10

    STM32 IAP升級(jí),KEIL如何一份代碼運(yùn)行于兩個(gè)APP區(qū)?

    校驗(yàn)。目前的問(wèn)題是,沒(méi)辦法使用一份代碼運(yùn)行兩個(gè)APP。兩個(gè)APP,則IAP跳轉(zhuǎn)不同的APP,跳轉(zhuǎn)的地址不一樣,則
    發(fā)表于 03-26 07:20

    通用bootloader選“支持spi flash”,無(wú)論設(shè)定download為內(nèi)還是flash啟動(dòng)都找不到at45db161,為什么?

    flash”,spi引腳設(shè)定無(wú)誤,無(wú)論設(shè)定download為內(nèi)還是flashapp內(nèi)分
    發(fā)表于 03-22 07:45