; 98 void init_ext_bus(void) .glb _init_ext_bus 00000000 _init_ext_bus: ; function: init_ext_bus .STACK _init_ext_bus=4 00000000 L10: .LINE "C:rx210_tft.c",100 ; 99 { ; 100 SYSTEM.SYSCR0.WORD = 0x5a03; // Bus freigeben 8-Bit Datenbus an Port D reicht 00000000 FB3E000008 MOV.L #00080000H,R3 .LINE "C:rx210_tft.c",101 ; 101 MPC.PFBCR0.BYTE = 0x51 ; // BC1, D8-D17 und A0 - A7 freigeben 00000005 FB5E00C108 MOV.L #0008C100H,R5 0000000A F93903035A MOV.W #5A03H,06H[R3] 0000000F 3C5651 MOV.B #51H,06H[R5] .LINE "C:rx210_tft.c",102 ; 102 MPC.PFAOE0.BYTE= 0xff; // A8 - A15 an Port B freigeben 00000012 3C54FF MOV.B #0FFH,04H[R5] .LINE "C:rx210_tft.c",103 ; 103 MPC.PFAOE1.BYTE= 0x0f; // A16 - A19 an Port C freigeben 00000015 3C550F MOV.B #0FH,05H[R5] 00000018 FA35091C01 MOV.W #0001H,3812H[R3] .LINE "C:rx210_tft.c",106 ; 104 ; 105 BSC.CS1CR.WORD = 0x0001; // CS1-Bus mit 16-Bit freigeben ; 106 BSC.CS1MOD.WORD = 0x0001; // single wr-strobe-mode 0000001D FA35091801 MOV.W #0001H,3012H[R3] .LINE "C:rx210_tft.c",112 ; 112 BSC.CS1WCR2.LONG = 0x10010010; // CS1-Bus Wartezyklen 0000002A FA32060C10000110 MOV.L #10010010H,3018H[R3] .LINE "C:rx210_tft.c",114 ; 113 ; 114 BSC.CS2CR.WORD = 0x0001; // CS2-Bus mit 16-Bit freigeben 00000032 FA35111C01 MOV.W #0001H,3822H[R3] .LINE "C:rx210_tft.c",115 ; 115 BSC.CS2WCR1.LONG = 0x00000; // CS2-Bus keine Wartezyklen 00000037 FA36090C00 MOV.L #00000000H,3024H[R3] .LINE "C:rx210_tft.c",116 ; 116 BSC.CS2WCR2.LONG = 0x00000; // CS2-Bus keine Wartezyklen 0000003C FA360A0C00 MOV.L #00000000H,3028H[R3] .LINE "C:rx210_tft.c",118 ; 117 ; 118 MPC.PFCSE.BIT.CS5E = 1; // CS1# freigeben 0x7000000 00000041 F055 BSET #05H,[R5] .LINE "C:rx210_tft.c",119 ; 119 MPC.PFCSE.BIT.CS6E = 1; // CS2# freigeben 0x6000000 00000043 F056 BSET #06H,[R5] .LINE "C:rx210_tft.c",124 ; 124 SYSTEM.SCKCR.BIT.BCK = 0x1; // BCLK auf 25MHz begrenzen 00000045 AA35 MOV.L 20H[R3],R5 00000047 7725FFFFF0 AND #0FFF0FFFFH,R5 0000004C 7905 BSET #10H,R5 0000004E A235 MOV.L R5,20H[R3] 00000050 02 RTS