You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将TensorFlow Micro模型数据直接存入Arduino MBED SDRAM

最简实现方案

方案1:Flash存储模型+批量拷贝(最常用场景)

首先明确:用const修饰的全局数组会被编译器分配到Flash存储空间,不会占用你说的1MB SRAM配额,所以完全可以直接用标准库memcpy批量拷贝到SDRAM,一行代码搞定,完全不需要逐字节赋值。
你只需要在代码中引入string.h头文件,把逐字节赋值部分替换即可:

// 加在代码开头引入memcpy依赖
#include <string.h>

// 拷贝整个模型数组到SDRAM对齐后的地址,仅需一行
memcpy(sdram_tflite, model_tflite, model_tflite_len);

拷贝完成后直接把sdram_tflite传给TensorFlow Micro的接口即可正常调用:

model = tflite::GetModel(sdram_tflite);

方案2:无需Flash存储模型的场景(动态加载场景)

如果你不需要把模型提前固化到Flash,比如要从SD卡、网络动态加载模型到SDRAM,直接把sdram_tflite指针传给外部存储的读数据接口即可,不需要额外开辟中间缓存。

常见误区说明

你之前写的sdram_tflite = model_tflite;只是把sdram_tflite指针指向了Flash里的模型数组地址,根本没有把数据写入SDRAM,后续操作实际还是在访问Flash,不属于你需要的SDRAM存储逻辑。

内容的提问来源于stack exchange,提问作者Rocksetta

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 07:15:05