OpenEdv-开源电子网

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

freertos卡在svc 0,汇编停在了0x0800014A E7FE B 0x0800014A

[复制链接]

61

主题

98

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
370
金钱
370
注册时间
2017-7-8
在线时间
65 小时
发表于 2021-7-10 16:20:48 | 显示全部楼层 |阅读模式
10金钱
在我的项目中使用的芯片是STM32F103R8T6(Flash:64kB,RAM:20kB)
引导加载程序Flash地址:0x08000000
应用程序闪存地址:0x08004000
用于启动和应用的相同RAM:0x20000000(IRAM1)
  • 分别引导加载程序和应用程序(带有或不带有FreeRTOS)都可以正常工作。
  • 引导加载程序和应用程序(无需FreeRTOS)可以完美运行。
  • 但是,如果我在应用程序中使用freeRTOS并完成两项任务(显示和通讯):
    跳转引导程序->应用程序
    应用程序正在运行->初始化所有外围设备(GPIO,Display,Eth,GSM,SPI等)
    创建Task1->没有任何错误
    创建Task2->没有任何错误
  • 在启动调度器,即调用函数vTaskStartScheduler();出现问题了,经过调试,是卡在了prvStartFirstTask()里面的svc 0这个语句上,汇编停在了0x0800014A   E7FE    B     0x0800014A



于是我把configTOTAL_HEAP_SIZE调小后还是一样的问题,不知道是哪里出现了问题













正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2021-7-12 01:44:04 | 显示全部楼层
回复

使用道具 举报

0

主题

3

帖子

0

精华

新手入门

积分
4
金钱
4
注册时间
2021-8-21
在线时间
1 小时
发表于 2021-8-21 01:44:52 | 显示全部楼层
svc 0触发一个异常,在异常里启动第一个任务。根据描述,应该是中断向量表中svc对应的中断服务函数是默认函数,导致进入死循环。
回复

使用道具 举报

2

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
72
金钱
72
注册时间
2019-1-11
在线时间
15 小时
发表于 2021-10-18 11:42:02 | 显示全部楼层
darenge 发表于 2021-8-21 01:44
svc 0触发一个异常,在异常里启动第一个任务。根据描述,应该是中断向量表中svc对应的中断服务函数是默认函 ...

使用"FreeRTSO实验21-1 FreeRTOS+EMWIN移植实验"demo 跑在阿波罗F767也是svc 0 导致hard fault,请问如何解决
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-22 18:21

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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