主题 : 相同的硬件总线设备接口 流驱动 64M/256M的核心板工作不一样 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 9672
精华: 0
发帖: 41
金钱: 215 两
威望: 46 点
综合积分: 82 分
注册时间: 2009-10-09
最后登录: 2016-09-08
楼主  发表于: 2011-04-27 18:35

 相同的硬件总线设备接口 流驱动 64M/256M的核心板工作不一样

管理提醒: 本帖被 qq2440 从 micro2440技术交流专区 移动到本区(2013-11-18)
    相同的硬件总线设备接口、流驱动时,在Micro2440-20090228(flash:64M)的核心板,带硬件设备都正常工作,但在micro2440-20100204(flash:256M)的,工作时死机,总线接口无硬件设备也一样,具体操作是:
一、在flash:64M的核心板,20090228版本BSP工程文件时,正常读与写;
1、在\micro2440200902光盘文件\WindowsCE5.0\smdk2440目录下\NBOOT\2440addr.h中增加物理地址定义,
#define bus_base   (*(volatile unsigned *)(0x08000000))  
  #define bus0    (*(volatile unsigned *)(bus_base+0x00))  
  #define bus1    (*(volatile unsigned *)(bus_base+0x04))  
  #define bus2    (*(volatile unsigned *)(bus_base+0x08))  
  #define bus3    (*(volatile unsigned *)(bus_base+0x0C))
  ...  
2、在smdk2440\INC\s2440a.h中增加
   #define NGCS1_BASE       0xA2000000 //82000000
     typedef struct {
      unsigned int bus0;     //00
      unsigned int bus1;     //04
      unsigned int bus2;     //08
      unsigned int bus3;     //0C
           ...
      }busreg;
3、再写一个类似LEDDriver.cpp的驱动,进行读与写操作,并编译、下载,
4、用C#写应用程序;

二、操作在flash:256M的核心板,20100817版本BSP工程文件时,读写总线接口有时死机(不带硬件设备都会死),
1、在2010-06-19的NBOOT\244X_addr.h中增加物理地址定义并编译,之后再将Nboot.bin下载到板上,
  #define bus_base   (*(volatile unsigned *)(0x08000000))  
    #define bus0    (*(volatile unsigned *)(bus_base+0x00))  
    #define bus1    (*(volatile unsigned *)(bus_base+0x04))  
    #define bus2    (*(volatile unsigned *)(bus_base+0x08))  
   #define bus3    (*(volatile unsigned *)(bus_base+0x0C))
    .. .
2、在mini2440\\Src\Drivers\LEDdriver\s2440.h中增加
   #define NGCS1_BASE       0xA2000000 //82000000
     typedef struct {
      unsigned int bus0;     //00
      unsigned int bus1;     //04
      unsigned int bus2;     //08
      unsigned int bus3;     //0C
          .. .
        }busreg;
3、在LEDDriver.cpp驱动中增加读与写操作的程序,并编译、下载,
4、用C#写应用程序;
三、总结:操作相同的总线设备硬件,
1、用64M的核心板正常,
2、用256M的核心板好象总线有冲突,而引起不稳定,读/写数据时(外部KEY/LED)没有变化,似乎定义#define bus0 (*(volatile unsigned *)(bus_base+0x00))  并没有定义到,还是... ?
烦请各位朋友们帮助,先谢谢了!
站得高,望得远。