搜索
bottom↓
回复: 5

LPC1788移植RTX后的NVIC中断使能问题

[复制链接]

出0入0汤圆

发表于 2013-3-12 20:06:34 | 显示全部楼层 |阅读模式
模块的NVIC使能函数
如果放在RTX内核启动之前,可以使用
放在内核启动之后,则当程序运行到这一句时会跳死
求大神指点迷津啊~

出0入0汤圆

发表于 2013-7-28 16:59:45 | 显示全部楼层
因为NVIC寄存器组是0xE00xxxxxx地址的,受系统保护。RTX的os_task_init之前,你是运行在特权模式,之后,你是运行在非特权模式,
所以凡是访问0xE开头的地址都会发生HardFault例外。
解决的办法有两个:
1.全体NVIC配置在进入初始化第一个任务前处理完毕。
2.RTX_Conf_CM3.h里面,配置所有任务运行于特权模式:你确定普通任务都要运行于特权模式?

出0入0汤圆

 楼主| 发表于 2013-8-1 20:56:49 | 显示全部楼层
fastweb 发表于 2013-7-28 16:59
因为NVIC寄存器组是0xE00xxxxxx地址的,受系统保护。RTX的os_task_init之前,你是运行在特权模式,之后,你 ...

非常感谢!
此外,网上有一个成熟的1788下RTX的CAN驱动,
在这个驱动里面,实现了把NVIC的启动放在内核启动之后,
应该是临时切换了模式,不过这个操作我还是没太看懂,
如果朋友你有兴趣可以去看一下。

出0入0汤圆

发表于 2014-6-27 13:37:01 | 显示全部楼层
zfcjxlz 发表于 2013-8-1 20:56
非常感谢!
此外,网上有一个成熟的1788下RTX的CAN驱动,
在这个驱动里面,实现了把NVIC的启动放在内核启 ...

用个自定义的svc函数,在那里设置nvic使能

出0入0汤圆

发表于 2015-8-27 10:06:16 | 显示全部楼层
myxiaonia 发表于 2014-6-27 13:37
用个自定义的svc函数,在那里设置nvic使能

自定义的svc函数   怎么弄呢

出0入0汤圆

发表于 2015-8-27 11:50:47 | 显示全部楼层
mdk的exmaple中有个svc例子,和那个定义的方法几乎完全一样
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-20 08:08

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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