|
************************** c54init.asm ******************** .mmregs .include c54.inc .def c54init .ref bsp_out_buf,bsp_in_buf .text
c54init:
*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 #0xFFFF,IFR STM #0x0488,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 #bsp_out_buf,DMSDI STM #DXR11,DMSDI STM #8,DMSDI STM #0x60ff,DMSDI ;0110 0000 1111 1111 STM #0x5141,DMSDI ;0101 0001 0100 0001 *channel2: STM #DRR11,DMSDI STM #bsp_in_buf,DMSDI STM #8,DMSDI STM #0x50ff,DMSDI ;0101 0000 1111 1111 STM #0x5045,DMSDI ;0101 0000 0100 0101 STM #0xc686,DMPREC ;1100 0110 1000 0110 RSBX INTM NOP NOP RET .end
|