⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 start_v2.a66

📁 英飞凌C166之XC164CS的IO读写操作程序
💻 A66
📖 第 1 页 / 共 5 页
字号:
                             ;    8*KB            (gives RGSZ1 = 1)
                             ;   16*KB            (gives RGSZ1 = 2)
                             ;   32*KB            (gives RGSZ1 = 3)
                             ;   64*KB            (gives RGSZ1 = 4)
                             ;  128*KB            (gives RGSZ1 = 5)
                             ;  256*KB            (gives RGSZ1 = 6)
                             ;  512*KB            (gives RGSZ1 = 7)
                             ; 1024*KB  or  1*MB  (gives RGSZ1 = 8)
                             ; 2048*KB  or  2*MB  (gives RGSZ1 = 9)
                             ; 4096*KB  or  4*MB  (gives RGSZ1 = 10)
                             ; 8192*KB  or  8*MB  (gives RGSZ1 = 11)
                             ;                    (RGSZ1 = 12 .. 15 reserved)
;</h>
;
; <h>Definitions for Function Configuration Register FCONCS1
; =======================================================
;
; <q> ENCS1: Enable Chip Select (FCONCS1.0)
_ENCS1 EQU 0 ; 0 = Chip Select 0 disabled /Dave/     
                        ; 1 = Chip Select 0 enabled
;
; <q> RDYEN1: Ready Enable (FCONCS1.1)
_RDYEN1 EQU 0 ; 0 = Access time controlled by TCONCS1.PHE1 /Dave/     
                        ; 1 = Access time cont. by TCONCS1.PHE1 and READY signal
;
; <o> RDYMOD1: Ready Mode (FCONCS1.2)
; <0=> Asynchronous  <1=> Synchronous
_RDYMOD1 EQU 0 ; 0 = Asynchronous READY /Dave/     
                        ; 1 = Synchronous READY
;
; <o> BTYP1: Bus Type Selection (FCONCS1.4 .. FCONCS1.5)
; <0=> 8-bit Demultiplexed Bus  <1=> 8-bit Multiplexed Bus
; <2=> 16-bit Demultiplexed Bus <3=> 16-bit Multiplexed Bus
_BTYP1 EQU 0 ; 0 = 8 bit Demultiplexed bus /Dave/     
                        ; 1 = 8 bit Multiplexed bus
                        ; 2 = 16 bit Demultiplexed bus
                        ; 3 = 16 bit Multiplexed bus
;</h>
;
; <h>TCONCS1: Definitions for the Timing Configuration register 
; ==========================================================
;
; <o>PHA1: Phase A clock cycles (TCONCS1.0 .. TCONCS1.1) <0-3>
_PHA1 EQU 0 ; 0 = 0 clock cycles /Dave/     
                        ; : = : 
                        ; 3 = 3 clock cycles
;
; <o>PHB1: Phase B clock cycles (TCONCS1.2) <1-2> <#-1>
_PHB1 EQU 0 ; 0 = 1 clock cycle /Dave/     
                        ; 1 = 2 clock cycles
;
; <o>PHC1: Phase C clock cycles (TCONCS1.3 .. TCONCS1.4) <0-3>
_PHC1 EQU 0 ; 0 = 0 clock cycles /Dave/     
                        ; : = :
                        ; 3 = 3 clock cycles
;
; <o>PHD1: Phase D clock cycles (TCONCS1.5) <0-1>
_PHD1 EQU 0 ; 0 = 0 clock cycles /Dave/     
                        ; 1 = 1 clock cycle
;
; <o> PHE1: Phase E clock cycles (TCONCS1.6 .. TCONCS1.10) <1-32> <#-1>
_PHE1 EQU 0 ; 0 = 1 clock cycle /Dave/     
                        ; : = :
                        ; 31 = 32 clock cycles
;
; <o>RDPHF1: Phase F read clock cycles (TCONCS1.11 .. TCONCS1.12) <0-3>
_RDPHF1 EQU 0 ; 0 = 0 clock cycles /Dave/     
                        ; : = :
                        ; 3 = 3 clock cycles
;
; <o>WRPHF1: Phase F write clock cycles (TCONCS1.13 .. TCONCS1.14) <0-3>
_WRPHF1 EQU 0 ; 0 = 0 clock cycles /Dave/     
                        ; : = :
                        ; 3 = 3 clock cycles
;</h> </e>
;
;<e>Configure External Bus Behaviour for CS2 Area
;   =============================================
;
; --- Set CONFIG_CS2 = 1 to initialize the ADDRSEL2/FCONCS2/TCONCS2 registers
$SET (CONFIG_CS2 = 0) ; /Dave/     
;
; <h>Definitions for Address Select register ADDRSEL2
; ===================================================
; <o> CS2 Start Address   <0x0-0xFFFFFF:0x1000>
_ADDR2 EQU 0x0 ; Set CS2# Start Address (default 100000H) /Dave/     

; <o> CS2 Size in KB      
; <4=>    4KB      <8=>    8KB      <16=>   16KB     <32=>   32KB
; <64=>   64KB     <128=>  128KB    <256=>  256KB    <512=>  512KB
; <1024=> 1024KB   <2048=> 2048KB   <4096=> 4096KB   <8192=> 8192KB
_SIZE2 EQU 4*KB ; Set CS2# Size (default 1024*KB = 1*MB) /Dave/     
                             ; possible values for _SIZE2 are:
                             ;    4*KB            (gives RGSZ2 = 0)
                             ;    8*KB            (gives RGSZ2 = 1)
                             ;   16*KB            (gives RGSZ2 = 2)
                             ;   32*KB            (gives RGSZ2 = 3)
                             ;   64*KB            (gives RGSZ2 = 4)
                             ;  128*KB            (gives RGSZ2 = 5)
                             ;  256*KB            (gives RGSZ2 = 6)
                             ;  512*KB            (gives RGSZ2 = 7)
                             ; 1024*KB  or  1*MB  (gives RGSZ2 = 8)
                             ; 2048*KB  or  2*MB  (gives RGSZ2 = 9)
                             ; 4096*KB  or  4*MB  (gives RGSZ2 = 10)
                             ; 8192*KB  or  8*MB  (gives RGSZ2 = 11)
                             ;                    (RGSZ2 = 12 .. 15 reserved)
;</h>
;
; <h>Definitions for Function Configuration Register FCONCS2
; =======================================================
;
; <q> ENCS2: Enable Chip Select (FCONCS2.0)
_ENCS2 EQU 0 ; 0 = Chip Select 0 disabled /Dave/     
                        ; 1 = Chip Select 0 enabled
;
; <q> RDYEN2: Ready Enable (FCONCS2.1)
_RDYEN2 EQU 0 ; 0 = Access time controlled by TCONCS2.PHE1 /Dave/     
                        ; 1 = Access time cont. by TCONCS2.PHE1 and READY signal
;
; <o> RDYMOD2: Ready Mode (FCONCS2.2)
; <0=> Asynchronous  <1=> Synchronous
_RDYMOD2 EQU 0 ; 0 = Asynchronous READY /Dave/     
                        ; 1 = Synchronous READY
;
; <o> BTYP2: Bus Type Selection (FCONCS2.4 .. FCONCS2.5)
; <0=> 8-bit Demultiplexed Bus  <1=> 8-bit Multiplexed Bus
; <2=> 16-bit Demultiplexed Bus <3=> 16-bit Multiplexed Bus
_BTYP2 EQU 0 ; 0 = 8 bit Demultiplexed bus /Dave/     
                        ; 1 = 8 bit Multiplexed bus
                        ; 2 = 16 bit Demultiplexed bus
                        ; 3 = 16 bit Multiplexed bus
;</h>
;
; <h>TCONCS2: Definitions for the Timing Configuration register 
; ==========================================================
;
; <o>PHA2: Phase A clock cycle (TCONCS2.0 .. TCONCS2.1) <0-3>
_PHA2 EQU 0 ; 0 = 0 clock cycles /Dave/     
                        ; : = : 
                        ; 3 = 3 clock cycles
;
; <o>PHB2: Phase B clock cycle (TCONCS2.2) <1-2> <#-1>
_PHB2 EQU 0 ; 0 = 1 clock cycle /Dave/     
                        ; 1 = 2 clock cycles
;
; <o>PHC2: Phase C clock cycle (TCONCS2.3 .. TCONCS2.4) <0-3>
_PHC2 EQU 0 ; 0 = 0 clock cycles /Dave/     
                        ; : = :
                        ; 3 = 3 clock cycles
;
; <o>PHD2: Phase D clock cycle (TCONCS2.5) <0-1>
_PHD2 EQU 0 ; 0 = 0 clock cycles /Dave/     
                        ; 1 = 1 clock cycle
;
; <o> PHE2: Phase E clock cycle (TCONCS2.6 .. TCONCS2.10) <1-32> <#-1>
_PHE2 EQU 0 ; 0 = 1 clock cycle /Dave/     
                        ; : = :
                        ; 31 = 32 clock cycles
;
; <o>RDPHF2: Phase F read clock cycle (TCONCS2.11 .. TCONCS2.12) <0-3>
_RDPHF2 EQU 0 ; 0 = 0 clock cycles /Dave/     
                        ; : = :
                        ; 3 = 3 clock cycles
;
; <o>WRPHF2: Phase F write clock cycle (TCONCS2.13 .. TCONCS2.14) <0-3>
_WRPHF2 EQU 0 ; 0 = 0 clock cycles /Dave/     
                        ; : = :
                        ; 3 = 3 clock cycles
;</h> </e>
;
;<e>Configure External Bus Behaviour for CS3 Area
;   =============================================
;
; --- Set CONFIG_CS3 = 1 to initialize the ADDRSEL3/FCONCS3/TCONCS3 registers
$SET (CONFIG_CS3 = 0) ; /Dave/     
;
; <h>Definitions for Address Select register ADDRSEL3
; ===================================================
; <o> CS3 Start Address   <0x0-0xFFFFFF:0x1000>
_ADDR3 EQU 0x0 ; Set CS3# Start Address (default 100000H) /Dave/     

; <o> CS2 Size in KB      
; <4=>    4KB      <8=>    8KB      <16=>   16KB     <32=>   32KB
; <64=>   64KB     <128=>  128KB    <256=>  256KB    <512=>  512KB
; <1024=> 1024KB   <2048=> 2048KB   <4096=> 4096KB   <8192=> 8192KB
_SIZE3 EQU 4*KB ; Set CS3# Size (default 1024*KB = 1*MB) /Dave/     
                             ; possible values for _SIZE3 are:
                             ;    4*KB            (gives RGSZ3 = 0)
                             ;    8*KB            (gives RGSZ3 = 1)
                             ;   16*KB            (gives RGSZ3 = 2)
                             ;   32*KB            (gives RGSZ3 = 3)
                             ;   64*KB            (gives RGSZ3 = 4)
                             ;  128*KB            (gives RGSZ3 = 5)
                             ;  256*KB            (gives RGSZ3 = 6)
                             ;  512*KB            (gives RGSZ3 = 7)
                             ; 1024*KB  or  1*MB  (gives RGSZ3 = 8)
                             ; 2048*KB  or  2*MB  (gives RGSZ3 = 9)
                             ; 4096*KB  or  4*MB  (gives RGSZ3 = 10)
                             ; 8192*KB  or  8*MB  (gives RGSZ3 = 11)
                             ;                    (RGSZ3 = 12 .. 15 reserved)
;</h>
;
; <h>Definitions for Function Configuration Register FCONCS3
; =======================================================
;
; <q> ENCS3: Enable Chip Select (FCONCS3.0)
_ENCS3 EQU 0 ; 0 = Chip Select 0 disabled /Dave/     
                        ; 1 = Chip Select 0 enabled
;
; <q> RDYEN3: Ready Enable (FCONCS3.1)
_RDYEN3 EQU 0 ; 0 = Access time controlled by TCONCS3.PHE1 /Dave/     
                        ; 1 = Access time cont. by TCONCS3.PHE1 and READY signal
;
; <o> RDYMOD3: Ready Mode (FCONCS3.2)
; <0=> Asynchronous  <1=> Synchronous
_RDYMOD3 EQU 0 ; 0 = Asynchronous READY /Dave/     
                        ; 1 = Synchronous READY
;
; <o> BTYP3  Bus Type Selection (FCONCS3.4 .. FCONCS3.5)
; <0=> 8-bit Demultiplexed Bus  <1=> 8-bit Multiplexed Bus
; <2=> 16-bit Demultiplexed Bus <3=> 16-bit Multiplexed Bus
_BTYP3 EQU 0 ; 0 = 8 bit Demultiplexed bus /Dave/     
                        ; 1 = 8 bit Multiplexed bus
                        ; 2 = 16 bit Demultiplexed bus
                        ; 3 = 16 bit Multiplexed bus
;</h>
;
; <h>TCONCS2: Definitions for the Timing Configuration register 
; ==========================================================
;
; <o>PHA3: Phase A clock cycle (TCONCS3.0 .. TCONCS3.1) <0-3>
_PHA3 EQU 0 ; 0 = 0 clock cycles /Dave/     
                        ; : = : 
                        ; 3 = 3 clock cycles
;
; <o>PHB3: Phase B clock cycle (TCONCS2.2) <1-2> <#-1>
_PHB3 EQU 0 ; 0 = 1 clock cycle /Dave/     
                        ; 1 = 2 clock cycles
;
; <o>PHC3: Phase C clock cycle (TCONCS3.3 .. TCONCS3.4) <0-3>
_PHC3 EQU 0 ; 0 = 0 clock cycles /Dave/     
                        ; : = :
                        ; 3 = 3 clock cycles
;
; <o>PHD3: Phase D clock cycle (TCONCS3.5) <0-1>
_PHD3 EQU 0 ; 0 = 0 clock cycles /Dave/     
                        ; 1 = 1 clock cycle
;
; <o> PHE3: Phase E clock cycle (TCONCS3.6 .. TCONCS3.10) <1-32> <#-1>
_PHE3 EQU 0 ; 0 = 1 clock cycle /Dave/     
                        ; : = :
                        ; 31 = 32 clock cycles
;
; <o>RDPHF3: Phase F read clock cycle (TCONCS3.11 .. TCONCS3.12) <0-3>
_RDPHF3 EQU 0 ; 0 = 0 clock cycles /Dave/     
                        ; : = :
                        ; 3 = 3 clock cycles
;
; <o>WRPHF3: Phase F write clock cycle (TCONCS3.13 .. TCONCS3.14) <0-3>
_WRPHF3 EQU 0 ; 0 = 0 clock cycles /Dave/     
                        ; : = :
                        ; 3 = 3 clock cycles
;</h> </e>
;
;<e>Configure External Bus Behaviour for CS4 Area
;   =============================================
;
; --- Set CONFIG_CS4 = 1 to initialize the ADDRSEL4/FCONCS4/TCONCS4 registers
$SET (CONFIG_CS4 = 0) ; /Dave/     
;
; <h>Definitions for Address Select register ADDRSEL4
; ===================================================
; <o> CS4 Start Address   <0x0-0xFFFFFF:0x1000>
_ADDR4 EQU 0x0 ; Set CS4# Start Address (default 100000H) /Dave/     

; <o> CS4 Size in KB      
; <4=>    4KB      <8=>    8KB      <16=>   16KB     <32=>   32KB
; <64=>   64KB     <128=>  128KB    <256=>  256KB    <512=>  512KB
; <1024=> 1024KB   <2048=> 2048KB   <4096=> 4096KB   <8192=> 8192KB
_SIZE4 EQU 4*KB ; Set CS4# Size (default 1024*KB = 1*MB) /Dave/     
                             ; possible values for _SIZE4 are:
                             ;    4*KB            (gives RGSZ4 = 0)
                             ;    8*KB            (gives RGSZ4 = 1)
                             ;   16*KB            (gives RGSZ4 = 2)
                             ;   32*KB            (gives RGSZ4 = 3)
                             ;   64*KB            (gives RGSZ4 = 4)
                             ;  128*KB            (gives RGSZ4 = 5)
                             ;  256*KB            (gives RGSZ4 = 6)
                             ;  512*KB            (gives RGSZ4 = 7)
                             ; 1024*KB  or  1*MB  (gives RGSZ4 = 8)
                             ; 2048*KB  or  2*MB  (gives RGSZ4 = 9)
                             ; 4096*KB  or  4*MB  (gives RGSZ4 = 10)
                             ; 8192*KB  or  8*MB  (gives RGSZ4 = 11)
                             ;                    (RGSZ4 = 12 .. 15 reserved)
;</h>
;
; <h>Definitions for Function Configuration Register FCONCS4
; =======================================================
;
; <q> ENCS4: Enable Chip Select (FCONCS4.0)
_ENCS4 EQU 0 ; 0 = Chip Select 0 disabled /Dave/     
                        ; 1 = Chip Select 0 enabled
;
; <q> RDYEN4: Ready Enable (FCONCS4.1)
_RDYEN4 EQU 0 ; 0 = Access time controlled by TCONCS4.PHE1 /Dave/     

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -