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

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

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

解密運行片外Flash中的app代碼

STM32單片機 ? 來源:STM32單片機 ? 作者:STM32單片機 ? 2020-09-09 13:54 ? 次閱讀

使用STM32L5的OTFDEC和ICACHE功能實時高效運行片外Flash中的加密代碼

簡介

目標

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

? 同時提高外部Flash中代碼的運行效率

利用STM32L5的新特性

OTFDEC →

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

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

ICACHE →

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

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

示例

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

? 通過PC端軟件openssl對片外Flash代碼binary進行加密后寫入片外Flash

? 初始化過程將配置OTFDEC和ICACHE,實時解密運行片外Flash中的app代碼

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

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

示例代碼Flash存儲布局

示例代碼linker file(Flash部分)

示例代碼流程

OTFDEC與ICACHE

ICache配置

OTFDEC配置

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

點擊閱讀原文,下載教程

原文標題:使用STM32L5的OTFDEC和ICACHE功能實時高效運行片外Flash中的加密代碼

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

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

    關(guān)注

    10

    文章

    1598

    瀏覽量

    147342
  • STM32
    +關(guān)注

    關(guān)注

    2258

    文章

    10828

    瀏覽量

    352520

原文標題:使用STM32L5的OTFDEC和ICACHE功能實時高效運行片外Flash中的加密代碼

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

收藏 人收藏

    評論

    相關(guān)推薦

    請問如何使用SRAM?

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

    ESP32C3通過QSPI flash運行代碼,如果頻繁地存儲錄音音頻數(shù)據(jù),會影響程序運行嗎?

    ESP32C3通過QSPI flash運行代碼,如果頻繁地存儲錄音音頻數(shù)據(jù),會影響程序運行嗎?有這個風險嗎?
    發(fā)表于 06-20 08:28

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

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

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

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

    如何將bootloader代碼flash搬到RAM運行

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

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

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

    如何將bootloader代碼flash搬到RAM運行?

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

    STM32 IAP升級,KEIL如何一份代碼運行于兩個APP區(qū)?

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

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

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

    GD32F系列MCUFlashCode區(qū)和Data區(qū)使用解密

    GD32F系列MCU產(chǎn)品Flash分Code區(qū)和Data區(qū),以GD32F303系列為例,從GD32F303xx Datasheet可以獲取code區(qū)和data區(qū)大小,那Code區(qū)和Data區(qū)在
    的頭像 發(fā)表于 01-09 10:07 ?2270次閱讀
    GD32F系列MCU<b class='flag-5'>片</b>上<b class='flag-5'>Flash</b><b class='flag-5'>中</b>Code區(qū)和Data區(qū)使用<b class='flag-5'>解密</b>

    linux虛擬機怎么運行代碼

    運行代碼是Linux虛擬機的常見操作,本文將詳細介紹如何運行代碼。 首先,要運行
    的頭像 發(fā)表于 11-17 10:12 ?3941次閱讀

    嵌入式開發(fā),如何將Flash的程序轉(zhuǎn)移到RAM運行?

    嵌入式開發(fā),如何將Flash的程序轉(zhuǎn)移到RAM運行? Flash存儲器是嵌入式設(shè)備中常用的
    的頭像 發(fā)表于 10-29 16:23 ?2883次閱讀

    ARM STM32的程序是在RAM里還是在FLASH運行

    STM32有兩個存儲空間,一個是上的FLASH,一個是上的RAM。RAM相當于內(nèi)存,FLASH相當于硬盤。
    的頭像 發(fā)表于 10-27 14:06 ?3681次閱讀
    ARM STM32<b class='flag-5'>中</b>的程序是在RAM里還是在<b class='flag-5'>FLASH</b>里<b class='flag-5'>運行</b>?

    程序運行在STM32H750的FLASH上兩小時后死機該如何處理

    程序運行在 STM32H750 的FLASH 上兩小時后死機
    的頭像 發(fā)表于 10-24 15:20 ?2543次閱讀
    程序<b class='flag-5'>運行</b>在STM32H750的<b class='flag-5'>外</b>擴<b class='flag-5'>FLASH</b>上兩小時后死機該如何處理

    flash使用文件系統(tǒng)筆記

    由于之前需要使用上的flash多余的部分來搭建文件系統(tǒng),但是沒有找到使用上的教程,都是利用fl
    的頭像 發(fā)表于 10-13 17:00 ?1872次閱讀
    <b class='flag-5'>片</b>上<b class='flag-5'>flash</b>使用文件系統(tǒng)筆記