请选择 进入手机版 | 继续访问电脑版

安富莱电子论坛

 找回密码
 立即注册

扫一扫,访问微社区

查看: 222|回复: 4
收起左侧

[FreeRTOS] rtos 在 cortex m0上跑,tc1中断有点异常,不知如何排查

[复制链接]

1

主题

5

帖子

7

积分

新手上路

积分
7
发表于 2018-11-7 08:16:17 | 显示全部楼层 |阅读模式
请教下,在下把freertos移植到cortex m0的一颗soc上,在lcd屏上 作了个基本的轮显.
1)在增加功能时,需要用到tc1.(之前有用到tc0,systick(freertos用作systick)).
2)打开tc1定时器以及中断,那么不定时间(有时十几秒,有时几十秒),轮显 会停在某个显示页面/同时,power led指示灯不闪(正常 是另一个任务,0.5hz 闪烁),但此时,systick中断 与 tc1中断 都正常,可以进入.(为排查问题,tc1中断处理 现在什么都没作,只是清除了状态 标志 .)
3)如果 不打开和 不初始化tc1,一切正常.(轮显正常,另一个任务的power led指示灯 也按0.5hz闪烁).

芯片没有问题,裸机跑,tc1,systick都有使用,正常工作..

在出现问题时,我把系统停下来,pc一直停在porttask_function里面,单步执行,出不来.
c1.jpg
请教下该 如何 排查这个问题?
回复

使用道具 举报

24

主题

1264

帖子

1312

积分

至尊会员

积分
1312
发表于 2018-11-7 11:02:02 | 显示全部楼层
用了RTOS,就没有必要再开TC中断了,直接FreeRTOS的定时器组。
Ever tried. Ever failed. No matter. Try Again. Fail again. Fail better.
回复

使用道具 举报

1

主题

5

帖子

7

积分

新手上路

积分
7
 楼主| 发表于 2018-11-7 14:02:12 | 显示全部楼层
byccc 发表于 2018-11-7 11:02
用了RTOS,就没有必要再开TC中断了,直接FreeRTOS的定时器组。

谢谢大神.
也对,用软件定时器.
这样所有的时间基准 都是以freertos的定时 器...
因为是从裸机系统 移过来的,所以习惯 性的,用了那个硬件定时器.

我是担心,移植时,是不是丢掉了哪里,导致 这个硬件中断 与 系统 调度 有些冲突.所以想找到根本原因..
回复

使用道具 举报

1

主题

5

帖子

7

积分

新手上路

积分
7
 楼主| 发表于 2018-11-7 20:39:56 | 显示全部楼层
byccc 发表于 2018-11-7 11:02
用了RTOS,就没有必要再开TC中断了,直接FreeRTOS的定时器组。

那个tc本来是用来采样的,时间比较快.大概为 0.000138s.而xTimerCreate开启的定时器是以tick计时的,最小单位 是ms....so..软件的办法 看样子不行..
回复

使用道具 举报

1

主题

5

帖子

7

积分

新手上路

积分
7
 楼主| 发表于 2018-11-8 17:19:22 | 显示全部楼层
怀疑是不是这里的问题,nvic reg查看如下图,所有的prior都是0,即,没有 调用 NVIC_Init 这个函数,来设置优先级,虽然中断的使能位已经打开?如果是这样,那是 工程 最初 建立  漏掉了这部分,但不是很确定 ,正常情况 下,m0,相应的reg 是否 需要配置优先级???
c2.jpg
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|手机版|安富莱电子论坛 ( 鄂ICP备09023347号,公安机关备案号42010602000201 )

GMT+8, 2019-4-23 22:10 , Processed in 0.176667 second(s), 26 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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