| поискавой системы для электроныых деталей |
|
CS89712 датащи(PDF) 167 Page - Cirrus Logic |
|
|
|||||||||||||||||||||||||||||
CS89712 датащи(HTML) 167 Page - Cirrus Logic |
|
167 / 170 page ![]() CS89712 DS502PP2 167 Appendix B: Boot Code 00000000 uart_boot_base 00000000 E3A0C102 MOV r12, #HwRegisterBase ; R12 = 0x80000000 00000004 00000004 E3A08201 MOV r8, #InternalRamBase ; R8 = 0x10000000 00000008 E2889B02 ADD r9, r8, #ImageSize ; R9 = 0x10000800 0000000C 0000000C ;;; The remaining code is functionally identical to the 7111 boot code 0000000C 0000000C ;;; First, initialize HW control of UART 0000000C 0000000C 00000480 Hw_UARTDR1 EQU 0x0480 0000000C 0000000C 000004C0 Hw_UBRLCR1 EQU 0x04c0 0000000C 00000017 Hw_BR9600 EQU 0x00000017 ; 9600 baud divisor = 23 0000000C 0000000B Hw_BR9600_13 EQU 0x0000000b ; 9600 baud divisor = 11 0000000C 00060000 Hw_WRDLEN8 EQU 0x00060000 0000000C 0000000C E3A00C01 MOV r0, #Hw_UART1EN ; Enable UART 00000010 E58C0100 STR r0, [r12, #Hw_SYSCON] 00000014 00000014 E28C1D45 ADD r1, r12, #Hw_SYSFLG2 ; (was LDR, ADD in 7111 code) 00000018 E5917000 LDR r7, [r1] ; R7 = SYSFLG2 0000001C 0000001C E3170040 TST r7, #Hw_CKMODE 00000020 13A0000B MOVNE r0, #Hw_BR9600_13 ; Load 13 MhZ value if bit set 00000024 03A00017 MOVEQ r0, #Hw_BR9600 ; If not set, load other divisor 00000028 E3800806 ORR r0, r0, #Hw_WRDLEN8 ; Insert 8-bit character mode 0000002C 0000002C E58C04C0 STR r0, [r12, #Hw_UBRLCR1] 00000030 00000030 0000003C StartFlag EQU ‘<’ 00000030 0000003E EndFlag EQU ‘>’ 00000030 00000030 ;;; Send ready signal 00000030 E3A0003C MOV r0, #StartFlag 00000034 E58C0480 STR r0, [r12, #Hw_UARTDR1] 00000038 00000038 ;;; Receive the data 00000038 ;;; Store bytes at R9 address, stop loop when R8 == R9 00000038 ;;; Leaves R8 set to 0x10000800 00000038 00000038 ;;; Wait for byte to be available 00000038 00000038 uart_ready_loop 00000038 E59C1140 LDR r1, [r12, #Hw_SYSFLG] ; Spin, if Rx FIFO is empty 0000003C E3110501 TST r1, #Hw_URXFE1 00000040 1AFFFFFC BNE uart_ready_loop 00000044 00000044 ;;; Read the data, store it, and accumulate checksum 00000044 E59C0480 LDR r0, [r12, #Hw_UARTDR1] ; Read data 00000048 E4C80001 STRB r0, [r8], #1 ; Save it in memory |
|
ссылки URL |
| Вашему бизинису помогли Аллдатащит? [ DONATE ] |
Что такое Аллдатащит | реклама | контакт | Конфиденциальность | Ссылка на техническое описание | обмен ссыками | поиск по производителю All Rights Reserved©Alldatasheet.com |
| Russian : Alldatasheetru.com | Korean : Alldatasheet.co.kr | Spanish : Alldatasheet.es | French : Alldatasheet.fr | Italian : Alldatasheetit.com Portuguese : Alldatasheetpt.com | Polish : Alldatasheet.pl | Vietnamese : Alldatasheet.vn Indian : Alldatasheet.in | Mexican : Alldatasheet.com.mx | British : Alldatasheet.co.uk | New Zealand : Alldatasheet.co.nz |
|
Family Site : ic2ic.com |
icmetro.com |