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

    文章

    1634

    浏览量

    147973
  • STM32
    +关注

    关注

    2270

    文章

    10897

    浏览量

    355833

原文标题:使用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

    STM32H750flash对同一flash地址做二次修改出错是哪里的问题?

    ,也希望有官方威廉希尔官方网站 支持能够验证一下提供方案,毕竟如果H750的flash只支持写一次的话,除了放一个bootloader还有什么意义。 望解,谢谢!
    发表于 04-23 06:16

    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

    STM32F401RCT6在bootloader初始化了usb外设,跳转到app时会失败如何解决?

    在项目中使用了STM32F401RCT6这个芯片,使用cubemx生成的代码,在bootloader初始化了usb外设,去读取U盘的bin更新文件,能读取到并且写入正确flash,
    发表于 03-12 06:17

    FLASH、EEPROM的区别和扩展【硬件干货】

    EEPROM和FLASH总体差异     部分MCU内不带程序存储器ROM,可执行代码只能放在外面的EEPROM、FLASH(扩)
    的头像 发表于 02-27 08:37 1981次阅读
    <b class='flag-5'>FLASH</b>、EEPROM的区别和扩展【硬件干货】

    GD32的FLASH读、擦除、写操作

    )的GD32F10x_CL和GD32F10x_XD,使用了两闪存;前512KB容量在第一闪存(bank0),后续的容量在第二闪存(bank1)
    的头像 发表于 02-19 12:46 4237次阅读
    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 2776次阅读
    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>