硬汉嵌入式论坛

 找回密码
 立即注册
查看: 3008|回复: 2
收起左侧

[客户分享] stm32F4 CCM内存用作ucosII任务堆栈

[复制链接]

23

主题

78

回帖

147

积分

初级会员

积分
147
发表于 2020-10-13 11:38:55 | 显示全部楼层 |阅读模式
最近使用stm32F4 CCM的64KB内存用作ucosII任务堆栈,编译通过,但是上电就跳转到hardfault中
使用编译器为keil5,使用方法是百度出来的具体如下



1。设置使用ccm

Snipaste_2020-10-13_11-28-20.png

2.修改sct链接文件
Snipaste_2020-10-13_11-31-20.png

3 把任务堆栈放到UCOS_STK_RAM中
OS_STK InitUserTaskStack[INIT_USER_TASK_SIZE] __attribute__((section("UCOS_STK_RAM")));
把每个任务的堆栈都是这样设置

编译通过,但是上电后就发生hardfault. 任务堆栈不定位到UCOS_STK_RAM中,像这样定义OS_STK InitUserTaskStack[INIT_USER_TASK_SIZE]  程序就正常运行

是不是还有地方需要设置


回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107137
QQ
发表于 2020-10-13 16:15:20 | 显示全部楼层
方法一:

可以参考我的早期的一代示波器做法,早期的一代示波器是采用的uCOS-III制作的,任务栈空间,任务控制块是采用的CCM。

【安富莱】45期数字信号处理教程正式发布,原创高性能示波器代码全开源,第2版DSP和神经网络教程开工(2020-05-17)
http://www.armbbs.cn/forum.php?mod=viewthread&tid=3886&fromuid=58
(出处: 硬汉嵌入式论坛)
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107137
QQ
发表于 2020-10-14 02:06:42 | 显示全部楼层
方法二:

采用这个教程的方案,适用于所有STM32系列

【安富莱】STM32H7用户手册发布,重在BSP驱动包设计方法,HAL库的框架学习,授人以渔
http://www.armbbs.cn/forum.php?mod=viewthread&tid=86980

回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-20 02:11 , Processed in 0.173077 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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