re:vxworks静态连接和动态链接 | Qife | 2006-11-16 19:54:45 | 删除 |
这样应该是可以的了,但是去那找类似checkstack和tt这些函数的实现代码呢? |
re:vxworks静态连接和动态链接 yanshen 2006-11-14 23:30:45 删除 我觉得可以改一下checkstack函数,这个函数最后输出是用的printf,而printf的输出是定位在显示器上的,你可以将里面包含的变量写到Flash里。你看看行不行啊! re:vxworks加入静态库引起的麻烦 yanshen 2006-11-14 23:23:52 删除 是不是你没有包含target shell啊?包含了以后在目标板上才能显示。还有target shell与PC_CONSOLE的定向有关,PC_CONSOLE必须定向到目标板所带的显示器上才行。 re:vxworks静态连接和动态链接 Qife 2006-11-14 22:14:02 删除 checkstack()只是打印出信息,我想把把类似tt()打印出的CallStack信息取出来保存到Flash里. re:vxworks加入静态库引起的麻烦 路路 2006-11-14 20:36:54 删除 请教您个问题,希望得到您的帮助。
在用软盘启动目标机的时,目标机上未出现启动信息,只出现了一些“+”号,ftp server的log信息显示vxWorks已经下载成功,启动target server后,显示连接成功。此时tornado的各种组件都能使用,也能进行编程工作,目标机不能显示输出信息,未进入系统界面,不知是什么原因呢? re:vxworks静态连接和动态链接 yanshen 2006-11-13 17:24:12 删除 如果用Shell的话,程序运行可以在Shell里直接输入应用程序名。如果想在内核启动的时候直接运行应用程序那就要在usrAppInit.c里加入你的函数入口。就OK啦。 re:vxworks静态连接和动态链接 vicker 2006-11-13 16:44:11 删除 找了好久终于找到了一个好网站,顶一下,
顺便问一个问题。
我现在要实现vxworks下的dns协议,我不知道应该在哪里调用我的程序DdnsModuleInit();呢?
另外,我ftp 到我的板子,下载vxworks.z到我的板子到,还要不要重新启动,还是下载后我的程序就可以运行了。谢谢了,我的QQ:18973858,希望能跟大家交流。 re:vxworks在usrKernel.c打印信息 yanshen 2006-11-11 20:56:11 删除 小弟也不是高手啦,只是做了一段时间,还是要大家多多交流。我也没有完全自己写过BSP。我觉得自己写虽然对于理解很有利,但这样时间比较长现在一般都模版,直接该模版就OK了吧。一开始先把串口调通剩下的工作就简单了。明天我发篇别人的文章你看看吧,讲BSP是怎样调的,不错。 re:vxworks在usrKernel.c打印信息 来了 2006-11-11 16:11:09 删除 本人小硕,控制理论的,以前没开过操作系统,数据结构之类的课,现在买了个周立功smart2200开发板,打算学习vxworks,老板是做电力电子的 ,自己不太感兴趣,而且感觉自己不是做这个的材料。以前对嵌入式只是稍微有点了解,现在很感兴趣,现在想问的是,我想先做周立功的bsp,不知这个难度怎样?现在问题是我打开tornado,都不知道该如何入手?能不能给小弟指点下呢?万分感谢。 re:vxworks静态连接和动态链接 yanshen 2006-11-10 12:18:04 删除 checkstack()函数可以打印每个任务的堆栈使用概要。 请教:如何获取堆栈信息? Qife 2006-11-9 19:27:24 删除 -> tt "logTask" 3ab92 _vxTaskEntry +10 : _logTask (0, 0, 0, 0, 0, 0, 0, 0, 0, 0) ee6e _logTask +12 : _read (5, 3f8a10, 20) d460 _read +10 : _iosRead (5, 3f8a10, 20) e234 _iosRead +9c : _pipeRead (3fce1c, 3f8a10, 20) 23978 _pipeRead +24 : _semTake (3f8b78) value = 0 = 0x0
能否有办法获取类似tt函数打印出来的CallStack信息,想把这些信息保存到Flash里. re:vxworks启动bootrom yanshen 2006-11-8 18:02:25 删除 你用逻辑分析仪看看你的地址线和数据线的读写时序有没有问题啊?感觉不是软件问题,CF卡状态度应该不会错的。 re:windriver的blog yanshen 2006-11-8 12:35:14 删除 如果输入命令,你用zinc吗?zinc里有这样的设计,如果不用的话那工作量就大了。对话框都要自己编吧。我认为可以等待键盘输入,再读输入值,再进行操作。你看看行不行吧. 请教问题——re:vxworks启动bootrom JKK 2006-11-8 9:38:03 删除 用430控制CF卡的读写,选用了True IDE mode。但是始终不能正确读取状态寄存器的值。 CF卡与IDE接口相连,引脚的连接都没有问题。步骤: 1初始化引脚 2读状态寄存器的值(选通地址,CS0=0,CS1=1,读信号有效,读数据,读信号Disable,CS0=1,CS1=1),若BSY="0"&DRQ="0",则选择主设备(向磁头寄存器写入0xe0)。然后判断状态寄存器的值,若BSY="0"&DRQ="0",则写向各个寄存器参数并写命令字;再读取状态寄存器的值,此时问题出现,始终无法得到0x58H。 请教为什么? 怎么判断是否真的读取了CF卡的状态寄存器? 有什么解决办法确认命令真的写进去了呢? 还有其它尝试办法吗? 真诚等待指点,谢谢 re:VxWorks丰富的定时管理和时钟管理 yanshen 2006-11-5 0:12:49 删除 可以用Watchdog定时器吧。
#define TICK_MS (1000/SYS_CLK_RATE)/*每tick的毫秒数*/
int timer_array[30];
void timer_run()/*定时器调用函数*/ {wdStart(timer_ID,timerLength/TICK_MS,(FUNCPTR)(timer_run),0);}
UINT16 SimOs_SetTimer(UINT16 timerID, ULONG timerLength) /*系统定时*/ { WDOG_ID timer_ID; extern int timer_array[]; timer_ID="wdCreate"();/*创建定时器*/ timer_array[timerID]=(int)timer_ID; if(timerLength==0) timerLength="1"; wdStart(timer_ID,timerLength/TICK_MS,(FUNCPTR)(timer_run),0);/*打开定时器*/
}
/*清除系统定时*/ UINT16 SimOs_KillTimer(UINT16 timerID) { extern int timer_array[30]; WDOG_ID timer_ID; timer_ID=(WDOG_ID)timer_array[timerID]; if(wdDelete(timer_ID)==OK) return XW_TRUE; }
参考一下吧,这是以 re:VxWorks丰富的定时管理和时钟管理 yanzi 2006-11-4 21:18:27 删除 如果我要实现精确到1ms的定时,该怎么办? re:windriver的blog zxj 2006-11-4 19:54:11 删除 那如果是用windML在屏幕显示一个对话框,要求用户输入口令怎么办呢?比如说要输入一个口令,调试时怎么来处理呢?
还有一个问题,如果两个任务通过消息队列进行通讯,如果发送任务发送了n条消息,但是接收任务不知道要接收多少消息,那么接收任务是否在条件许可的情况下一直接收来自发送任务的消息?我主要想把一些数据分开传送,分多次处理这些数据,不知道用什么方法比较合适!请赐教! re:windriver的blog yanshen 2006-11-3 12:30:31 删除 只有包含pc console那么tagert shell才能使用。所以如果你用的是tagert shell就必须包含它。如果用windML在屏幕显示图像就不能包含pc console了。 re:windriver的blog zxj 2006-11-2 23:18:54 删除 这两天又试了一下,原来我用的是downlable的镜像,我又试着用了一下bootable的镜像,可以交互了,但是只限于在一个任务中,离开这个任务切换到别的任务就又不行了,我这几天再试试看!可能是config.h配置中的问题,我把里面的pc console配置项变为#define,估计问题在这里,这样目标机就支持键盘和显示器了!不知道说的对不对?我再试着在整个程序中看看行不行!多交流! 求助!!!! megadethhx 2006-10-31 23:08:55 删除 能不能放一些电子线路硬件的基本知识放上面啊!
我是新手要入门的 re:windriver的blog yanshen 2006-10-31 23:03:41 删除 我也没做很长时间,在摸索中。今天问了一教员,他说应该可以。你试试其他函数吧。有时候vxworks的有些函数可能支持的不好。我也在我这里试试,我还没用过交互的情况。不过最近好忙啊。 re:windriver的blog zxj 2006-10-31 20:27:50 删除 谢了!
我是在target shell里进入输入的,但是shell好象只能够进行一些命令的输入和执行,对于进行交互的问题,比如说scanf("%s", s)语句,输入一个值给s,shell是不支持的!windML还没有深入地学,我试着系统学习一下吧,我的水平太水了!昨天请教了一下测院的一个教员,他们调试时用的是虚拟机,我也用虚拟机试一下!用虚拟机的话可能需要windML了,我一直觉得在集成仿真器下应该是支持键盘输入交互的,谁知道不行!
呵呵,我是电院的,你是工院的,我们这儿搞这个的很少,你们那很强呀,看了你们一些论文,佩服!以后多向你请教了! re:跟我一样的vxworks论坛 cocappjj 2006-10-31 15:17:14 删除 谢谢yanshen的推荐! re:windriver的blog yanshen 2006-10-30 23:01:51 删除 你是在target shell里进行输入吗?如果是可能要接获键盘消息吧。我觉得应该初始化键盘设备。看看windML吧?呵呵你是几系的啊?我也是新手,不知道说的对不对,你试试。我做过等待键盘输入的程序。不知道跟你这个一不一样? 请教个问题,希望有空时给点解释! zxj 2006-10-30 19:42:00 删除 老兄,你好,我也是信大的一个兄弟!现在使用VxWorks有个问题想请教你一下!
我现在在Tornado下用集成仿真器调试应用程度,但不知道怎样与应用程序交互。例如,应用程序提示需要输入口令(在SHELL或VXSIM中),但是好象通过键盘无法输入口令,是否是VXWORKS镜像中没有键盘的驱动,还是在集成仿真器下无法输入数据给应用程序!请空闲时给点提示,谢了!祝你的Blog越办越好!
|
用户45069 2008-6-12 18:06
shenyandetongxing_551209819 2007-1-13 16:36
用户73166 2007-1-13 10:48
最近在学习BSP,每次调试的时候总是采用点灯,现在想学VisionClick的断点调试,
但是不太清楚它的用法,比如设置断点后是不是还要把代码放入目标机的RAM中啊?
要不要再烧写一遍映象啊,现在思绪好乱,请yanshen指点一下啊?
shenyandetongxing_551209819 2006-11-20 22:58
呵呵,欢迎你常来哦!好多问题还是没有搞清楚的!
用户73924 2006-11-20 21:16
zxj 你说的shell不支持键盘,可以在网络调试或者串口调试状态下,通过tornado的IDE的那个shell来发送命令。或者通过串口发送字符串。
用户73924 2006-11-20 21:14
vxworks是很早以前搞的了,记得不是很清楚了,bsp和vxworks内核可以“捆绑”在一起,作为一个整个的.bin文件烧写到flash中运行,也可以分两步,一个是boot一个是vxworks.xxx,xxx要看你的vxworks景象文件是压缩,非压缩什么的了。
第一种“捆绑”实际上也是运行了一次boot程序(简直是废话,当然要运行,不然硬件怎么初始化),完成后直接跳转到了vxworks处执行。
第二种可以看作为类似网吧那种“无盘工作站”形式,可以从网络服务器等下载vxworks文件,来运行。
欢迎拍砖
用户1053025 2006-11-17 10:05