社区
VxWorks
帖子详情
vxworks系统异常复位了,怎么查询导致复位的信息?
fricyyu_zju
2012-06-28 09:37:15
最近在vxworks系统下面调试一个网卡驱动,驱动加载运行后,跑一段时间就可能出现系统复位的情况,看程序也找不出原因,只是怀疑可能是中断服务程序的问题。我想问问vxworks系统复位后,有没有什么方法或命令可以查看导致系统复位的原因的描述,了解的朋友指导一下吧~~谢谢了~
...全文
948
6
打赏
收藏
vxworks系统异常复位了,怎么查询导致复位的信息?
最近在vxworks系统下面调试一个网卡驱动,驱动加载运行后,跑一段时间就可能出现系统复位的情况,看程序也找不出原因,只是怀疑可能是中断服务程序的问题。我想问问vxworks系统复位后,有没有什么方法或命令可以查看导致系统复位的原因的描述,了解的朋友指导一下吧~~谢谢了~
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
嘻嘻嘻_
2013-09-01
打赏
举报
回复
在源码中找到ExceptionHandler,它里面有分中断类型异常和非中断类型异常,然后挂个exceptionHook钩子,将异常栈的信息打出来,这样对定位会有帮助
OnePeace888
2013-08-05
打赏
举报
回复
引用 2 楼 wolf721 的回复:
自己写代码,把出现异常的现场保存下来比较好,包括各寄存器/栈信息,很容易找到异常调用栈,准确定位到代码行。
异常发生时,你如何知道该去调用你的测试代码呢?求详细教程学习
gxs_work
2012-08-22
打赏
举报
回复
objdump 工具 可以将你的vxworks反汇编,然后对照出错信息,查找出错地点,看在哪里出的问题
wolf721
2012-08-19
打赏
举报
回复
自己写代码,把出现异常的现场保存下来比较好,包括各寄存器/栈信息,很容易找到异常调用栈,准确定位到代码行。
nhew
2012-06-29
打赏
举报
回复
不知道你用的是vxworks的哪个版本,是否支持E&DR,将EDR打开,可以通过edrShow查看重启的位置。或者在加个exceptionHook,在interrupt exception的时候,将现场保存下来。
第4章 设备驱动《
Vxworks
设备驱动开发详解》
作者:华清远见嵌入式学院。简单地说,驱动程序就是设置某个硬件完成其固有功能的程序,如网卡设备驱动程序就是设置网卡相关寄存器,使其能够正常收发网络数据包的程序。驱动程序直接与硬件设备交互,其大多数的工作就是操作硬件相关寄存器。首先,寄存器也是一种 RAM,在
系统
下电后,寄存器中的内容都会丢失,
系统
上电
复位
过程中,硬件寄存器一般都
复位
到一个默认值,默认状态下,硬件是不能正常工作的,如中断使能被屏蔽,工作使能位也被屏蔽,还有一些决定硬件工作情况的关键控制寄存器也需要被重新配置。而这些工作都有赖于设备驱动的完成。驱动一般都作为操作
系统
内核组成的一部分,即便现在很多
系统
支持驱动的动态加载,但是驱动代码在执行时,依然是以内核代码模式进行执行的。换句话说,驱动代码具有
系统
特权级,除了其自身资源对应的硬件设备资源,其还对操作
系统
资源具有完全的访问权。所以,一个驱动程序如果存在BUG,将直接会
导致
整个操作
系统
的崩溃。故调试驱动是一项十分关键的工作,必须对驱动进行仔细检查,并需要经受长时间的运行考验。应用层程序员往往对属于内核编程的外设驱动心存敬畏,认为驱动编程是一项非常复杂的工作。实际上,底层驱动编程往往比应用层编程具有更大的灵活性,就如没有调试不出来的硬件,也没有调试不出来的底层驱动,但是应用层 BUG 有时就是无法调试出来。底层驱动的调试过程是同时对硬件和驱动进行验证的过程。底层驱动很多时候用来定位硬件设计错误或者硬件芯片本身可能的问题,故底层驱动程序员必须对所要驱动的硬件设备有一个比较充分的了解,以及对与硬件交互的其他硬件或外界环境也需要有一个比较清楚的理解。
PowerPC上电
复位
的过程描述
本文重点描述关于启动地址的配置,并且结合
Vxworks
操作
系统
的基础知识,讨论相关的参数、宏的配置。
MagicARM2410_SCH.rar_MagicARM2410_nandflash_
vxworks
_电源电路图_电路
MagicARM2410教学实验箱的电路原理图,包括电源电路、
复位
电路、
系统
时钟、NANDFlash存储电路、各接口电路等
ARM 嵌入式LINUX
系统
构建与驱动开发
一 首先说说ARM的发展 可以用一片大好来形容,翻开各个公司的网站,招聘里面嵌入式占据了大半工程师职位。 广义的嵌入式无非几种:传统的什么51、AVR、PIC称做嵌入式微控制器;ARM是嵌入式微处理器;DSP;FPGA。 客观的讲,工作需求量上DSP的需求比ARM要多,而ARM和FPGA差不多。 DSP因为数字处理与通信领域的空前发展而火暴,小到MP3 射象头,大到我们军品里的控制器,应用面很广。 FPGA的兄弟一般做ANSIC(特殊芯片设计,好象是这么翻译的)。 而ARM单纯说来并不比一个单片机强多少,但是它的独特就在于不断下降的价格和提升的性能。这完全依靠于ARM公司的战略,厉害!!很佩服他们的战略眼光!! 值得注意的是:在找工作中,企业(著名的,小的不算)对单纯的ARM硬件开发工程师并不比单片机重视,很少有大企业的职位里写“从事过ARM开发优先”。 写的多的是什么?“嵌入式LINUX” 到这相信大家看出来了吧,需要的是硬件中的软件。 二 ARM是硬件还是软件 很难说,ARM是硬件,LINUX是软件。 ARM的硬件多半已经模块化了,像我这样把板子改成这样的就算动的多的了,这同样是ARM公司的战略,再次佩服。 实际中的LINUX的开发工作更多,更耗时。从这方面说ARM应该算是软件了。 在找工作中更是这样,举个例子,联想里和ARM最接近的是“BIOS工程师”是软件,MOTO里接近的是嵌入式LINUX工程师是软件。而其他很多公司把嵌入式产品开发归为硬件。 所以,不要讨论这个,好好玩转自己的板子才是关键。实在不爽你就把自己叫“嵌入式开发工程师” 三 要不要买开发板 买哪家 我的答案是“在你个人的学习方*”,但是如果看家是需要看这骗笔记的水平,个人推荐还是买现成的。 1 买 买板子可以把注意力集中在软件开发上,软件开发(尤其是驱动)可以不必担心自己硬件上的问题,我就是以便调试一边写驱动和程序,每次写驱动前就要先确认硬件没问题。 另外,买板子更省钱和时间,我自己做的板子,原理图PCB花了2周以上!制版又15天,回来以后焊接44B0 160个脚!那叫一个麻烦~~花了多少钱呢?2层板,制版费就300块!当然 我把接口都外引了,还做了个20X18的LCD背板,板子比较大。 总体下来 元件+LCD屏+PCB=11XX块!够2410的了。 再有就是买的资料相对来说比较全,但是不要指望有技术支持!都是骗人的,卖你之后就不会理你。 2 做 自己做可以更了解底层硬件,可以按照自己的要求加东西,比如我就加了GPS模块、 GPRS模块 、SD卡模块,扩了个IIC的35个键子的键盘、把LCD接口按照买的LCD改装了,可以用FPC线直接连接。做的很爽的。玩一把吗。 当然,你可以有策略的做,比如像我一样,把RAM和ROM,网络都保持和某现成的板子一样,这样他们的资料你就可以拿过来直接用,给自己留个退路。其他的如SD了 什么的自己做。都达到了~~就是费钱,费时间。 再有就是给做的朋友几点建议:尽量拿到现成的板子,尽量多搜集其他板子的全套资料,一定要拿到一张没问题的原理图。 网上流传的原理图多数是龚俊03年画的,再这里对龚俊表达一下我的敬意!!牛人! 但是那个图有个小BUG,我指的是03版的,后来的没这问题了。8019那地址线和地址有问题。还有人仿照他的PDF图画的SCH,更是漏洞百出!谴责!顺便谴责把龚俊板子偷卖的人。 3 买哪家 个人感觉分3类吧 1)首先是ZLG的,资料非常的全,感觉他是真正想教你怎么开发ARM,而不是像有的公司自己技术都没做好就做个板子出来卖钱。但是最大的不利就是价格太贵!而且主要是PHILIP的,货源比较麻烦~~可能有人说21XX系列的不贵啊,那是总线不外扩的,只能跑UCOS,不能跑UCLINUX。但是说是话,21XX系列才是ARM7的价格性能结合点。ARM7最适合做工业控制,ARM普及,销量都是怎么来的?都是ARM7来的,而44B0是典型的商业片子。但是,这里如果你看中的是为工作做准备,还是选能跑UCLINUX的吧。 但是仍然作为第一个推荐,因为菜鸟时期,合适的资料太重要了!!在这里被ZLG的务实*感动!你看人家那代码写的。 2)感觉立宇泰的44B0不错 硬件没别的,就是资料比较全的说,不像有些家,原理图直接拿人家的,还错的~~ 3)找个最便宜的 好象最便宜的有卖350的吧?也是没别的,就是即省了钱 还省时间搜集资料,至于资料全不全,别计较了~~硬件肯定好使就行吧。 四 要不要有51 AVR等单片机基础 有更好,但没有也无所谓。 两个月以前,我只是看别人做,耳濡目染~~,本科学过单片机,从来没做过。我们这的技术主干做AVR和51,我就跟他们调过C语言程序。你看出来了?我是个不折不扣的菜鸟吧? 但是做这个之前我特意找了ZLG
基于 ARM 的绣花机控制
系统
设计
本文根据 ARM 处理器的选型原则,选择 LH7A404 和 LPC2214 为上下位机 CPU 芯片;将绣花机控制
系统
的硬件分为上位机和下位机两部分,在全面考虑
系统
功能需求的基础上,围绕已选定的上下位机 CPU 确定了硬件框架。详细设计了电源电路、
复位
电路、存储器接 口电路、键盘与显示电路等具体电路。然后按照上位机和下位机的层次构建了绣花机控制系 统的软件框架,以
VxWorks
操作
系统
为平台,在 Tornado 开发环境下设计了键盘输入、图形显示、USB 驱动、花样存储与管理等模块程序。
VxWorks
2,179
社区成员
2,916
社区内容
发帖
与我相关
我的任务
VxWorks
xworks是美国 Wind River System 公司( 以下简称风河公司 ,即 WRS 公司)推出的一个实时操作系统。
复制链接
扫一扫
分享
社区描述
xworks是美国 Wind River System 公司( 以下简称风河公司 ,即 WRS 公司)推出的一个实时操作系统。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章