📄 debug.cod
字号:
00004 eb000000 bl UART2_Stop
; 238 :
; 239 : //
; 240 : // Set up default baudrate
; 241 : //
; 242 : *UART2_LCR_M = 0 ;
00008 e59f3058 ldr r3, [pc, #0x58]
0000c e3a04000 mov r4, #0
; 243 : *UART2_LCR_L = UART_DIVISOR(DEBUG_UART_SPEED);
00010 e59f104c ldr r1, [pc, #0x4C]
00014 e3a0000b mov r0, #0xB
00018 e5834000 str r4, [r3]
0001c e5810000 str r0, [r1]
; 244 :
; 245 : //
; 246 : // Setup mode 8 bits, no parity, 1 stop bit, fifo enabled.
; 247 : //
; 248 : *UART2_LCR_H = LCR_H_DATABITS_8 | LCR_H_FIFO_ENABLE;
00020 e3a00070 mov r0, #0x70
00024 e59f2034 ldr r2, [pc, #0x34]
; 249 :
; 250 :
; 251 : // Clear old status.
; 252 : *UART2_SR = 0;
00028 e59f102c ldr r1, [pc, #0x2C]
0002c e5820000 str r0, [r2]
; 253 : // *UART2_MCR = MCR_RTS | MCR_DTR;
; 254 : *UART2_IIR = 0;
00030 e59f0020 ldr r0, [pc, #0x20]
; 255 :
; 256 : //
; 257 : // enable this uart
; 258 : //
; 259 : *UART2_CR |= CR_UARTE;
00034 e59f2018 ldr r2, [pc, #0x18]
00038 e5814000 str r4, [r1]
0003c e5804000 str r4, [r0]
00040 e5920000 ldr r0, [r2]
00044 e3801001 orr r1, r0, #1
00048 e5821000 str r1, [r2]
; 260 :
; 261 : return;
; 262 : }//end uart1_start
0004c e8bd4010 ldmia sp!, {r4, lr}
00050 e12fff1e bx lr
00054 |$L14205|
00054 b08d0014 DCD 0xb08d0014
00058 b08d001c DCD 0xb08d001c
0005c b08d0004 DCD 0xb08d0004
00060 b08d0008 DCD 0xb08d0008
00064 b08d0010 DCD 0xb08d0010
00068 b08d000c DCD 0xb08d000c
0006c |$M14202|
ENDP ; |UART2_Start|
00000 AREA |.text| { |UART3_Start| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 AREA |.pdata$$UART3_Start|, PDATA, SELECTION=5, ASSOC=|.text| { |UART3_Start| } ; comdat associative
|$T14210| DCD |UART3_Start|
DCD 0x40001a01
; Function compile flags: /Ogsy
00000 AREA |.text| { |UART3_Start| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 |UART3_Start| PROC
; 271 : {
00000 e52de004 str lr, [sp, #-4]!
00004 |$M14208|
; 272 : //
; 273 : // Uart3 stop.
; 274 : //
; 275 : UART3_Stop();
00004 eb000000 bl UART3_Stop
; 276 :
; 277 : //
; 278 : // Program uart divisor.
; 279 : //
; 280 : *UART3_LCR_L = UART_DIVISOR(DEBUG_UART_SPEED);
00008 e59f3054 ldr r3, [pc, #0x54]
0000c e3a0000b mov r0, #0xB
; 281 : *UART3_LCR_M = 0 ;
00010 e59f1048 ldr r1, [pc, #0x48]
00014 e5830000 str r0, [r3]
00018 e3a03000 mov r3, #0
; 282 :
; 283 : //
; 284 : // setup mode 8 data bits, 1 stop bit, no parity.
; 285 : //
; 286 : *UART3_LCR_H = LCR_H_DATABITS_8 ;
0001c e59f2038 ldr r2, [pc, #0x38]
00020 e3a00060 mov r0, #0x60
00024 e5813000 str r3, [r1]
00028 e5820000 str r0, [r2]
; 287 :
; 288 : //
; 289 : // Clear old status.
; 290 : //
; 291 : *UART3_SR = 0;
0002c e59f1024 ldr r1, [pc, #0x24]
; 292 :
; 293 : //
; 294 : //clr intrpts
; 295 : //
; 296 : *UART3_IIR = 0;
00030 e59f001c ldr r0, [pc, #0x1C]
00034 e5813000 str r3, [r1]
00038 e5803000 str r3, [r0]
; 297 :
; 298 : //
; 299 : // enable this uart
; 300 : //
; 301 : *UART3_CR = CR_UARTE;
0003c e3a00001 mov r0, #1
00040 e59f1008 ldr r1, [pc, #8]
00044 e5810000 str r0, [r1]
; 302 :
; 303 : return;
; 304 :
; 305 : }//end uart3_start
00048 e8bd4000 ldmia sp!, {lr}
0004c e12fff1e bx lr
00050 |$L14212|
00050 b08e0014 DCD 0xb08e0014
00054 b08e001c DCD 0xb08e001c
00058 b08e0004 DCD 0xb08e0004
0005c b08e0008 DCD 0xb08e0008
00060 b08e000c DCD 0xb08e000c
00064 b08e0010 DCD 0xb08e0010
00068 |$M14209|
ENDP ; |UART3_Start|
00000 AREA |.text| { |UART1_Stop| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 AREA |.pdata$$UART1_Stop|, PDATA, SELECTION=5, ASSOC=|.text| { |UART1_Stop| } ; comdat associative
|$T14217| DCD |UART1_Stop|
DCD 0x40001100
; Function compile flags: /Ogsy
00000 AREA |.text| { |UART1_Stop| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 |UART1_Stop| PROC
; 313 : {
00000 |$M14215|
; 314 :
; 315 : //
; 316 : // Disable this uart
; 317 : //
; 318 : *UART1_CR = 0;
00000 e59f0038 ldr r0, [pc, #0x38]
00004 e3a02000 mov r2, #0
; 319 :
; 320 : *UART1_LCR_H = 0;
; 321 : *UART1_LCR_M = 0;
00008 e59f102c ldr r1, [pc, #0x2C]
0000c e5802000 str r2, [r0]
00010 e59f0020 ldr r0, [pc, #0x20]
00014 e5802000 str r2, [r0]
00018 e5812000 str r2, [r1]
; 322 : *UART1_LCR_L = 0;
0001c e59f0010 ldr r0, [pc, #0x10]
; 323 :
; 324 : //
; 325 : // Clear status bits.
; 326 : //
; 327 : *UART1_SR = 0;
00020 e59f1008 ldr r1, [pc, #8]
00024 e5802000 str r2, [r0]
00028 e5812000 str r2, [r1]
; 328 : return;
; 329 : }
0002c e12fff1e bx lr
00030 |$L14219|
00030 b08c0004 DCD 0xb08c0004
00034 b08c0010 DCD 0xb08c0010
00038 b08c0008 DCD 0xb08c0008
0003c b08c000c DCD 0xb08c000c
00040 b08c0014 DCD 0xb08c0014
00044 |$M14216|
ENDP ; |UART1_Stop|
00000 AREA |.text| { |UART2_Stop| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 AREA |.pdata$$UART2_Stop|, PDATA, SELECTION=5, ASSOC=|.text| { |UART2_Stop| } ; comdat associative
|$T14224| DCD |UART2_Stop|
DCD 0x40001100
; Function compile flags: /Ogsy
00000 AREA |.text| { |UART2_Stop| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 |UART2_Stop| PROC
; 337 : {
00000 |$M14222|
; 338 :
; 339 : //
; 340 : // Disable this uart
; 341 : //
; 342 : *UART2_CR = 0;
00000 e59f0038 ldr r0, [pc, #0x38]
00004 e3a02000 mov r2, #0
; 343 :
; 344 : *UART2_LCR_H = 0;
; 345 : *UART2_LCR_M = 0;
00008 e59f102c ldr r1, [pc, #0x2C]
0000c e5802000 str r2, [r0]
00010 e59f0020 ldr r0, [pc, #0x20]
00014 e5802000 str r2, [r0]
00018 e5812000 str r2, [r1]
; 346 : *UART2_LCR_L = 0;
0001c e59f0010 ldr r0, [pc, #0x10]
; 347 :
; 348 : //
; 349 : // Clear status bits.
; 350 : //
; 351 : *UART2_SR = 0;
00020 e59f1008 ldr r1, [pc, #8]
00024 e5802000 str r2, [r0]
00028 e5812000 str r2, [r1]
; 352 : return;
; 353 : }
0002c e12fff1e bx lr
00030 |$L14226|
00030 b08d0004 DCD 0xb08d0004
00034 b08d0010 DCD 0xb08d0010
00038 b08d0008 DCD 0xb08d0008
0003c b08d000c DCD 0xb08d000c
00040 b08d0014 DCD 0xb08d0014
00044 |$M14223|
ENDP ; |UART2_Stop|
00000 AREA |.text| { |UART3_Stop| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 AREA |.pdata$$UART3_Stop|, PDATA, SELECTION=5, ASSOC=|.text| { |UART3_Stop| } ; comdat associative
|$T14231| DCD |UART3_Stop|
DCD 0x40001100
; Function compile flags: /Ogsy
00000 AREA |.text| { |UART3_Stop| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 |UART3_Stop| PROC
; 362 : {
00000 |$M14229|
; 363 : //
; 364 : // disable this uart
; 365 : //
; 366 : *UART3_CR = 0;
00000 e59f0038 ldr r0, [pc, #0x38]
00004 e3a02000 mov r2, #0
; 367 :
; 368 : *UART3_LCR_H = 0;
; 369 : *UART3_LCR_M = 0;
00008 e59f102c ldr r1, [pc, #0x2C]
0000c e5802000 str r2, [r0]
00010 e59f0020 ldr r0, [pc, #0x20]
00014 e5802000 str r2, [r0]
00018 e5812000 str r2, [r1]
; 370 : *UART3_LCR_L = 0;
0001c e59f0010 ldr r0, [pc, #0x10]
; 371 :
; 372 :
; 373 : // Clear status bits.
; 374 : *UART3_SR = 0;
00020 e59f1008 ldr r1, [pc, #8]
00024 e5802000 str r2, [r0]
00028 e5812000 str r2, [r1]
; 375 :
; 376 : return;
; 377 : }
0002c e12fff1e bx lr
00030 |$L14233|
00030 b08e0004 DCD 0xb08e0004
00034 b08e0010 DCD 0xb08e0010
00038 b08e0008 DCD 0xb08e0008
0003c b08e000c DCD 0xb08e000c
00040 b08e0014 DCD 0xb08e0014
00044 |$M14230|
ENDP ; |UART3_Stop|
EXPORT |UART1_Write|
00000 AREA |.text| { |UART1_Write| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 AREA |.pdata$$UART1_Write|, PDATA, SELECTION=5, ASSOC=|.text| { |UART1_Write| } ; comdat associative
|$T14240| DCD |UART1_Write|
DCD 0x40000c00
; Function compile flags: /Ogsy
00000 AREA |.text| { |UART1_Write| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 |UART1_Write| PROC
; 386 : {
00000 |$M14238|
00000 e1a02000 mov r2, r0
00004 |$L13993|
; 387 : //
; 388 : // txfe see if the tx fifo is empty
; 389 : //
; 390 : while ((*UART1_FR & FR_TXFE) != FR_TXFE)
00004 e59f0020 ldr r0, [pc, #0x20]
00008 e5900000 ldr r0, [r0]
0000c e2001080 and r1, r0, #0x80
00010 e3510080 cmp r1, #0x80
00014 1afffffa bne |$L13993|
; 391 : /* - do nothing until fifo is empty; ie character is gone */
; 392 : ;
; 393 :
; 394 : *UART1_DR = (int)ch;
00018 e3a0120b mov r1, #0xB, 4
0001c e20200ff and r0, r2, #0xFF
00020 e3811723 orr r1, r1, #0x23, 14
00024 e5810000 str r0, [r1]
; 395 : }
00028 e12fff1e bx lr
0002c |$L14242|
0002c b08c0018 DCD 0xb08c0018
00030 |$M14239|
ENDP ; |UART1_Write|
EXPORT |UART2_Write|
00000 AREA |.text| { |UART2_Write| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 AREA |.pdata$$UART2_Write|, PDATA, SELECTION=5, ASSOC=|.text| { |UART2_Write| } ; comdat associative
|$T14249| DCD |UART2_Write|
DCD 0x40000c00
; Function compile flags: /Ogsy
00000 AREA |.text| { |UART2_Write| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 |UART2_Write| PROC
; 402 : {
00000 |$M14247|
00000 e1a02000 mov r2, r0
00004 |$L14002|
; 403 : //
; 404 : // txfe see if the tx fifo is empty
; 405 : //
; 406 : while ((*UART2_FR & FR_TXFE) != FR_TXFE)
00004 e59f0020 ldr r0, [pc, #0x20]
00008 e5900000 ldr r0, [r0]
0000c e2001080 and r1, r0, #0x80
00010 e3510080 cmp r1, #0x80
00014 1afffffa bne |$L14002|
; 407 : /* - do nothing until fifo is empty; ie character is gone */
; 408 : ;
; 409 :
; 410 : *UART2_DR = (int)ch;
00018 e3a0120b mov r1, #0xB, 4
0001c e20200ff and r0, r2, #0xFF
00020 e381188d orr r1, r1, #0x8D, 16
00024 e5810000 str r0, [r1]
; 411 : }
00028 e12fff1e bx lr
0002c |$L14251|
0002c b08d0018 DCD 0xb08d0018
00030 |$M14248|
ENDP ; |UART2_Write|
00000 AREA |.text| { |UART3_Write| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 AREA |.pdata$$UART3_Write|, PDATA, SELECTION=5, ASSOC=|.text| { |UART3_Write| } ; comdat associative
|$T14258| DCD |UART3_Write|
DCD 0x40000c00
; Function compile flags: /Ogsy
00000 AREA |.text| { |UART3_Write| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 |UART3_Write| PROC
; 419 : {
00000 |$M14256|
00000 e1a02000 mov r2, r0
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -