vxWorks6.6 N270 D525 cpu的bsp配置总结
对硬盘的操作
使用SATA硬盘,分区,引导区(VxC:)必须格式化为FAT(FAT16)格式,所以该分区大小有限制,不能超过4G(4G大小带测试),设置C:为“活动的”;
主机上安装DOS工具,采用MAXDOS8.5 版本,进入DOS环境下,格式化硬盘的引导区(SATA硬盘的分区VxC: format C: /s/q),进入Windows,将准备好的DOS系统文件拷贝至Vx的引导分区(VxC:)
添加网卡
更新网卡驱动,按照BSP中的说明更新网卡文件并make。
INSTALL_DIR\WindRiver\vxworks-6.6\target\src\hwif\end\make CPU=PENTIUM4 TOOL=diab
创建工程
创建boot loader/BSP project 工程,如下图1。 Format 选项必须是 Bin。Config.h文件可以不用修改。
编译工程,将生成的bootrom.bin 改名为 bootrom.sys,拷贝到 VxC:盘下。
创建 image 工程,编译,生成Vxworks 文件。拷贝到 VxC:盘下。
将SATA盘连接目标机,启动。加载bootrom 成功,开始初始化硬件,提示硬盘错误,可能和硬盘个数有关。随后加载vxworks 映像成功,进入vxworks操作系统。敲击键盘,有反应。
图1创建boot loader/BSP project 工程
修改 config.h 文件中 硬盘的个数设置。编译bootrom
#defineATA0_NUM_DRIVES (1) /*ATA 0 number drives present */
#defineATA1_NUM_DRIVES (0) /* ATA 1 number drives present */
图2
修改 image工程,如下,编译成功。运行后显示界面正常。
voidusrAppInit (void)
{
#ifdef USER_APPL_INIT
USER_APPL_INIT; /* for backwards compatibility */
#endif
printf("hello\n");
printf("hello\n");
printf("hello\n");
/* add application specific code here */
}
添加下图中的组件后,编译错误。去掉该组件后,编译正常。
图3
添加 对磁盘操作的代码,注意变量的声明必须放在最前面(C语言的语法规定)。
编译执行后,提示磁盘操作错误,磁盘上没有创建文件。
在内核中添加 DOS文件系统,如下图4,5,6。
增加 File System And Disk Utilities 内核。编译测试。
测试速度没有提高。
增加 Dos FS Cache Handler 组件,如下图7。
DOSFS_DEFAULT_FAT_CACHE_SUZE 0X10000
DOSFS_DEFAULT_DATA_CACHE_SUZE 0X20000
DOSFS_DEFAULT_DIR_CACHE_SUZE 0X2000
添加 kernelcomponents(default) 组件,选择全部,
添加HRFS 组件
系统组件:
networkcomponents/network protocols/newwork application/telnet server
hardware/peripherals/serial/pc console
developmenttool components/target shell components/target shell
Devs查看设备
AtaShow
16:
->cp( "/sd0/FILE1.DAT","/sd0/dir2/f001.dat")
17.lockd:;vxsys d:
ifconfig("rtg0172.29.38.93 netmask 255.255.255.0 up")
ifconfig("rtg0up")
/*Updated by AMPRO */
/* Boot form a Network*/
#define INCLUDE_BOOT_NETWORK
#define INCLUDE_BOOT_FTP_LOADER
#undef INCLUDE_BOOT_TFTP_LOADER
#undef INCLUDE_BOOT_RSH_LOADER
#define ATA0_CONFIG (ATA_GEO_CURRENT | ATA_DMA_AUTO | \
ATA_BITS_32 | ATA_PIO_MULTI)
速度有提高,bit加宽,mod = dmault2
ld1,0,"d:/load/demo422.out" 加载out文件
ld<demo422.out要先确定 ld的默认目录用
ls 查看当前目录 list the contents of a directory(WindSh)
pwd display the current default directory(WindSh)
cd"d:/load" 改变当前目录
添加usb识别。
另,在vxworks6.x的版本中存在一个BUG,当用copy命令拷贝文件到tffs或者U盘中,6.x版本上拷贝速度明显远远慢于5.5。追踪代码发现copy使用的中间函数copyStreams。这个函数的作用是从第一个文件中读出一个数据块到缓冲区,然后写入第二个文件。vxWorks5.5下,这个数据块的大小是64K,对于1M的文件只需要调用16次文件系统的写函数;而vxWorks6.x下,这个数据块的大小是1K,拷贝1M的文件需要调用1024次写函数。每次调用写函数都需要同步FAT表和文件描述。对于flash一般一个扇区在64KB或者128KB大小,将copyStreams中的COPY_BLOCK_SIZE改为此大小可以明显改善copy的速度。
COPY_BLOCK_SIZE的设置在C:\WindRiver-GPPVE-3.6-IA-Eval\vxworks-6.6\target\src\usr\usrFsLib.c文件中(该文件为只读,首先备份并去除只读属性),修改此文件中COPY_BLOCK_SIZE的大小为64KB或者128KB,然后打开vxworks Development shell,进入该目录,执行make CPU=PENTIUM4 TOOL=diab命令。执行完毕后,重新编译所有工程。
D525VXWORKS6.6 测试:
1. BOIS设置sata only
2. 采用3011的bsp
3. 网卡驱动采用6763 bsp下的,要重新编译,把.o文件放到bsp\lib里面
4. d525 vxworks6.6 bsp测试
D525VXWORKS6.8 测试:
1. BOIS设置sata only
2. 采用6763的bsp
3. Ata_num 1
4. 网卡驱动采用6763 bsp下的,要重新编译
5. d525 vxworks6.8
6. 硬盘识别,文件操作会出错。
"gei(0,0) host:vxWorks h=192.168.1.250 e=192.168.1.222:ffffff00 u=target pw=target o=gei"
"ata=0,0(0,0) host:/ata00:4/vxWorks h=192.168.1.250 e=192.168.1.222:ffffff00 u=target pw=target o=gei"
vxWorks6.6 N270 D525 cpu的bsp配置总结的更多相关文章
- ubuntu14.04下CPU的caffe配置,不成功的朋友请与我(lee)联系,后面附带邮箱
因广大朋友需求cpu的caffe配置.所以我(lee)在这份博客中对cpu配置caffe做出对应操作说明.希望能够解决大家对cpu配置caffe的困惑.少走弯路. 假设有安装不成功的朋友能够和我联系, ...
- Caffe cpu版本 Linux配置命令及搭建
Caffee 安装过程 1.安装依赖包 $ sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-de ...
- 查看linux系统CPU及内存配置
总核数 = 物理CPU个数 X 每颗物理CPU的核数 总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数 查看物理CPU个数 cat /proc/cpuinfo| grep & ...
- (五)agentd端cpu的触发器配置
配置===>模板===>选择对应的模板===> 这里我验证触发器是否有效,定义的触发器的值超过0.01就出发报警,这里我做的是最新的T值超过0.01就触发触发器 验证,说明触发器触发 ...
- win10 编译好的CPU版本caffe 配置自己的图像分类C++DEMO
VC++目录 包含目录 F:\caffewindows\scripts\build\include F:\caffewindows\scripts\build F:\vs2015\VC\include ...
- 通过配置CPU参数 worker_cpu_affinity 提升nginx性能
简介 Nginx默认没有开启利用多核cpu,我们可以通过增加worker_cpu_affinity配置参数来充分利用多核cpu的性能.cpu是任务处理,计算最关键的资源,cpu核越多,性能就越好. 规 ...
- caffe+vs2013+window10+GPU(CPU)配置
参考:http://www.echojb.com/cuda/2017/03/15/350138.html https://www.zhihu.com/question/56111727 第一步:首先确 ...
- 全面了解 Linux 服务器 - 1. 查看 Linux 服务器的 CPU 详细情况
1. 查看 Linux 服务器的 CPU 详细情况 判断依据: 具有相同的 core id 的 CPU 是同意个 core 超线程. 具有相同的 physical id 的 CPU 是同一个 CPU ...
- SQLSERVER到底能识别多少个逻辑CPU?
SQLSERVER到底能识别多少个逻辑CPU? SQLSERVER到底能识别多少个逻辑CPU? 前言 在前几天在论坛有人遇到SQLSERVER识别逻辑CPU的问题 帖子地址: http://socia ...
随机推荐
- 浅谈OSI七层模型及ICP/IP四层模型
1.OSI七层模型的概念 在网络历史的早期,国际标准化组织(ISO)和国际电报电话咨询委员会(CCITT)共同出版了开放系统互联的七层参考模型. 一台计算机操作系统中的网络过程包括从应用请求(在协议栈 ...
- 自动化测试KPI考评的一种方法
更多原创测试技术文章同步更新到微信公众号 :三国测,敬请扫码关注个人的微信号,感谢! 原文链接:http://www.cnblogs.com/zishi/p/6856204.html 众所周知,在IT ...
- Android开发——Viewpager的介绍使用
目录: 一.Viewpager的简单介绍 二.简单的Viewpager使用 三.简单显示图片的Viewpager实现 四.广告图的实现及Viewpager指示器(小圆点)的实现 五.APP引导页的实现 ...
- ABP官方文档翻译 7.3 Quartz集成
Quartz集成 介绍 安装 创建Jobs 计划安排Jobs 更多 介绍 Quartz是一个全功能的.开源的job计划安排系统,可以用在小的apps也可以用于大型的企业系统.Abp.Quartz包简化 ...
- python中的列表排序
对列表进行排序是常见的操作,最简单的方式是使用sort()函数. 1.一般用法 不管列表元素是数.字符串还是元组,函数sort()总是就地操作列表,按升序进行排列元素,并返回None. #数 > ...
- Linux根据UUID自动挂载磁盘分区
一般服务器都有多个硬盘分区,在重启后,这些分区的逻辑位置加载时可能会发生变动,如果使用传统的设备名称(例如:/dev/sda)方式挂载磁盘,就可能因为磁盘顺序变化而造成混乱. Linux环境中每个Bl ...
- js中sum(2,3,4)和sum(2)(3)(4)都返回9并要求扩展性
网上有很多关于sum(1)(2)(3),sum(1,2,3)之类的面试题要求输出相同的结果6并要求可以满足扩展,即有多个参数时也能符合题设的要求,所以自己写了部分例子可以大概满足这些面试题的要求 &l ...
- IOS使用pods初次加载出现Pods-resources.sh: Permission denied错误的解决方案
在使用了pods之后首次编译加载时会出现错误 你的Pods存放目录/Pods/Target Support Files/Pods/Pods-resources.sh: Permission denie ...
- Windows上MongoDB的安装
下载 下载MongoDB,自然是在他的官网下载相应系统的版本了,我下载的是Windows的安装包. 安装 傻瓜式安装,不多说.(默认安装在C盘的.) 启动 mongodb的数据存在一个叫data 文件 ...
- 关于JavaScript的事件处理一些知识
<JS事件处理> Event对象详细信息:http://www.w3school.com.cn/jsref/dom_obj_event.asp JS原生支持3中绑定事件方式: 1.以标签属 ...