亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? boot5402.asm

?? c5402啟動代碼
?? ASM
?? 第 1 頁 / 共 3 頁
字號:
*************************************************************************
***	
***     VC5402 Bootloader Software      :       Version  1.03
***                     Origin Date     :       9/30/98
***                     Author(s)       :       RDP
***	
*************************************************************************
***	
***     This code sets up and executes the VC5402 Bootloader.
***	
***	Revision History:
***	----------------
***     1.00    Modified the VC5410 bootloader for use    RDP   09/30/98
***             on the VC5402. Added new HPI boot mode,
***             and removed McBSP2 code. See notes on
***             HPI boot mode below.
***     1.01    Fixed bug in 8bit parallel mode, by       RDP   11/12/98
***             masking off the upper ACCUA bits of
***             the word containing the upper byte
***             of the section size.
***     1.02    Fixed the 8bit standard serial mode,      RDP   02/26/99
***             by changing the initialization of RCR11
***             and XCR11 from 040h to 0h.
***             Added a SPI EEPROM bootmode, which is
***             selected via the INT3 flag (See notes
***             on SPI boot mode below). Changed the
***             references to the McBSP control
***             registers to emphasize the sub-bank 
***             addressing scheme. Added more comments,
***             and cleaned-up spacing on older code.
***             Fixed a bug in 8-bit I/O mode, by loading
***             the top of B with zero. Added code to
***             toggle the BDX1 pin during init, to
***             provide a high-to-low transition that
***             can be used to drive INT3 for selection
***             of the SPI boot mode.
***     1.03    Modified Parallel 8-bit.                  PMJ2   12/06/99
***             Modified I/O 8-bit boot modes. 
***             In the parallel 8-bit mode, the AG and AH 
***             are forced to zero for correct evaluation.  
***             In the 8-bit I/O mode, the XPC 
***             destination addr is correclty saved.
***             The BG and BH are forced to zero
***             for correct evaluation. The SPI mode boot
***             branches to the parallel boot after failure
***             of the first condition (08) and second condition (AA).
***             Reset McBSP1 before DX pins toggles. (for debugging)
***
*************************************************************************
***     --------------- Notes on '5402 HPI Boot Mode ---------------
***     The new HPI boot mode allows the host to load the on-chip RAM
***     after the '5402 is reset. The boot-mode also allows the host
***     to specify an entry point at load-time. After completing the
***     bootload process, the host must make another HPI access to load
***     the entry point to location 07Fh of on-chip RAM. This is how it
***     works: after reset, the bootloader initializes address 07Fh to
***     zero, then polls this location for a change while the host is
***     loading the code. When the bootloader detects a change in the
***     contents of address 07Fh, it performs a branch using the contents
***     as the destination address.
***     This new mode doesn't require the INT2 flag for selection. If the
***     INT2 pin is not used to select HPI boot mode, the bootloader
***     periodically checks various boot sources, including HPI, until a
***     boot condition is detected. Alternatively, the INT2 flag can be
***     used to force the bootloader to ignore all boot sources other
***     than HPI. If the INT2 flag is to be used, a high to low transition
***     is required on the INT2 pin within 30 cycles after the '5402 is
***     reset.
*************************************************************************
***     --------------- Notes on '5402 SPI Boot Mode ---------------
***     The SPI boot mode allows the '5402 to boot from an 8-bit serial
***     EEPROM using the SPI protocol. The mode is selected at reset via
***     the INT3 external interrupt . Proper selection of the boot mode
***     requires a high to low transition on the INT3 pin within 30 CPU
***     cycles after the '5402 is reset. 
***
***     The EEPROM must be connected to McBSP1 as follows:
***            McBSP1    EEPROM
***            ******    ******
***            BCLKX     SCK
***            BFSX      /CS
***            BDX       SI
***            BDR       SO
***            XF        /HOLD  (Optional - disables EEPROM when done)
***
***     The boot table used for programming the EEPROM is generated
***     using the 8bit serial option of the Hex conversion utility. 
***      example:
***       -bootorg SERIAL
***       -memwidth 8
*************************************************************************


          .title "bootVC5402"
         .mmregs
         .version 548
         .def    boot
         .def    endboot
         .def    bootend
         .def    dest
         .def    src
         .def    lngth
         .def    hbyte
         .ref    SPI_INIT, SPI_READ, SPI_WRITE
         .ref    SPI_RDSR, SPI_WRSR

*************************************
pa0      .set   0H              ; port address 0h for i/o boot load

xentry   .set   61H             ; XPC of entry point
entry    .set   62H             ; entry point
hbyte    .set   63H             ; high byte of 8-bit serial word
p8word   .set   64H             ; concatenator for 8-bit memory load
src      .set   65H             ; source address
dest     .set   66H             ; destination address (dmov from above)
xdest    .set   67H             ; XPC of destination address.
lngth    .set   68H             ; code length
temp0    .set   69H             ; temporary register0
temp1    .set   6aH             ; temporary register1
temp2    .set   6bH             ; temporary register2
temp3    .set   6cH             ; temporary register3

HPIentry .set   7Fh             ; Entry point for HPI boot.

***********************************************
*    MMR definition for c54xlp peripherals    *
*-------------  MCBSP0  ----------------------*
drr10           .set    21H     ; Data Receive Register
dxr10           .set    23H     ; Data Transmit Register
SPSA0           .set  0038H     ; Serial Port 0 Sub-bank Address Register 
SPSD0           .set  0039H     ; Serial Port 0 Sub-bank Data Register 


*-------------  MCBSP1  ----------------------*
drr11           .set    41H     ; Data Receive Register         
dxr11           .set    43H     ; Data Transmit Register
SPSA1           .set  0048H     ; Serial Port 1 Sub-bank Address Register
SPSD1           .set  0049H     ; Serial Port 1 Sub-bank Data Register

*----------- MCBSP CONTROL REGS --------------*
SPCR1_SUBADDR   .set  0000H     ; Serial Port Control Register 1 (subaddress)
SPCR2_SUBADDR   .set  0001H     ; Serial Port 1 Control Register 2 (subaddress)
RCR1_SUBADDR    .set  0002H     ; Receive Control Register 1 (subaddress)
RCR2_SUBADDR    .set  0003H     ; Receive Control Register 2 (subaddress)
XCR1_SUBADDR    .set  0004H     ; Transmit Control Register 1 (subaddress)
XCR2_SUBADDR    .set  0005H     ; Transmit Control Register 2 (subaddress)
SRGR1_SUBADDR   .set  0006H     ; Sample Rate Genarator Register 1 (subaddress)
SRGR2_SUBADDR   .set  0007H     ; Sample Rate Genarator Register 2 (subaddress)
PCR_SUBADDR     .set  000EH     ; Pin Control Register (subaddress)

*-------------- Other contants ---------------*
int2msk         .set   0004H    ; INT2_ bit position on IFR
int3msk         .set   0100H    ; INT3_ bit position in IFR/IMR

**********************************************************
*	bootloader
**********************************************************
         .sect "boot"
boot
         
        ssbx    intm            ; disable all interrupts
        stm     #0FFFFh,@ifr    ; clear IFR flag
        ld      #0, dp
        orm     #02b00h, @st1   ; xf=1, hm=0, intm=1, ovm=1, sxm=1
        orm     #020h, @pmst    ; ovly=1
        stm     #07fffh, swwsr  ; 7 wait states for P_,D_, and I_ spaces
        stm     #0007dh, sp     ; Use top part of scratch-pad RAM for stack.

*****************************************************************
*    RDP, Modified old HPI boot check to support host loading
*    after reset. Initialize HPI boot entry point to 0. The host
*    will change the value of this location after loading RAM.
*****************************************************************
        stm     #0, @HPIentry   ; Set HPI entry to known value.
        stm     #08h, hpic      ; Set HINT pin low. Ok to start
                                ; host load.
*****************************************************************
*    Toggling the BDX pin on McBSP1. This pin can be used to
*    drive /INT3 and select the SPI boot mode, without requiring
*    an external signal.
*****************************************************************

        STM     SPCR2_SUBADDR,SPSA1
        STM     #0000h,SPSD1    ; DISABLES TRANSMIT. (reset) 1.03

        stm     #PCR_SUBADDR, SPSA1
        stm     #02020h, SPSD1  ; Set DX high.
        rpt     #5              ; Keep high a while.
        nop
        stm     #02000h, SPSD1  ; Set DX low.

        rpt     #5              ; wait several cycles
        nop                     ; before checking INT2
        bitf    @ifr, #int2msk  ; Check if INT2_ flag is set
        nop
        bc      HPI, tc         ; If int2 is set then HPI boot.

        bitf    @ifr, #int3msk  ; Else, check if INT3_ flag is set
        nop
        bc      SPIBOOT, tc     ; If int3 is set then SPI boot.

        b       parallel        ; Otherwise, check other boot modes.
*****************************************************************
*    HPI boot mode selected through int2.
*****************************************************************
HPI                             ; Else, this is an HPI boot, all
                                ; other boot modes are ignored.
        stm     #int2msk, ifr   ; Clear INT2_ bit in ifr.

        ldm     HPIentry, a     ; Get HPI entry vector.
        bc      hpiboot, aneq   ; If not zero, HPI boot.
        b       $-3             ; else, keep looping.






*****************************************************************
*    Check Parallel Boot
*****************************************************************
parallel
        stm     #0h, @xentry    ; initialize the entry point
        stm     #boot, @entry   ;
        portr   #0ffffh, @src   ; read source address of boot table
        mvdk    @src, ar1       ; ar1 points at source memory (Data)
        ld      *ar1+, a        ; load accumulator A with BRW
        sub     #10AAh, a, b    ; check 16-bit Boot?
        bc      par16, beq      ; a=010AAh
        and     #0ffh, a        ; check acc AL = 08
        sub     #8h, a, b       ; check 8-bit Boot?
        bc      chk_data, bneq  ; a=08xxh
        ld      *ar1+, a        ; 8-bit mode, LSB
        and     #0ffh, a        ; check acc AL = AAh
        sub     #0AAh, a        ; LSB = 0AAh?
        bc      par08, aeq      ; 8-bit Parallel Boot
chk_data stm     #0FFFFh, ar1    ; check data memory 0xFFFF
        nop                     ; prevent pipeline conflict
        nop                     ;
        ld      *ar1+, a        ; load accumulator A with BRW
        stlm    a, ar1          ; ar1 point at source memory (Data)
        nop                     ; prevent posibble pipeline conflic
        nop                     ;
        ld      *ar1+, a        ; load acculator A with BRW
        sub     #10AAh, a, b    ; check 16-bit Boot?
        bc      par16, beq      ; a=010AAh
        stm     #0FFFFh, ar1    ; check data memory 0xFFFF & 0xFFFE
        nop                     ; prevent possible pipeline conflic
        nop                     ;
        ldu   *ar1-, a          ; acc A <-- source address
        and   #0FFh, a          ; 0 the high byte
        add   *ar1, 8, a        ;
        stlm    a, ar1          ;
        nop                     ; prvent possible pipeline conflic
        nop                     ;
        ld      *ar1+, a        ; load accumulator A with BRW
        and   #0ffh, a          ; check acc AL = 08h
        sub     #8h, a, b       ; check 8-bit Boot?
        bc      ser_ini, bneq   ; acc A = 08xxh
        ld      *ar1+, a        ; 8-bit mode, LSB
        and     #0ffh, a        ; check acc AL = AAh
        sub     #0AAh, a        ; LSB = 0AAh?
        bc      par08, aeq      ; 8-bit Parallel Boot

ser_ini
 
********************************************************************************
*
*                    Initialization for 5402 BSPs                                         
*
********************************************************************************
*
* 1. BSP0 is configured for 16-bit, BCLKX input, BFSX input.                    
*
********************************************************************************
*
        STM     SPCR1_SUBADDR,SPSA0
        STM     #0000h,SPSD0            ; DISABLES RECEIVE.
	
        STM     SPCR2_SUBADDR,SPSA0

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
免费欧美高清视频| 亚洲国产一区二区在线播放| 极品少妇xxxx偷拍精品少妇| 久久先锋资源网| 丰满白嫩尤物一区二区| 日本一区二区三区久久久久久久久不| 午夜电影网一区| 欧美国产一区二区在线观看| 欧洲亚洲精品在线| 天天av天天翘天天综合网 | 91亚洲精品久久久蜜桃| 亚洲一二三四区不卡| 精品国产亚洲在线| 色婷婷久久久亚洲一区二区三区| 日韩1区2区日韩1区2区| 国产日韩精品一区| 欧美大片一区二区三区| 欧美在线啊v一区| www.av精品| 91在线免费看| 99精品在线观看视频| 成人免费看视频| 国产69精品久久99不卡| 久久99精品久久久久久| 日本亚洲欧美天堂免费| 午夜激情一区二区| 日韩高清在线电影| 麻豆视频一区二区| 国产资源在线一区| 激情久久五月天| 国产成人福利片| 91在线视频网址| 欧美色图免费看| 欧美tk—视频vk| 国产精品美女久久久久av爽李琼| 久久精品人人爽人人爽| 国产精品情趣视频| 亚洲一区二区精品久久av| 国产又粗又猛又爽又黄91精品| 韩国理伦片一区二区三区在线播放| 久久成人免费电影| 91在线国产观看| 日韩午夜在线观看| 亚洲欧洲99久久| 日本美女视频一区二区| 成人国产精品免费观看动漫| 欧美日韩国产美| 亚洲欧美综合另类在线卡通| 婷婷开心激情综合| 国产99精品国产| 欧美疯狂做受xxxx富婆| 中文字幕第一区第二区| 91成人在线免费观看| 欧美精品一区视频| 日日摸夜夜添夜夜添亚洲女人| 国产一区二区三区四区五区入口 | 中文字幕av一区二区三区高| 中文天堂在线一区| 国产乱国产乱300精品| 91精品国产色综合久久不卡电影| 国产精品久久久久一区| 精品一区二区三区香蕉蜜桃| 777久久久精品| 天天综合日日夜夜精品| 欧美在线观看视频在线| 亚洲欧洲综合另类在线| 波多野结衣中文一区| 国产人伦精品一区二区| 国产一区不卡在线| 国产性色一区二区| 成人午夜在线播放| 亚洲少妇30p| 欧美日韩免费在线视频| 亚洲国产欧美一区二区三区丁香婷| 99国产精品国产精品毛片| 综合久久一区二区三区| 99久久综合99久久综合网站| 亚洲乱码国产乱码精品精98午夜| 91在线观看下载| 日韩一区欧美二区| 中文在线免费一区三区高中清不卡| a亚洲天堂av| 日韩精品成人一区二区三区| 久久在线免费观看| 欧美日韩一区二区在线视频| 精品一区二区三区视频| 国产精品久久久久久久裸模| 欧美日韩国产大片| 国产精品1024久久| 亚洲va天堂va国产va久| 久久久久国产精品麻豆| 欧美日韩精品一区二区三区| 国产黄色成人av| 日韩精品福利网| 国产精品久久毛片a| 欧美一区二区三区人| 91同城在线观看| 高清在线观看日韩| 国产成人免费网站| 日本 国产 欧美色综合| 亚洲五码中文字幕| 亚洲永久精品国产| 亚洲激情网站免费观看| 中文字幕乱码日本亚洲一区二区| 日韩欧美中文字幕一区| 欧美日韩国产影片| 91免费观看视频| 久久91精品久久久久久秒播| 亚洲一级不卡视频| 一区二区三区日韩欧美精品| 日本一区二区三区国色天香 | 久久99久久99小草精品免视看| 国产精品天干天干在线综合| 欧美一级国产精品| 在线播放欧美女士性生活| 成人黄动漫网站免费app| 成人综合婷婷国产精品久久蜜臀| 蜜桃视频第一区免费观看| 一区二区三区av电影 | 国产精品中文字幕日韩精品 | 蜜臀99久久精品久久久久久软件| 午夜欧美大尺度福利影院在线看| 日本一区二区三区电影| 精品剧情在线观看| 久久久久国产精品免费免费搜索| 51精品国自产在线| 欧美一级高清片在线观看| 日韩精品综合一本久道在线视频| 欧美成人三级电影在线| 精品国产乱码久久久久久久久| 中文字幕在线观看不卡视频| 国产午夜精品一区二区三区视频| 久久无码av三级| 亚洲人123区| 亚洲成人www| 日本最新不卡在线| 高清成人免费视频| 在线电影院国产精品| 欧美精品一区二区三| 国产精品久久久久久亚洲伦| 亚洲一区成人在线| 国产高清在线精品| 欧美日本高清视频在线观看| 国产午夜精品在线观看| 亚洲综合免费观看高清在线观看| 日本一不卡视频| 欧美日韩五月天| 久久久久国产一区二区三区四区| 亚洲一区自拍偷拍| 99精品欧美一区二区蜜桃免费| 欧美裸体一区二区三区| 中文字幕精品一区二区三区精品| 日本不卡在线视频| 欧美午夜在线一二页| 国产精品国产三级国产aⅴ原创| 亚洲午夜久久久久中文字幕久| 国产精品一区在线| 欧美一卡二卡在线观看| 国产精品亲子乱子伦xxxx裸| 捆绑调教一区二区三区| 欧美精品tushy高清| 久久99久久99小草精品免视看| 欧美日韩精品一区视频| 精品久久久久久久久久久院品网 | 国产呦精品一区二区三区网站| 99九九99九九九视频精品| 国产欧美一区二区精品忘忧草| 韩日av一区二区| 久久精品一区蜜桃臀影院| 成人综合在线观看| 亚洲一区二区av在线| 91精品国产色综合久久 | 亚洲一二三四在线| 欧美精品一区二区久久婷婷| 不卡的电影网站| 亚洲三级久久久| 亚洲国产成人午夜在线一区| 国产精品系列在线播放| 亚洲欧美精品午睡沙发| 日韩一区二区三区视频| 国产成人亚洲综合色影视| 1区2区3区欧美| 欧美一二三区在线| 99精品1区2区| 国产高清不卡二三区| 亚洲高清视频的网址| 久久久精品综合| 91精品国产色综合久久久蜜香臀| av午夜一区麻豆| 国内成人免费视频| 免费高清在线视频一区·| 综合色天天鬼久久鬼色| 欧美大片免费久久精品三p| 欧美日韩视频不卡| 色丁香久综合在线久综合在线观看| 日本欧美在线看| 亚洲精品免费在线观看| 中文字幕亚洲欧美在线不卡| 久久免费午夜影院| 欧美不卡一区二区|