OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4082|回复: 9

stm32f103c8t6调用大型函数后内存不够用怎么办?

[复制链接]

1

主题

4

帖子

0

精华

新手入门

积分
15
金钱
15
注册时间
2021-4-9
在线时间
4 小时
发表于 2021-11-12 11:57:49 | 显示全部楼层 |阅读模式
6金钱
需要在开发板运行机器学习模型,之前在python中将模型训练好后利用m2cgen库生成了对应的c语言score函数(2万多行),将函数复制到stm32f103c8t6开发板后再调用。但由于芯片flash内存只有128k下载不了,应该怎么做?可以将score函数写入外部spi flash中再调用吗?或者其他的办法?
由于工程需要使用体积小且成本低的开发板因此选择了stm32f103c8t6.

最佳答案

查看完整内容[请看2#楼]

出几个馊主意: 1.换单片机. 2.单片机整一个解释器程序,可运行外部存储的大型程序,可直接解释运行C语言(或BASIC等),只是效率较低. 3.单片机整一个JAVA虚拟机,和2.也很像,需提前将JAVA代码编译成机器码,可能效率稍高. 我有个疑问,你那模型的计算过程与权值等参数是否可以分离?比如把计算过程写成C程序让单片机运行,权值等参数存于spiflash? 例如,你要播放视频,就把视频文件存于SPIFLASH,但是数据的处理方法是运行于单片机内部 ...
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

12

主题

3399

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
8675
金钱
8675
注册时间
2020-5-11
在线时间
4147 小时
发表于 2021-11-12 11:57:50 | 显示全部楼层
本帖最后由 LcwSwust 于 2021-11-12 17:02 编辑

出几个馊主意:
1.换单片机.
2.单片机整一个解释器程序,可运行外部存储的大型程序,可直接解释运行C语言(或BASIC等),只是效率较低.
3.单片机整一个JAVA虚拟机,和2.也很像,需提前将JAVA代码编译成机器码,可能效率稍高.
我有个疑问,你那模型的计算过程与权值等参数是否可以分离?比如把计算过程写成C程序让单片机运行,权值等参数存于spiflash?

例如,你要播放视频,就把视频文件存于SPIFLASH,但是数据的处理方法是运行于单片机内部的,小单片机也是可以播放大容量视频的.

这里还有个帖:
http://www.openedv.com/forum.php ... 11&extra=page=1
看看hiskyer 的回复"我就是用lua实现的"   "只要你的RAM和SD卡容量够大,多大的程序都不是问题,STM32嗨起来!"
专治疑难杂症
回复

使用道具 举报

4

主题

912

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4524
金钱
4524
注册时间
2019-9-4
在线时间
916 小时
发表于 2021-11-12 15:09:56 | 显示全部楼层
外扩FLASH,或者单片机从网上在线获取你的模型数据
回复

使用道具 举报

0

主题

465

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1734
金钱
1734
注册时间
2021-4-11
在线时间
320 小时
发表于 2021-11-12 15:46:05 | 显示全部楼层
帮顶      
回复

使用道具 举报

11

主题

2149

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4930
金钱
4930
注册时间
2015-1-10
在线时间
618 小时
发表于 2021-11-12 16:22:48 | 显示全部楼层
体积小成本低还想运行机器学习?这么抠?
回复

使用道具 举报

21

主题

132

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1230
金钱
1230
注册时间
2020-7-14
在线时间
272 小时
发表于 2021-11-12 16:27:51 | 显示全部楼层
外部SRAM
回复

使用道具 举报

70

主题

6763

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
13122
金钱
13122
注册时间
2012-11-26
在线时间
3813 小时
发表于 2021-11-12 16:32:14 | 显示全部楼层

他说的是rom不是ram
学无止境
回复

使用道具 举报

1

主题

4

帖子

0

精华

新手入门

积分
15
金钱
15
注册时间
2021-4-9
在线时间
4 小时
 楼主| 发表于 2021-11-13 23:25:45 | 显示全部楼层
A571157242 发表于 2021-11-12 15:09
外扩FLASH,或者单片机从网上在线获取你的模型数据

外扩flash我看了些资料据说不能把程序下载进去让单片机运行,目前最简单的解决方法就是换个512k的板子了,你说的网上获取模型数据我回头看看,之前没想到这么弄
回复

使用道具 举报

1

主题

4

帖子

0

精华

新手入门

积分
15
金钱
15
注册时间
2021-4-9
在线时间
4 小时
 楼主| 发表于 2021-11-13 23:26:29 | 显示全部楼层
阿侑kevin 发表于 2021-11-12 16:22
体积小成本低还想运行机器学习?这么抠?

因为是帮公司做的一个项目,有这方面的要求
回复

使用道具 举报

1

主题

4

帖子

0

精华

新手入门

积分
15
金钱
15
注册时间
2021-4-9
在线时间
4 小时
 楼主| 发表于 2021-11-13 23:29:11 | 显示全部楼层
LcwSwust 发表于 2021-11-12 16:35
出几个馊主意:
1.换单片机.
2.单片机整一个解释器程序,可运行外部存储的大型程序,可直接解释运行C语言(或 ...

最简单直接的就是换单片机了,2,3我完全不了解怎么弄,模型调用sklearn的一个分类模型训练的,模型对数据计算过程和权值据我了解好像无法获知的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-13 17:43

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表