📄 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 |$L37012|
00054 808d0014 DCD 0x808d0014
00058 808d001c DCD 0x808d001c
0005c 808d0004 DCD 0x808d0004
00060 808d0008 DCD 0x808d0008
00064 808d0010 DCD 0x808d0010
00068 808d000c DCD 0x808d000c
0006c |$M37009|
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
|$T37017| 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 |$M37015|
; 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 |$L37019|
00050 808e0014 DCD 0x808e0014
00054 808e001c DCD 0x808e001c
00058 808e0004 DCD 0x808e0004
0005c 808e0008 DCD 0x808e0008
00060 808e000c DCD 0x808e000c
00064 808e0010 DCD 0x808e0010
00068 |$M37016|
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
|$T37024| 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 |$M37022|
; 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 |$L37026|
00030 808c0004 DCD 0x808c0004
00034 808c0010 DCD 0x808c0010
00038 808c0008 DCD 0x808c0008
0003c 808c000c DCD 0x808c000c
00040 808c0014 DCD 0x808c0014
00044 |$M37023|
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
|$T37031| 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 |$M37029|
; 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 |$L37033|
00030 808d0004 DCD 0x808d0004
00034 808d0010 DCD 0x808d0010
00038 808d0008 DCD 0x808d0008
0003c 808d000c DCD 0x808d000c
00040 808d0014 DCD 0x808d0014
00044 |$M37030|
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
|$T37038| 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 |$M37036|
; 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 |$L37040|
00030 808e0004 DCD 0x808e0004
00034 808e0010 DCD 0x808e0010
00038 808e0008 DCD 0x808e0008
0003c 808e000c DCD 0x808e000c
00040 808e0014 DCD 0x808e0014
00044 |$M37037|
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
|$T37047| 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 |$M37045|
00000 e1a02000 mov r2, r0
00004 |$L36799|
; 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 |$L36799|
; 391 : /* - do nothing until fifo is empty; ie character is gone */
; 392 : ;
; 393 :
; 394 : *UART1_DR = (int)ch;
00018 e3a01102 mov r1, #2, 2
0001c e20200ff and r0, r2, #0xFF
00020 e3811723 orr r1, r1, #0x23, 14
00024 e5810000 str r0, [r1]
; 395 : }
00028 e12fff1e bx lr
0002c |$L37049|
0002c 808c0018 DCD 0x808c0018
00030 |$M37046|
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
|$T37056| 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 |$M37054|
00000 e1a02000 mov r2, r0
00004 |$L36808|
; 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 |$L36808|
; 407 : /* - do nothing until fifo is empty; ie character is gone */
; 408 : ;
; 409 :
; 410 : *UART2_DR = (int)ch;
00018 e3a01102 mov r1, #2, 2
0001c e20200ff and r0, r2, #0xFF
00020 e381188d orr r1, r1, #0x8D, 16
00024 e5810000 str r0, [r1]
; 411 : }
00028 e12fff1e bx lr
0002c |$L37058|
0002c 808d0018 DCD 0x808d0018
00030 |$M37055|
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
|$T37065| 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 |$M37063|
00000 e1a02000 mov r2, r0
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -