|
.mmregs .global _main .sect ".vectors" .ref bsp_in_buf,bsp_out_buf .include c54.inc .include user.inc .align 0x80 ; must be aligned on page boundary
RESET: ; reset vector BD _main ; branch to main progrom NOP nmi: nop ; enable interrupts and return from one rete NOP NOP ;NMI~
; software interrupts sint17 .space 4*16 sint18 .space 4*16 sint19 .space 4*16 sint20 .space 4*16 sint21 .space 4*16 sint22 .space 4*16 sint23 .space 4*16 sint24 .space 4*16 sint25 .space 4*16 sint26 .space 4*16 sint27 .space 4*16 sint28 .space 4*16 sint29 .space 4*16 sint30 .space 4*16
int0: RETE NOP NOP NOP int1: RETE NOP NOP NOP int2: RETE NOP NOP NOP
tint: RETE NOP nop nop rint0: RETE NOP NOP NOP xint0: RETE NOP NOP NOP DMAC0: RETE NOP NOP NOP
DMAC1: RETE NOP NOP NOP int3: RETE NOP NOP NOP HPINT: RETE NOP NOP NOP
DMAC2: NOP CALL isp2 RETE xint1: RETE NOP NOP NOP DMAC4: RETE NOP NOP NOP
DMAC5: RETE NOP NOP NOP .text
************************** c54init.asm ********************
_main: STM #0200H,SP nop stm #00f0h,ar3 portw ar3,00h stm #04000h,ar3 st #00h,*ar3
*SWWSR :SoftWare Wait-State Register Address 0028h * ------------------------------------------------------------------------- * | 15 | 14 12 | 11 9 | 8 6 | 5 3 | 2 0 | * ------------------------------------------------------------------------- * | XPA | I/O | Data | Data | Program | Program | * ------------------------------------------------------------------------- * 0 111 001 000 001 000 STM #0x7208,SWWSR * * *SWCR :SoftWare Wait-State Conctrol Register Address 002Bh * ------------------------------------------------------------------------- * | | 0 | * ------------------------------------------------------------------------- * | | SWSM | * ------------------------------------------------------------------------- STM #0,SWCR * * *BSCR :Programabel bank-switching wait states Address 0029h * ------------------------------------------------------------------------- * | 15 12 | 11 | 10 3 | 2 | 1 | 0 | * ------------------------------------------------------------------------- * | BNKCMP | PS-DS | Reserved | HBH | BH | EXIO | * ------------------------------------------------------------------------- STM #0xF800,BSCR * * *ST0 * ------------------------------------------------------------------------ * | 15 13 | 12 | 11 | 10 | 9 | 8 0 | * ------------------------------------------------------------------------ * | ARP | TC | C | OVA | OVB | DP | * ------------------------------------------------------------------------ STM #0,ST0 * * *ST1 * ------------------------------------------------------------------------ * | 15 | 14 | 13 | 12 | 11 |10 | 9 | 8 | 7 | 6 | 5 |4 0 | * ------------------------------------------------------------------------ * |BRAF| CPL | XF | HM | INTM | 0 | OVM | SXM | C16 | FRCT | CMPT | ASM | * ------------------------------------------------------------------------ STM #0x2b00,ST1 ;INTM=1 off interrupt * * *PMST * ------------------------------------------------------------------------ * | 15 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | * ------------------------------------------------------------------------ * | IPTR | MP/MC | OVLY | AVIS | DROM | CLKOFF | SMUL|SST | * ------------------------------------------------------------------------ * |0020 1111 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | * ------------------------------------------------------------------------ STM #0xbfe4,PMST ;Interrupt vector map Bf80 * * *IFR or IMR * -------------------------------------------------------------------------------------------- * |15 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | * --------------------------------------------------------------------------------------------- * |RES |DMAC5|DMAC4|BXINT1|BRINT1|HPINT|INT3|TINT1|DMAC0|BXINT0|BRINT0|TINT0|INT2|INT1|INT0| * | | | |DMAC3 |DMAC2 | | |DMAC1| | | | | | | | * -------------------------------------------------------------------------------------------- STM #0FFFFh,IFR STM #0x0400,IMR ;Timer0 enabel interrupt * ;DMAC1 enabel interrupt * ;DMAC2 enabel interrupt *CLKMD * ------------------------------------------------------------------------ * | 15 12 | 11 | 10 3 | 2 | 1 | 0 | * ------------------------------------------------------------------------ * | PLLMUL | PLLDIV | PLLCOUNT | PLLON/OFF | PLLNDIV | PLLSTATUS | * ------------------------------------------------------------------------ STM #0,CLKMD ;clkcon: LDM CLKMD,A ; AND #0x01,A ; BC clkcon,ANEQ ; STM #0x43ff,CLKMD ;PLL MUL=(4+1) *20=100MHz * * *TCR * ------------------------------------------------------------------------ * | 15 12 | 11 | 10 | 9 6 | 5 | 4 | 3 0 | * ------------------------------------------------------------------------ * | Revd | soft | free | PSC | TRB | TSS | TDDR | * ------------------------------------------------------------------------ STM #0x0010,TCR1 ;timer1 stop STM #0x0010,TCR ;TSS=1 Timer stop STM #12800,PRD STM #0x0020,TCR * * * ******************************* McBSP1 ******************************** * STM #PCR1,SPSA1 STM #0x0f70,SPSD1 ;0000 1111 0111 0000 STM #RCR11,SPSA1 STM #0x0000,SPSD1 ;0000 0000 0000 0000 STM #RCR21,SPSA1 STM #0x0018,SPSD1 ;0000 0000 0001 1000: 0018 * 0 0 STM #XCR11,SPSA1 STM #0x0000,SPSD1 ;0000 0000 0000 0000 STM #XCR21,SPSA1 STM #0x0018,SPSD1 ;0000 0000 0001 1000:0018 STM #SRGR11,SPSA1 STM #0x0731,SPSD1 ;0000 0111 0011 0001(100MHz:100/2.048=50=0X32) *
STM #SRGR21,SPSA1 STM #0x30ff,SPSD1 ;0011 0000 1111 1111 STM #SPCR11,SPSA1 STM #0x2001,SPSD1 ;0010 0000 0000 0001
STM #SPCR21,SPSA1 STM #0x02c3,SPSD1 ;0000 0010 1100 0011
STM #0xaa55,DXR11 ******************************* DMA ******************************** *channel1: STM #DMSRC1,DMSA ;Source address register STM #110h,DMSDI STM #DXR11,DMSDI STM #16,DMSDI STM #0x60ff,DMSDI ;0110 0000 1111 1111 STM #0x5141,DMSDI ;0101 0001 0100 0001 *channel2: STM #DRR11,DMSDI STM #100h,DMSDI STM #16,DMSDI STM #0x50ff,DMSDI ;0101 0000 1111 1111 STM #0x5045,DMSDI ;0101 0000 0100 0101 STM #0xc686,DMPREC ;1100 0110 1000 0110 RSBX INTM
stm #4000h,ar3 loop6: nop b loop6 *****************int service routine********************** isp2: pshm st0 pshm st1 pshm ag pshm ah pshm al pshm t stm #0fh,ar1 stm #100h,ar2 stm #110h,ar4 loop3: ld *ar2+,t st t,*ar3+ st t,*ar4+ ;ld #7fffh,al banz loop3,*ar1-
popm t popm al popm ah popm ag popm st1 popm st0 ret isp1: stm #01h,ar3 portw ar3,00h nop
.end
|