搜索
bottom↓
回复: 10

LPC1788的MDK下的UCOSii仿真中的中断问题?

[复制链接]

出0入0汤圆

发表于 2011-11-17 09:49:22 | 显示全部楼层 |阅读模式
RT,系统有一个系统定时器,CORTEX M3内核的哪个定时器,时间间隔是2MS。
   还有一个定时器1的比较中断定时器,中断间隔为1S中。
   在仿真中发现如下问题:
1:在UCOS II的系统下,仿真状态下全速运行,代码正常运行。但是用仿真器停止到任何一个中断函数的代码处,再继续全速运行,代码就跑到HardFault_Handler处了。
2:将UCOS的OSStart函数的OSStartHighRdy(); 屏蔽,也就是不设置PendSV_Handler中断,系统仿真正常,在系统时钟和TIM1时钟的中断代码处任何位置停,再继续运行都正常。
   以上的问题,大家帮忙分析下可能出现的问题所在?谢谢!

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

 楼主| 发表于 2011-11-17 10:32:20 | 显示全部楼层
不知道在用过NXP的M3的同仁是否遇到这种问题?

出0入0汤圆

 楼主| 发表于 2011-11-17 20:09:56 | 显示全部楼层
现在信息更新:目前发现ULINK 2下仿真中断函数没有问题,JLINK V8的有问题,不知道是软件BUG还是仿真器BUG。新出的片子难道和软件不兼容???等待高手的解答!

出0入0汤圆

发表于 2011-11-17 23:11:09 | 显示全部楼层
开发环境及版本?

mdk4.22和4.22a用jlink调试os代码很烦躁

出0入0汤圆

 楼主| 发表于 2011-11-21 08:12:14 | 显示全部楼层
刚开始以为是代码的BUG,后来发现是软件的。我现在也换了4.22A的了。也有问题。可能是和JLINK兼容还不不好吧!ULINK 2的仿真速度慢的要死。哎!
3楼的,你用过LPC1700的ADC转换器吗?我现在设置为Burst模式+中断读取数据。现在出现的问题是:启动Burst后,一直进入中断。别的函数没法执行了。现象和中断标志位没清楚差不多。经查看手册,中断标志位在读取相关寄存器数据后会自动清除的。这问题搞了老半天了,不知道你遇到过吗?

出0入0汤圆

发表于 2011-11-21 09:57:45 | 显示全部楼层
回复【4楼】yankaiyutong  
刚开始以为是代码的bug,后来发现是软件的。我现在也换了4.22a的了。也有问题。可能是和jlink兼容还不不好吧!ulink 2的仿真速度慢的要死。哎!
3楼的,你用过lpc1700的adc转换器吗?我现在设置为burst模式+中断读取数据。现在出现的问题是:启动burst后,一直进入中断。别的函数没法执行了。现象和中断标志位没清楚差不多。经查看手册,中断标志位在读取相关寄存器数据后会自动清除的。这问题搞了老半天了,不知道你遇到过吗?
-----------------------------------------------------------------------

ADC这块还没调。你调试的问题,可以通过替换mdk4.22a中的jl2cm3.dll解决。

点击此处下载 ourdev_697447KCTZ55.rar(文件大小:678K) (原文件名:JL2CM3.rar)

出0入0汤圆

 楼主| 发表于 2011-11-21 10:41:02 | 显示全部楼层
回复【5楼】Achin
回复【4楼】yankaiyutong   
刚开始以为是代码的bug,后来发现是软件的。我现在也换了4.22a的了。也有问题。可能是和jlink兼容还不不好吧!ulink 2的仿真速度慢的要死。哎!
3楼的,你用过lpc1700的adc转换器吗?我现在设置为burst模式+中断读取数据。现在出现的问题是:启动burst后,一直进入中断。别的函数没法执行了。现象和中断标志位没清楚差不多。经查看手册,中断标志位在读取相关寄存器数据后会自动清除的。这问题搞了老半天了,不知道你遇到过吗?
-----------------------------------------------------------------------
adc这块还没调。你调试的问题,可以通过替换mdk4.22a中的jl2cm3.dll解决。
点击此处下载  <font color=green>(原文件名:jl2......
-----------------------------------------------------------------------

谢谢!这个NXP的手册关于细节问题讲述的太少了。有些都需要自己实践摸索。正在解决ADC中断问题....

出0入0汤圆

 楼主| 发表于 2011-11-21 11:09:51 | 显示全部楼层
问题好像找到了。1788的APB总线时钟为60M,ADC的最低转换速度为7.56K。(CLKDIV为8位宽度)这样的话,每隔1/7650个时间段就有一个中断发生。外加系统时钟定时器中断,造成一只在ADC中断中。这只是推测,没有验证。

出0入0汤圆

发表于 2011-11-21 12:26:12 | 显示全部楼层
使用ULINK,或设置让在仿真时关闭timer.
我的调RT-Thread时也碰到这问题了。

出0入0汤圆

 楼主| 发表于 2011-11-21 13:38:03 | 显示全部楼层
问题找到了。ADC在400K的速率下中断也是可以响应的。ADC有两种数据寄存器--全局数据寄存器AD0GDR--通道0数据寄存器...通道7数据寄存器(ADDR0--ADDR7).在进入中断后两种寄存器都要读取。按说读取一个就可以了。不知道NXP这么做有什么用意。

出0入0汤圆

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

本版积分规则

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

GMT+8, 2024-3-29 14:43

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

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