0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

解密运行片外Flash中的app代码

STM32单片机 来源:STM32单片机 作者:STM32单片机 2020-09-09 13:54 次阅读

使用STM32L5的OTFDEC和ICACHE功能实时高效运行片外Flash中的加密代码

简介

目标

• 保护外置Flash中的代码和数据的机密性

• 同时提高外部Flash中代码的运行效率

利用STM32L5的新特性

OTFDEC →

• OnTheFlyDECrypt硬件可以实时解密外置OSPI Flash中的数据和代码,从而CPU能够直接运行片外Flash上的加密代码

• 外部Flash的代码和数据能够以加密的形式存放在外部Flash中,达到保护代码/数据的功能

ICACHE →

• 总线矩阵前的8KB 指令与数据Cache

• 支持将外部Memory地址Remap到Code Address,从而提高放置在外部Flash中的代码运行效率

示例

• 基于在STM32L562-DK板,一部分代码运行在片外OSPI Flash

• 通过PC端软件openssl对片外Flash代码binary进行加密后写入片外Flash

• 初始化过程将配置OTFDEC和ICACHE,实时解密运行片外Flash中的app代码

内容目录 示例代码介绍

示例代码结构

示例代码Flash存储布局

示例代码linker file(Flash部分)

示例代码流程

OTFDEC与ICACHE

ICache配置

OTFDEC配置

使用openssl加密片外Flash代码内容 示例运行演示

点击阅读原文,下载教程

原文标题:使用STM32L5的OTFDEC和ICACHE功能实时高效运行片外Flash中的加密代码

文章出处:【微信公众号:STM32单片机】欢迎添加关注!文章转载请注明出处。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FlaSh
    +关注

    关注

    10

    文章

    1615

    浏览量

    147685
  • STM32
    +关注

    关注

    2265

    文章

    10859

    浏览量

    354503

原文标题:使用STM32L5的OTFDEC和ICACHE功能实时高效运行片外Flash中的加密代码

文章出处:【微信号:STM32_STM8_MCU,微信公众号:STM32单片机】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    请问如何使用SRAM?

    Hi , 在项目中,我们需要增加SRAM,型号是IS62WVS5128GALL 大小是512kb,请问你们是否支持此IC,能否提供驱动或者demo?
    发表于 06-25 08:01

    ESP32C3通过QSPI flash运行代码,如果频繁地存储录音音频数据,会影响程序运行吗?

    ESP32C3通过QSPI flash运行代码,如果频繁地存储录音音频数据,会影响程序运行吗?有这个风险吗?
    发表于 06-20 08:28

    vscode flash不烧录app.bin文件怎么解决?

    /partition-table.bin未烧录app的bin文件,查看目录app.bin文件存在,且使用flash_download_tool在对应地址烧录app.bin文件能够正常烧
    发表于 06-05 06:20

    STM32flash能否读取正在运行代码段内容?

    如题 小弟想请教下大家 STM32flash的读取问题。举个例子: 函数的功能是 读取flash 0x0800_1000~0x0800_2000的存储内容 函数存储在
    发表于 04-16 07:22

    如何将bootloader代码flash搬到RAM运行

    如何将bootloader 代码flash 搬到RAM 运行
    发表于 04-03 07:14

    app擦除非自己flash空间地址死机的原因?怎么解决?

    我的app1程序运行在0x8000000开始地址,size为0x3FFFF的空间. 我的app2程序运行在0x8040000开始地址,size为0x3FFFF的空间.
    发表于 04-01 07:49

    如何将bootloader代码flash搬到RAM运行

    如何将bootloader 代码flash 搬到RAM 运行
    发表于 04-01 07:10

    STM32 IAP升级,KEIL如何一份代码运行于两个APP区?

    校验。目前的问题是,没办法使用一份代码运行两个APP。两个APP,则IAP跳转不同的APP,跳转的地址不一样,则
    发表于 03-26 07:20

    通用bootloader选“支持spi flash”,无论设定download为内还是flash启动都找不到at45db161,为什么?

    flash”,spi引脚设定无误,无论设定download为内还是flashapp内分
    发表于 03-22 07:45

    GD32的FLASH读、擦除、写操作

    )的GD32F10x_CL和GD32F10x_XD,使用了两闪存;前512KB容量在第一闪存(bank0),后续的容量在第二闪存(bank1)
    的头像 发表于 02-19 12:46 3765次阅读
    GD32的<b class='flag-5'>FLASH</b>读、擦除、写操作

    使用PSoC4的launcher+双App模式,当运行的是App1时,此时更新App1代码就会出现MCU重启的现象是怎么回事?

    最近碰到一个问题,我使用PSoC4的launcher+双App模式,当运行的是App1时,此时更新App1代码就会出现MCU重启的现象。 当
    发表于 02-05 08:23

    GD32F系列MCUFlashCode区和Data区使用解密

    GD32F系列MCU产品Flash分Code区和Data区,以GD32F303系列为例,从GD32F303xx Datasheet可以获取code区和data区大小,那Code区和Data区在
    的头像 发表于 01-09 10:07 2572次阅读
    GD32F系列MCU<b class='flag-5'>片</b>上<b class='flag-5'>Flash</b><b class='flag-5'>中</b>Code区和Data区使用<b class='flag-5'>解密</b>

    21489可以在启动加载程序过程中将SPIFLASH的程序按照一定的解密算法解密后,加载到内部RAM运行吗?

    解密算法解密后,加载到内部RAM运行?这样,只要将编译好的程序经过一定的加密算法处理后,再烧写到SPIFLASH,就算别人能够读出程序也没什么作用。有没有这种功能或者实现方式?
    发表于 11-30 07:47

    python代码写完后点哪个运行

    或命令行界面,输入命令 python ,然后将你的代码粘贴到解释器提示符 >>> 后面,按下回车即可运行代码。 集成开发环境(IDE):IDE是一种提供代码编辑、调试、
    的头像 发表于 11-24 09:28 4975次阅读

    linux虚拟机怎么运行代码

    运行代码是Linux虚拟机的常见操作,本文将详细介绍如何运行代码。 首先,要运行
    的头像 发表于 11-17 10:12 4867次阅读