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

    文章

    1549

    浏览量

    146637
  • STM32
    +关注

    关注

    2239

    文章

    10669

    浏览量

    348709

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

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

收藏 人收藏

    评论

    相关推荐

    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

    瑞萨Flash示例程序01型SC版本(代码Flash)应用说明

    电子发烧友网站提供《瑞萨Flash示例程序01型SC版本(代码Flash)应用说明.pdf》资料免费下载
    发表于 02-19 13:48 0次下载
    瑞萨<b class='flag-5'>Flash</b>示例程序01型SC版本(<b class='flag-5'>代码</b><b class='flag-5'>Flash</b>)应用说明

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

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

    为什么GD32F303代码运行flash比sram更快?

    我们知道一般MCU的flash有等待周期,随主频提升需要插入flash读取的等待周期,以stm32f103为例,主频在72M时需要插入2个等待周期,故而代码效率无法达到最大时钟频率。
    的头像 发表于 01-31 09:43 357次阅读
    为什么GD32F303<b class='flag-5'>代码</b><b class='flag-5'>运行</b>在<b class='flag-5'>flash</b>比sram更快?

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

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

    请问外挂FLASHFLASH只能二选一吗?

    1、使用STM32F4XX,FLASH大小为1M,然后外挂一W25Q128的FLASH,该外挂FLASH做文件系统使用,在ENV里面使
    发表于 09-08 17:44

    ymodem传输文件到flash,通过ls命令查看flash没有文件是怎么回事?

    我现在在做ota,通过485串口基于ymodem协议将升级文件传输到flash,然后再bootloader检测升级文件(因项目原因没
    发表于 09-08 15:45

    代码如何运行的?

    具体要看是什么Flash,如果是NOR Flash,那么系统可以直接访问执行。如果是NAND Flash,则需要将代码加载到RAM中再运行
    发表于 07-05 12:31 709次阅读
    <b class='flag-5'>代码</b>如何<b class='flag-5'>运行</b>的?

    ICP可以将代码下载到内的SPI Flash?

    1. IAR 调试NUC505时,感觉代码是在 SRAM运行,那么IAR如何将代码下载到内的 SPI
    发表于 06-16 08:18

    如何才能使用iMXRT1176上的SRAM和QSPI flash

    我们正在使用 iMXRT1176。我们的要求是使用上SRAM和QSPI flash。 我们在 SDK 中使用 sd_jpeg 示例并且它运行完美。 给出了两个 icf 文件: 1) 内存
    发表于 05-05 06:38