|
|
- vwworks相关问题
作者:lastwing 时间:2008-9-5 10:34:26
vxworks 的启动(CF卡)
(1) 需制作启动盘。先在CF卡上安装DOS操作系统,从而可以使用vxsys.com制作vxworks的引导扇区。具体方法为:将CF卡插到读卡器上,再将读卡器插到电脑的USB口上;利用一款叫做“USBOOT”或“超级急救盘_优盘版”的软件(http://doshome.com),通过USB口把Dos安装到优盘上。安装过程很简单,按提示操作即可(注意,安装过程中可能要求拔下优盘,然后再插上)。安装完后,在D:\Tornado2\host\x86-win32\bin找到vxsys.com文件,将它复制到CF卡。将CF卡拔下,插到PC104上。启动PC104,进入DOS环境(当前盘一般为C:\,表示CF卡的盘符)。在DOS提示符后输入lock C:,在运行vxsys C:。运行成功后就已经制作了CF卡的引导扇区。
(2) 制作BOOTROM。BOOTROM用于引导Vxworks。主要任务是:将目录
D:\Tornado2\target\config\pcPentium中的文件全部复制到PC104(自己创建,作为自己的BSP)目录下。
在config.h中 修改#define DEFAULT_BOOT_LINE \:
“ata=1,0(0,0)host:/ata1/vxWorks h=192.168.0.24 e=192.168.0.55 o=rtl"
在config.h中包含定义:
#define INCLUDE_ATA /*包含IDE或EIDE(ATA)硬盘驱动*/
在config.h中将
#define SYS_WARM_TYPE SYS_WARM_FD
改为
#define SYS_WARM_TYPE SYS_WARM_ATA /*定义热启动设备为硬盘*/
在config.h中把
#define SYS_WARM_ATA_CTRL 0
改为
#define SYS_WARM_ATA_CTRL 1 /*使用1#硬盘控制器进行热启动*/
在config/bspname/pc.h中找到
#define ATA1_INT_LVL 0x9
改为
#define ATA1_INT_LVL 0xf /*定义中断请求号*/
创建bootable image 工程。在Project菜单中点击Build Boot Rom,即可在PC104目录中生成Bootrom_uncmp文件,这就是bootrom文件。此外还需在windows提示符下,运行vxcopy D:\Bootrom_uncmp D:\bootrom。将该bootrom复制到CF卡上(注意,最好将前面的DOS系统文件全部删除,以便于系统快速启动)。
(3)
制作vxworks。与第二步类似,只需点击build即可。将生成的vxworks复制到CF卡。将CF卡插入PC104启动即可。
Tornado2.2中为何不能启动Vxsim?
这主要是由微软XP系统的补丁造成的。可在网站上下载WindowsXP-KB924867- x86-CHS.exe,运行之即可。
如何将.o文件静态连接到vxworks中?
一般将.o文件设为EXTRA_MODULES的值。可在workspace窗口中点击builds标签,选择该工程的default,再点击Macros,在下拉列表中选择EXTRA_MODULES,修改其值。注意,一定点击add/set按钮。如果.o文件使用cpp文件编译的,有可能连不进去。如果.o文件使用c文件编译的,且仍然连不进去,一个可行的方法是删除该工程下的default目录,重新编译即可。
2、请教Linux中的3种timer的区别与联系?
Linux中有3种timer:
1、Real Time
Clock(RTC)
2、Programmalbe
Interval Timer(PIT)
3、Time Stamp
Counter.(TSC)
其中RTC是位于CMOS中的,其频率范围是2HZ--8192HZ.
PIT主要由8254时钟芯片实现的
TSC的主体是位于CPU里面的一个64位的TSC寄存器。每个CPU时钟周期其值加一。
但这三者的具体联系我不是很清楚,那位大虾介绍一下吧。
RTC是PC主板上的晶振及相关电路组成的时钟电路的生成脉冲,RTC经过8254电路的频产生一个频率较低一点的OS(系统)时钟TSC,系统时钟每一个cpu周期加一,每次系统时钟在系统初起时通过RTC初始化。8254本身工作也需要有自己的驱动时钟(PIT),可以参考一些单片机方面的书籍。
还是不明白。
按你的意思,那就是RTC的精确度比TSC更高了。但是我查资料发现8254的震荡频率最高是4.194304MHz,也就是说TSC的频率比这个频率更少,而现在的CPU的频率已经超过了GHz,如果每个cpu周期TSC时钟加一,那么TSC的频率岂不可以达到GHz级,这样岂不矛盾了吗?
另外一些资料说利用TSC可以实现比PIT更精确的定时,也就是不可能由PIT产生了。麻烦你再详细一点好吗?
8254本身只是一个定时/计数器,他本身要正常工作需要一个晶振的支持,就好像一个将1mA的电流放大到
-------------------------------------------------------------------------------------------------------------------------------------------------------------------
作者:tearring 时间:2008-9-5 23:21:42
有些都是tornado 2.0,vx5.4的教程吧
希望能有些针对2.2,vx\5.5的
尤其是BSP方面的知识
虽说比较通用
但还是有些差别,把人搞的晕头转向的
[em06]-------------------------------------------------------------------------------------------------------------------------------------------------------------------
作者:chenlei188 时间:2008-9-5 11:19:20
高人啊!~~~~
-------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
|