| 因为STM32H750自带的FLASH太小,而工程文件超过这个flash的容量,所以需要外挂一块flash来存程序,但是此程序需要加密,然后就遇到了问题。如果我往里面存的是密文,那么我读取的时候就要解密,现在衍生了另一个问题就是我STM32是如何从flash读取指令并执行的?是读一句执行依据还是将flash里面的程序整体读到内部ram里面再执行的?如果是前者,那么我读密文程序指令的时候,还要先去解密再去执行,这样的话我整个程序运行的时间是怎样的呢?如果是后者,那么STM32又是怎样实现整体解密的呢? 希望对程序加解密有经验的朋友能够给一点建议,多谢! |
DMAMUX 使用内部外设Request Event(不使用TIM12和LPTIM)
STM32H743 以太网 为什么需要设置在0x30040000才能使用
STM32H743 的ADC线性校准问题
NUCLEO-H7S3L8开发板,操作板载FLASH出错,无法进入APP
H743 ulpi phy 引脚配置
STM32H747XG下载一次仿真器就检测不到,运行不能正常
——STM32H747XG下载一次仿真器就检测不到,运行不能正常 原理图是否有问
STM32H7开发LWIP时遇到的问题
STM32H7 UART 使用、HAL 代码分析和实际遇到的问题
STM32H750 FFT 时间太长
微信公众号
手机版
只是存数据的话,好办一些。如果还想从外部Flash执行程序,而且还是加密的,那么恐怕有点难度。
STM32执行程序既不是读一条执行一条,也不是全部搬到内部RAM执行,而是带流水的。
你的工程文件大,不全是运行程序吧,应该有不少是数据吧,那么可以分开存放。
评分
查看全部评分
评分
查看全部评分
评分
查看全部评分
评分
查看全部评分
外扩Nor Flash,其实本身的执行程序不大,但是调用了一个DSP库的定点FFT之后整个工程就126k了,而H750的内部flash只有128k,所以寻求方法呢
其实外加加密芯片不可靠,因为将整个程序放到外部flash,可以绕开这块加密芯片将里面的程序读出来的。
我不是很理解STM32带流水执行程序,能否在解释下呢?谢谢
不加FFT和加FFT都编译一下,看一下生成的BIN文件各占多少?
按照你说的本身程序不大,那么我认为程序是不是只有三四十K?加个FFT应该不至于占八九十K吧!
如果程序大,也可能是常量数据大,那么常量数据放到NorFlash就好了。变量定义时都不要初始化,直接在程序运行开始时通过常量数组给变量数组赋初值。
其实却是如你猜想的那样,我在map文件里面查看了。我如果使用浮点FFT的话只有40k左右,如果我调用的是q15定点FFT的话就变成126k了,就是bin文件的大小。
这样确实可以,但是是否会影响我整个程序的运行速率呢?您是否有尝试过?