carriage
驱动小牛
驱动小牛
  • 注册日期2002-10-12
  • 最后登录2004-09-29
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1528回复:0

请教一个固件问题

楼主#
更多 发布于:2004-01-05 19:43
年关了救救小弟
做不出来不让回家过年啊!!!!
小弟在用CS5954AM做U盘开发固件时遇到些问题
下面是CYPRESS的一段固件源码:

.xlist
    include nandflsh.inc
.list              
cDevSel  equ 0xe0
;**********************************************************************
; Software Init: Default Setting to Rec command From Host
; Using Scan for Enhancement code
;**********************************************************************
   dw    0xc3b6                   ;enhancement signature
   dw    4                        ;length of stuff
   db    0                        ;COPY opcode
   dw    0xc006                   ;mov [0xc006],0 setup processor at 48MHz
#ifdef USE_12
   dw    0x40                     ;setup for 12MHz oscillator
#else
   dw    0                        ;setup for 48MHz oscillator
#endif

   dw    0xc3b6                   ;enhancement signature
   dw    4                        ;length of stuff
   db    0                        ;COPY opcode
   dw    0xc03a
#ifdef USE_SLOW                   ;;make SRAM 8-bit or 16-bit
   dw    0x00b                    ;ext=16-bit,0-wait|rom=16,bit-0wait|ram=8-bit,3-wait
#else
   dw    0x009                    ;ext=16-bit,0-wait|rom=16,bit-0wait|ram=8-bit,1-wait
#endif

   dw    0xc3b6                   ;enhancement signature
   dw    4                        ;length of stuff
   db    0                        ;COPY opcode
   dw    (83*2)                  
   dw    std_class

   dw    0xc3b6                   ;enhancement signature
   dw    6                        ;length of stuff
   db    0                        ;COPY opcode
   dw    (91*2)                   ;string descriptor loc;;
   dw    conf_desc
   dw    string_desc

   dw    0xc3b6                   ;enhancement signature
   dw    4                        ;length of stuff
   db    0                        ;COPY opcode
   dw    (USB_DELTA_CONFIG_INT*2)  ;;
   dw    New_Delta

   dw    0xc3b6                   ;enhancement signature
   dw    ((IRAM0_E-IRAM0_S)+2)    ;length of IRAM0
   db    0                        ;memory copy
   dw    IRAM0                    ;??IRAM0,IRAM_S
   reloc IRAM0
IRAM0_S:
这是固件开头的一段,0Xc3b6是中断67的信号标记而0XE0是源地址(起始位置)我的问题在这儿
  dw    0xc3b6                   ;enhancement signature
   dw    ((IRAM0_E-IRAM0_S)+2)    ;length of IRAM0
   db    0                        ;memory copy
   dw    IRAM0                    ;??IRAM0,IRAM_S
   reloc IRAM0
按照头文件的描述如下
;**************************************************************************
; Unused RAM space for SL11R chip Rev 1.2 & CS5954AM
;  IRAM0: 0x01e-0x07e  0x60 free MEM: interrupt vector 15 to int 63
;  IRAM1: 0x0c2-0x0fe  0x38 free MEM: interrupt vector 97 to int 127
;  IRAM2: 0x2f2-0x33e  0x4C free MEM: RAM variables
; Remove UART:
;  IRAMU: 0x22a-0x268  0x3E free, must disable UART_INT and UART_IDLE task  
;**************************************************************************
这个IRAM0是个什么东东我看不明白,我猜是一个USB通道但是有问题它的地址空间0x01e-0x07e为什么不在0XE0后面
如果是中断向量组空间从中断15到63又大有问题,CS5954AM中断分类如下:
硬中断
InterruptNumber    VectorAddress       InterruptType  Note
0                  0x0000              Timer0         1
1                  0x0002              Timer1          2
2                  0x0004              GP IRQ0         2
3                  0x0006              GP IRQ1         2
4                  0x0008              UART Tx         1
5                  0x000A              UART Rx         1
6                  0x000C              Fast DMA Done   2
7                  0x000E              USB Reset
8                  0x0010              USB SOF          3
9                  0x0012              USB Endpoint0    1
No Error      
10                 0x0014              USB Endpoint0
Error             1
11                 0x0016              USB Endpoint1
No Error
12                 0x0018              USB Endpoint1 Error
13                 0x001A              USB Endpoint2
                                       No Error
14                 0x001C              USB Endpoint2 Error
15                 0x001E              USB Endpoint3
No Error
16                 0x0020              USB Endpoint3 Error
17                 0x0022              Mailbox TX Empty
(16-Bit Mode Only) 2
18                 0x0024               Mailbox RX Full
(16-Bit Mode Only) 2
19-63              0x0026- 0x003E       Reserved 2


请诸位大哥帮小弟看一下看一下这个IRAM0,IRAM1这几个东东是干吗的,小弟在编固件编不出来就过不了年了谢了!
游客

返回顶部