zoukankan      html  css  js  c++  java
  • vxWorks6.6 N270 D525 cpu的bsp配置总结 分类: vxWorks 2015-05-28 08:57 200人阅读 评论(0) 收藏

    对硬盘的操作

    使用SATA硬盘,分区,引导区(VxC:)必须格式化为FAT(FAT16)格式,所以该分区大小有限制,不能超过4G(4G大小带测试),设置C:为“活动的”;

    主机上安装DOS工具,采用MAXDOS8.5 版本,进入DOS环境下,格式化硬盘的引导区(SATA硬盘的分区VxC: format C: /s/q),进入Windows,将准备好的DOS系统文件拷贝至Vx的引导分区(VxC:)

    添加网卡

    更新网卡驱动,按照BSP中的说明更新网卡文件并make。

       INSTALL_DIRWindRivervxworks-6.6 argetsrchwifendmake 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 ");

        printf("hello ");

        printf("hello ");

        /* 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-Evalvxworks-6.6 argetsrcusrusrFsLib.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文件放到bsplib里面

    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"

    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    Java实现 蓝桥杯VIP 算法提高 进制转换
    数据备份服务商Rubrik获4000万美元B轮融资
    为QNetworkAccessManager添加超时提醒(自己记录一段时间里的下载字节数,用定时器去定期检测,从而判断是否超时)
    DIOCP3 DEMO的编译(去掉VCL前缀)
    Golang环境搭建,Notepad++配置Golang开发环境,Golang发送邮件
    川普当选对中国的好处在哪?(会注重实利,而不是虚的意识形态)
    带你走近AngularJS
    ASP.NET MVC学习之控制器篇扩展性
    微信语音识别及网页获取用户信息
    敏捷和自动化测试
  • 原文地址:https://www.cnblogs.com/mao0504/p/4706413.html
Copyright © 2011-2022 走看看