最近一直忙于毕业设计,题目是跟vxworks有关的。遇到一个问题,已解决,与大家分享。
最先是在实验室的PC机上做实验,开发环境是Tornado for Pentuim + BSP for Pentium + WindML3.0。新建一个bootable vxworks image 工程,BSP直接选择的Pentium。由于我想用显示器来做显示,因此首先配置windML。在Tornado下选择Tool——>WindML——>config,弹出WindML的配置窗口,Processor选择Pentium,Device选择generic VGA(也可以选择VESA BIOS,这样有更好的分辨率和颜色深度,但是前提是显卡要有BIOS支持),选择相应的分辨率和颜色深度。需要注意的是,由于D版的WindML不支持鼠标(不知道是不是只有我这里是这样,加了鼠标后启动就不正常),所以配置的时候没有选择鼠标,只加了键盘,并且没有选择Audio。配置完成后,保存,然后Build,会在\target\lib\pentium\PENTIUM\common目录下生成一个叫做libwndml.a和一个叫做wndml.o的文件。将其中任何一个作为外部模块加入到工程中去,这样就可以使用显示器和键盘了(关于WindML的使用,论坛上好像有不少的讨论,这里只是其中的一种实现方式)。
编译工程,生成相应的bootrom和vxworks镜像文件。我采用的是软盘引导,从网线下载vxworks镜像的方式。将bootrom拷到软盘(注意检查其中存储的连续性,不连续则重新格式化再拷贝),启动目标机,设置pc的BIOS为从软盘启动。正常启动后,引导目标机通过网络从主机下载vxworks镜像,启动,一切正常!
后来从实验室里找到一个PC104的单板机,是以前师兄搞什么竞赛的时候留下来的,于是兴奋不已,想在上面跑跑vxworks。在网上查了一下单板机上的主要芯片的型号:CPU是美国国家半导体的Geode GX1-233(X86架构,除了x86的核以外,还有若干控制功能,因此板子上没有北桥!并且带显示控制器,VGA兼容),使用协处理器CS5530A(南桥),有8139网卡等。由于是x86的核,且主频有233MHz,并且网卡的型号和我最先PC机上的也一致,因此想直接用前面在PC机上用的那个工程。从PC机上将软驱扯下来,接到单板机上,开机,修改BIOS从软盘启动。重启后开始读取软盘,这时问题出现了。当显示完v1.6+++++++++……后,立刻重启了!
是什么原因导致的重启呢?CPU与Pentium不兼容,不能直接用Pentium的BSP?CPU的中断、IO基地址定义不符?还是……?
忘了说,我是个vxworks新手,遇到这等问题,只有请高手指点,于是找到了斑竹!向他大概描述的情况,版主想了很多办法(有好多办法,我现在还不懂为什么要那样做呢^_^)。先仔细看了一下CPU的资料,确定了它的中断、IO基地址等定义是和Pentium一致的,猜想不是这个原因引起的。后来想起版主说“如果是显示内存是共享内存的话,BSP里面要把那部分留出来的。否则也可能导致重启”,的确,单板机上的显示内存是共享内存的,并且可以在BIOS里设置分配给显存的内存大小,而以前在PC机上的显卡是有独立显存的。问题会不会在这里呢?版主说的“BSP里面要把那部分留出来”又是什么意思呢?
我想起一般架构的机器中低1M左右的存储是有其他用途的,而根据版主的提示,我想到可能就是这个地方有问题,现在bsp初始化留了1m低地址空间,而共享显存很有可能就在接下来的连续低地址空间里,于是我把target\config\pcPentium文件夹下的config.h文件中的LOCAL_MEM_LOCAL_ADDR和其他相应的地方(如RAM_HIGH_ADRS、RAM_LOW_ADRS等)均提高了4MB(这是和我的板子有关的,从CPU的数据手册知道,最多可以给现存分配4M的内存,因此这里直接提高的4M;当然,可以根据实际的情况来做修改)的空间,重新编译,下载,成功!当然,既然有这种情况,也就很有可能显存在其他地方共享的,一般这种情况的重启都有可能是其他用途的存储空间被不合理的占用所引起,所以有时候不妨将内存空间多用几种方式分配试试(当然,要有相应的架构的硬件资料的情况下才能做到有的放矢)。
热烈欢迎各位大侠拍砖,呵呵!
共4条
1/1 1 跳转至页
关于软盘启动到v1.6++++++……后重启的总结
关键词: 关于 软盘 启动 v1.6++++++ 重启 总结
共4条
1/1 1 跳转至页
回复
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
vscode+cmake搭建雅特力AT32L021开发环境被打赏30分 | |
【换取逻辑分析仪】自制底板并驱动ArduinoNanoRP2040ConnectLCD扩展板被打赏47分 | |
【分享评测,赢取加热台】RISC-V GCC 内嵌汇编使用被打赏38分 | |
【换取逻辑分析仪】-基于ADI单片机MAX78000的简易MP3音乐播放器被打赏48分 | |
我想要一部加热台+树莓派PICO驱动AHT10被打赏38分 | |
【换取逻辑分析仪】-硬件SPI驱动OLED屏幕被打赏36分 | |
换逻辑分析仪+上下拉与多路选择器被打赏29分 | |
Let'sdo第3期任务合集被打赏50分 | |
换逻辑分析仪+Verilog三态门被打赏27分 | |
换逻辑分析仪+Verilog多输出门被打赏24分 |