你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

关于stm32f1 使用freeRTOS和Fatfs时任务堆栈大小问题

[复制链接]
benlarden 提问时间:2016-10-15 15:38 /
哪位使用过freeRTOS和Fatfs时,使用Fatfs系统的函数如f_open()等等时,此任务的堆栈大小大致需要多大,当前MAX_SS 定义为4096,我分配12K软件都跑飞了,请哪位使用分享一下经验,谢谢!~~?
收藏 1 评论23 发布时间:2016-10-15 15:38

举报

23个回答
benlarden 最优答案 回答时间:2016-10-18 15:24:37
benlarden 发表于 2016-10-17 15:12
基本就是任务堆栈的大小的问题,当前使用STM32CUBEMX 生成一个usb device的大容量存储,断电再上电就出现硬 ...

通过调试得出结论,后面有疑问的可以做一个参考,usb device时,通过检测VBUS电源来确定是否连接设备,由于当前OTG方式,选择device时忘记把VBUS电源关掉了,导致检测到有连接但是枚举时导致硬件异常!~~

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

benlarden 回答时间:2016-10-17 15:49:35
高二毛 发表于 2016-10-17 15:37
fatfs确实需要耗一些内存的。你可以用堆栈使用的highmark看看到底用了多少,然后再选择一个合适的。 ...

是的,我当前就是使用了这种方法,感谢关注!~~
benlarden 回答时间:2016-10-15 16:29:36
最后实验给了24K才跑起来,这也太费RAM了。。。。。如果MAX_SS能定义到512B估计会好很多
benlarden 回答时间:2016-10-15 17:18:52
没有人使用过吗???
zhangdaijin 回答时间:2016-10-15 20:20:04
            
mark0668 回答时间:2016-10-15 23:49:53
     
奏奏奏 回答时间:2016-10-16 08:45:59
我使用FreeRTOS了,但是没有用Fatfs系统,目前的使用情况截了两张图,图示现在的资源使用情况
现在项目工程使用情况截图01.jpg
现在项目工程使用情况截图02.jpg
wdshuang09 回答时间:2016-10-16 09:32:05
只能帮忙顶贴
benlarden 回答时间:2016-10-16 15:14:06
奏奏奏 发表于 2016-10-16 08:45
我使用FreeRTOS了,但是没有用Fatfs系统,目前的使用情况截了两张图,图示现在的资源使用情况
...

谢谢!~~是不是这个任务里的所有的局部变量都使用这个任务的堆栈,比如:
osThreadDef(defaultTask, StartDefaultTask, osPriorityNormal, 0, 512);
任务里跑的函数的什么变量都是通过512来分配???
奏奏奏 回答时间:2016-10-16 19:07:10
benlarden 发表于 2016-10-16 15:14
谢谢!~~是不是这个任务里的所有的局部变量都使用这个任务的堆栈,比如:
osThreadDef(defaultTask, Star ...

抱歉,具体是怎样的不太清楚,我用STM32CubeMX配置的。
当它提示我的任务多或者消息队列占用多不够用的时候,我才去把堆栈的数值设置大一些。
原田夜舞love 回答时间:2016-10-16 23:55:37
帮顶了!
123下一页

所属标签

相似问题

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版