
vxworks
文章平均质量分 86
zyboy2000
这个作者很懒,什么都没留下…
展开
-
关于函数返回值为指针类型的分析
我们平时说的堆栈指的是栈(这里谈的不是数据结构的堆栈,俺没研究)1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回 收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。转载 2011-11-19 22:34:08 · 1963 阅读 · 0 评论 -
浮点异常情况(VX_FP_TASK) .
错误总结:1、在生成任务时,如果在任务中使用浮点计算,一定需要将任务的标志VX_FP_TASK设置,否则将会出错,主要是在其他任务中出现0/0错误产生原因: 当没有设置浮点计算标识VX_FP_TASK时,在进入任务时没有保存浮点寄存器值,这样在任务中进行浮点运算将破坏了浮点寄存器的内容,而在任务退出后,浮点寄存器不能恢复,造成其他任务在进行浮点计算时出现浮点运算错误。转载 2013-09-24 12:33:09 · 6199 阅读 · 0 评论 -
vxworks下MUX接口的使用-发送全广播包
在vxworks下利用socket发送UDP广播时,虽然将广播地址设置为255.255.255.255,但在底层vxWorks用子网掩码进行处理后,际的广播地址为本网段的广播地址(如10.10.156.255).下面这个程序利用MUX接口,自己构造UDP数据包,用muxSend()实现对整个网络的UDP广播(255.255.255.255). void testudpbcast(voi转载 2012-05-19 11:05:11 · 5291 阅读 · 7 评论 -
结构体字节对齐
为何要字节对齐? 从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定类型变量的时候经常在特定的内存地址访问,各个硬件平台对存储空间的处理上有很大的不同。一些平台对某些特定类型的数据只能从某些特定地址开始存取。 MDK 字节对齐关键字 __packedtypedef __packed struct abc{ int a; int b;}st转载 2009-05-09 23:07:00 · 5208 阅读 · 2 评论 -
下载型vxWorks启动方式概述
下载型启动方式概述 下载形式的VxWorks启动方式需要bootrom引导程序,该程序将被烧录到开发板的ROM或者Flash中,在上电时,系统将自动跳转到ROM或者Flash起始地址处运行该bootrom引导程序,该引导程序进行必要的系统初始化,从而为下载VxWorks内核映像做准备,如通过网口下载时,则需要先调用网口驱动程序进行网口初始化。 由于bootrom的主要工作是下载转载 2011-12-27 21:39:19 · 3061 阅读 · 0 评论 -
VxWorks的系统任务
这里只总结几个VxWorks启动后系统自带的任务 (即:目标板加电启动成功后,系统便已经开始运行的任务) 1.tUsrRoot (根任务) --优先级0 VxWorks内核最先执行的一个任务,其入口点为文件config/all/usrConfig.c中的usrRoot()函数,它负责初始化VxWorks工具,并创建注册、异常处理、网络通信任务和tRlogind等任务。一般来说,转载 2012-07-09 15:30:18 · 2705 阅读 · 0 评论 -
关于shell里面 d 查看内存数据命令的详细用法
用法:d Addr,UnitNum,UnitBytes功能:从地址Addr开始显示UnitNum组的内存数据,每行显示16Bytes;每组包含UnitBytes字节,一行有16/UnitBytes 组数据;说明:UnitBytes的可选值有:1,2,4,8;其它数值的显示形式和1相同.其中以1为参数可以从任意地址开始显示数据, 而已其它参数则只能从偶地址开始显示.转载 2012-04-24 21:56:56 · 7626 阅读 · 0 评论 -
vxWorks任务异常
做VxWorks的时候经常会碰到任务异常的问题,有时很难定位,下面是我在工作中的一点心得。不正确的地方请指出,谢谢!1、任务异常的一般表现 指令异常:系统打印program异常或instruction access异常 访问非法地址异常,串口打印data access异常,如: data access Exce转载 2011-10-16 13:18:32 · 8175 阅读 · 1 评论 -
vxworks输入输出
在VxWorks卜,“文件”提供了访问设备的统一接口,因此是一种广义的概念,“文件”名包括了两部分的信息. 所要访问设备的名称 所要访问的具体的文件(这个就是常规意义的文件了)iosFdShow显示的fd句柄中缺少0, 1和2这二个句柄,这二个句柄和其它很多操作系统一样是保留给标准输入输出使用的: 0 stdin标准输入 1 stdout标准原创 2011-12-09 10:22:33 · 3293 阅读 · 0 评论 -
select详解及代码释义
关于select函数:其函数原型为:int select(int n, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout);此函数的功能是由内核检测在timeout时间内,是否有readfds,writefds,exceptfds三个句柄集(file descriptors)里的某转载 2009-05-14 23:30:00 · 2721 阅读 · 0 评论 -
Vxworks ftp server
1.1 加载ftp server在project的下选择network components->network protocols-> network filesystems->Ftp server选项即可加载ftp server服务。此选项定义INCLUDE_FTP_SERVER使得系统启动时调用ftpdInit(0,0)来加载ftp server。加载ftp server后转载 2013-09-25 11:39:43 · 7310 阅读 · 1 评论 -
Vxworks下flash驱动编写流程 .
作为BSP开发人员,我们要实现的是MTD和socket两块,其它的是由文件系统自己守成的。 MTD层 该层提供Flash 设备识别,读写,擦除,地址映射函数的具体实现。该层实现由 Flash 驱动开发人员完成。该层将实现在BSP 下tffsConfig.c 以及 tffsXXX.c 文件中。其中tffsConfig.c定义有MTD 层一个重要的数组mtdTable,该数组中保存了转载 2013-11-30 23:27:56 · 3885 阅读 · 0 评论 -
vxworks的堆和栈
vxworks的堆和栈区别系统内存池系统内存池用于动态内存的分配(如malloc())、任务的堆栈和控制块及VxWorks运行时需要的内存。这部分内存有VxWorks管理,开销位于目标板上。系统内存池在系统启动时初始化,它的大小是整个内存减去其他区的大小。在启动后可以通过函数memAddToPool()向系统内存池中增加内存。SysMemTop()返回系统内存池(System原创 2013-12-29 16:38:51 · 8233 阅读 · 0 评论 -
vxworks点滴记录
MPC852---大端模式vxworks压缩 deflate <vxWorks_rom.bin> vxworks.gz ---- D:\Tornado2.2\host\x86-win32\bin inflate(vxworksImage, upgrade_package, UPGRADE_PACKAGE_SIZE) ---代码函数调用VxWorks中库...原创 2011-10-09 19:30:34 · 17450 阅读 · 2 评论 -
inet_ntoa函数陷阱
今天编程时遇到一个很诡异的问题,是关于inet_ntoa函数的。先看一个测试程序#include stdio.h>#include sys/socket.h>#include netinet/in.h>#include arpa/inet.h>#include string.h>int main(int argc, char* argv[])转载 2016-03-24 18:17:31 · 4250 阅读 · 0 评论 -
如何设置SVN提交时强制添加注释
1. 替换原来配置文件操作:拷贝Global.CF3到“我的文档\Source Insight\Settings”下面---网上找个合适的配置文件2. 在Option里的Document Option(ALT+T)左边有个Screen Font,点进去就可以设置了 ---增大字体,解决汉字上边显示不全问题3. 添加SuperBackspace.em宏,解决汉字删除问题---网上找“Supe转载 2010-08-25 18:33:00 · 3850 阅读 · 0 评论 -
vxworks shell 调试常用命令
1.与任务相关的命令sp ,[arg1],...,[arg9]-启动任务,最多接受9个参数,默认的优先级100、堆栈20000字节period n,,[arg1],...,[arg8]-创建一个周期调用的任务,周期为n秒,最多接受8个参数repeat m,,[arg1],...,[arg8]-创建一个反复调用的任务,调用次数为m,m=0时永久调用,最多也是8个参数ts转载 2011-12-09 10:42:33 · 16995 阅读 · 1 评论 -
VxWorks下使用双向链表lstLib的小例子
#include #include #include typedef struct _Queue{ NODE * next; NODE * prev; int age; char name[255];} QUEUE;LIST list;void TestList(){ QUEUE *p; int i转载 2015-09-24 15:49:35 · 2295 阅读 · 0 评论 -
vxworks下辅助时钟aux clk的使用示例
vxworks下aux clock的使用示例:利用辅助时钟进行对某些函数运行时间进行精确计时。1. vxworks映像中包含辅助时钟,包含组件hardware->peripherals->clocks->AUX clock,并将参数 AUX_CLK_RATE_MAX改大点,默认只有5000的。2. 程序中使用,比如要记录某个函数的执行时间,函数假设为为test(),示例:int g转载 2015-11-07 11:33:13 · 3398 阅读 · 0 评论 -
基于Goahead的嵌入式web开发
最近在做一个嵌入式的web,主要是用来远程控制和管理设备的参数。网上关于这方面的信息很少,goahead的文档也少。现在总结一下goahead的一些基本行为特点,以供后来者参考。对以移植之类的就不说了,网上有几篇文章。 1.Goahead的特点 支持html,cgi,goform,内嵌的asp(文档说是embed javascript),部分asp语句。 goform文档说转载 2011-02-17 12:56:00 · 10713 阅读 · 4 评论 -
Tornado v2.2 for PowerPC 安装
Tornado v2.2 for PowerPC 安装原创 2010-08-21 23:43:00 · 5138 阅读 · 0 评论 -
VxWorks的启动过程
VxWorks的启动过程转载 2010-08-26 21:56:00 · 1758 阅读 · 0 评论 -
多任务系统看门狗的实现
看门狗分硬件看门狗和软件看门狗。硬件看门狗是利用一个定时器电路,其定时输出连接到电路的复位端,程序在一定时间范围内对定时器清零(俗称“喂狗”),因此程序正常工作时,定时器总不能溢出,也就不能产生复位信号。如果程序出现故障,不在定时周期内复位看门狗,就使得看门狗定时器溢出产生复位信号并重启系统。软件看门狗原理上一样,只是将硬件电路上的定时器用处理器的内部定时器代替,这样可以简化硬件电路设计,但在可靠转载 2012-02-22 16:59:44 · 1839 阅读 · 0 评论 -
vxworks---行业常识
1. VxWorks 是美国 Wind River System 公司推出 2. 风河公司目前成为了intel 的子公司 3. vxworks 5.x 开发环境tornado; vxworks 6.x 开发环境workbench,采用Eclipse软件框架VxWorks 6.0 提供了最先进的内存保护机制,用户可通过基于MMU的内存保护机制来提高其设备可靠转载 2011-03-20 21:11:00 · 1954 阅读 · 0 评论 -
GCC命令-详细请参考GCC手册
GNU ToolKit User's GuideD:\Tornado2.2\docs\gnu2.96+ppc\gcc.html-Dmacro Define macro macro with the string `1' as its definition. -Dmacro=defn Define macro macro as defn. All instances of `-D原创 2011-12-26 09:28:08 · 1202 阅读 · 0 评论 -
在VxWorks平台如何计算cpu的利用率 .
最近我在学VxWorks,但是总觉得如果不做点什么,光看那E版的联机文档,不会给我的功力带来突飞猛进。我想起前一阵子,在给我们公司的产品加OAM功能时,需要测量CPU的利用率,我们公司的VxWorks大虾们利用了反汇编攻克,应该算是成功了,但是不太稳定,偶尔回抛出异常。于是我决心转载 2011-07-28 15:04:54 · 3284 阅读 · 1 评论 -
VxWorks下的任务监控方法及应用
VxWorks下的任务监控方法及应用转载 2011-04-11 18:47:00 · 3912 阅读 · 1 评论 -
VxWorks下MPC860的中断处理机制及其应用
VxWorks下MPC860的中断处理机制及其应用转载 2011-04-10 16:45:00 · 1116 阅读 · 0 评论 -
Vxworks消息队列小结
Vxworks消息队列小结原创 2011-04-04 12:30:00 · 3350 阅读 · 0 评论 -
Tornado开发中小知识---(更新中)
Tornado开发中小知识---(更新中)原创 2010-09-02 13:57:00 · 2244 阅读 · 0 评论 -
VxWorks for PowerPC的内存分配
VxWorks for PowerPC的内存分配转载 2010-08-28 17:36:00 · 4838 阅读 · 0 评论 -
vxWorks的config.h注释
vxWorks的config.h注释转载 2010-08-28 16:57:00 · 1586 阅读 · 0 评论 -
FLASH位宽为8、16、32时,CPU与外设之间地址线的连接方法
FLASH位宽为8、16、32时,CPU与外设之间地址线的连接方法转载 2010-08-26 20:46:00 · 1256 阅读 · 0 评论 -
vxworks--基于ROM或驻留的VxWorks映象
vxworks--基于ROM或驻留的VxWorks映象转载 2010-08-26 21:40:00 · 1689 阅读 · 0 评论 -
vxworks中任务间的通信支持信号量、消息队列、管道、信号、事件、共享内存等
vxworks中任务间的通信支持信号量、消息队列、管道、信号、事件、共享内存等。一:信号量信号量分二进制信号量、互斥信号量、计数信号量。1:二进制信号量(1)semBCreate():创建二进制信号量SEM_ID semBCreate(int options,转载 2011-09-27 22:09:18 · 1591 阅读 · 0 评论 -
VxWorks任务编程中常见异常分析
在任务运行过程中,会出现一些异常的情况,导致任务不能正常运行或者对操作系统造成影响。一般来说,这些异常是由程序的逻辑错误造成的,防止这些异常情况的出现和出现后进行补救就有格外重要的意义。 1 代码重入与共享 在应用中,可能会出现多个任务调用同一段代码的情况,由于任务转载 2011-10-02 10:28:56 · 2872 阅读 · 0 评论 -
vxwork的信号量
VxWorks主要提供如下API进行信号量的创建、获取和释放: 参数1:SEM_Q_PRIORITY,SEM_Q_FIFOSEM_Q_PRIORITY(值为0x1):需要获取该信号量的任务基于优先级顺序排列。SEM_Q_FIFO(值为0x0):需要获取该信号量的任原创 2011-04-04 12:02:00 · 2484 阅读 · 0 评论 -
inUnlock()与intLock()注意
VxWorks提供两个重要API:(1)intLock():使中断禁止(2)intUnlock():开中断可以用intLock/intUnlock提供最高级别的互斥机制以保护临界区域不被打断,例如:用intLock()禁止中断后,当前执行的任务将一直继续,中断处理和任务调度得不到执行,直到该任务主动调用intUnLock解锁中断为止。对于intLock和unLock的使用,我们要注原创 2011-12-12 11:08:02 · 9646 阅读 · 1 评论 -
vxworks下延时办法总结
vxworks下延时办法总结最近,所作的工程需要1ms的定时器,俺参考了精华区的有关文章并在各位大侠的帮助下,俺终于研究了1ms的精确定时,睍在看到还有网友在求帮忙有关疑问,俺这儿就总结一下,期望对所有人有所帮助。1、taskDelay()taskdelay()是最简单的延时办法,他的单位是tick。它的函数比如调用tas转载 2010-09-02 14:07:00 · 8387 阅读 · 0 评论 -
VxWorks中logMsg与printf的区别
printf( ) - write a formatted string to the standard output stream (ANSI).logMsg( ) does not actually perform the output directly to the logging streams, but instead queues the message to the logg转载 2011-06-05 23:50:00 · 8110 阅读 · 1 评论