⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 flash.dis

📁 MPC5554处理器的初始化例程
💻 DIS
📖 第 1 页 / 共 5 页
字号:
/*************************************************************************/
/* FUNCTION     : push 1 data into ring buf                             */
/* PURPOSE      :                                                        */
/* INPUT NOTES  :                                                        */
/* RETURN NOTES : None                                                   */
/* WARNING      : None                                                   */
/*************************************************************************/
uint8_t push_dpb_data(DP_BUF_tag* pt,uint8_t data)
{   
     318:	94 21 ff e0 	stwu    r1,-32(r1)
     31c:	93 e1 00 1c 	stw     r31,28(r1)
     320:	7c 3f 0b 78 	mr      r31,r1
     324:	90 7f 00 08 	stw     r3,8(r31)
     328:	7c 80 23 78 	mr      r0,r4
     32c:	98 1f 00 0c 	stb     r0,12(r31)
..\src\FESC_src\/FESC_5554_general.c:84
	  EnterCritical();
     330:	7c 00 01 46 	wrteei  0
..\src\FESC_src\/FESC_5554_general.c:86

    if (pt->n < pt->len)                     /* buffer full? */
     334:	81 3f 00 08 	lwz     r9,8(r31)
     338:	81 7f 00 08 	lwz     r11,8(r31)
     33c:	81 29 00 00 	lwz     r9,0(r9)
     340:	80 0b 00 0c 	lwz     r0,12(r11)
     344:	7f 89 00 40 	cmplw   cr7,r9,r0
     348:	40 9c 00 7c 	bge-    cr7,3c4 <push_dpb_data+0xac>
..\src\FESC_src\/FESC_5554_general.c:87
    {   *(pt->addr + pt->in_n) = data;       /* Put character into buffer */
     34c:	81 7f 00 08 	lwz     r11,8(r31)
     350:	81 3f 00 08 	lwz     r9,8(r31)
     354:	81 29 00 04 	lwz     r9,4(r9)
     358:	80 0b 00 10 	lwz     r0,16(r11)
     35c:	7d 29 02 14 	add     r9,r9,r0
     360:	88 1f 00 0c 	lbz     r0,12(r31)
     364:	98 09 00 00 	stb     r0,0(r9)
..\src\FESC_src\/FESC_5554_general.c:88
        pt->n++;                             /* No, increment character count */
     368:	81 7f 00 08 	lwz     r11,8(r31)
     36c:	81 3f 00 08 	lwz     r9,8(r31)
     370:	81 29 00 00 	lwz     r9,0(r9)
     374:	38 09 00 01 	addi    r0,r9,1
     378:	90 0b 00 00 	stw     r0,0(r11)
..\src\FESC_src\/FESC_5554_general.c:90
                                             /* the n and data must be coherenct */
        ExitCritical();
     37c:	7c 00 81 46 	wrteei  1
..\src\FESC_src\/FESC_5554_general.c:91
        pt->in_n++;
     380:	81 7f 00 08 	lwz     r11,8(r31)
     384:	81 3f 00 08 	lwz     r9,8(r31)
     388:	81 29 00 04 	lwz     r9,4(r9)
     38c:	38 09 00 01 	addi    r0,r9,1
     390:	90 0b 00 04 	stw     r0,4(r11)
..\src\FESC_src\/FESC_5554_general.c:92
        if (pt->in_n == pt->len) 
     394:	81 3f 00 08 	lwz     r9,8(r31)
     398:	81 7f 00 08 	lwz     r11,8(r31)
     39c:	81 29 00 04 	lwz     r9,4(r9)
     3a0:	80 0b 00 0c 	lwz     r0,12(r11)
     3a4:	7f 89 00 00 	cmpw    cr7,r9,r0
     3a8:	40 9e 00 10 	bne-    cr7,3b8 <push_dpb_data+0xa0>
..\src\FESC_src\/FESC_5554_general.c:93
        pt->in_n = 0;
     3ac:	81 3f 00 08 	lwz     r9,8(r31)
     3b0:	38 00 00 00 	li      r0,0
     3b4:	90 09 00 04 	stw     r0,4(r9)
..\src\FESC_src\/FESC_5554_general.c:94
        return(DP_BUF_SBP_RTSTUS_OK);
     3b8:	38 00 00 01 	li      r0,1
     3bc:	90 1f 00 10 	stw     r0,16(r31)
     3c0:	48 00 00 10 	b       3d0 <push_dpb_data+0xb8>
..\src\FESC_src\/FESC_5554_general.c:97
    } 
    else
    {	 ExitCritical();
     3c4:	7c 00 81 46 	wrteei  1
..\src\FESC_src\/FESC_5554_general.c:98
    	 return(DP_BUF_FULL);
     3c8:	38 00 00 11 	li      r0,17
     3cc:	90 1f 00 10 	stw     r0,16(r31)
..\src\FESC_src\/FESC_5554_general.c:100
    }
}	
     3d0:	80 7f 00 10 	lwz     r3,16(r31)
     3d4:	81 61 00 00 	lwz     r11,0(r1)
     3d8:	83 eb ff fc 	lwz     r31,-4(r11)
     3dc:	7d 61 5b 78 	mr      r1,r11
     3e0:	4e 80 00 20 	blr

000003e4 <push_dpb_block>:
push_dpb_block():
..\src\FESC_src\/FESC_5554_general.c:103

uint8_t push_dpb_block(DP_BUF_tag* pt,uint8_t* buf,uint8_t len)
{   uint8_t i;
     3e4:	94 21 ff d0 	stwu    r1,-48(r1)
     3e8:	93 e1 00 2c 	stw     r31,44(r1)
     3ec:	7c 3f 0b 78 	mr      r31,r1
     3f0:	90 7f 00 08 	stw     r3,8(r31)
     3f4:	90 9f 00 0c 	stw     r4,12(r31)
     3f8:	7c a0 2b 78 	mr      r0,r5
     3fc:	98 1f 00 10 	stb     r0,16(r31)
..\src\FESC_src\/FESC_5554_general.c:106
	  uint8_t* addr;
	  
	  addr = (pt->addr + pt->in_n);
     400:	81 3f 00 08 	lwz     r9,8(r31)
     404:	81 7f 00 08 	lwz     r11,8(r31)
     408:	81 29 00 10 	lwz     r9,16(r9)
     40c:	80 0b 00 04 	lwz     r0,4(r11)
     410:	7c 09 02 14 	add     r0,r9,r0
     414:	90 1f 00 14 	stw     r0,20(r31)
..\src\FESC_src\/FESC_5554_general.c:107
	  EnterCritical();
     418:	7c 00 01 46 	wrteei  0
..\src\FESC_src\/FESC_5554_general.c:108
    if ((pt->n+len) < pt->len)                     /* buffer full? */
     41c:	81 7f 00 08 	lwz     r11,8(r31)
     420:	88 1f 00 10 	lbz     r0,16(r31)
     424:	54 09 06 3e 	clrlwi  r9,r0,24
     428:	80 0b 00 00 	lwz     r0,0(r11)
     42c:	7d 69 02 14 	add     r11,r9,r0
     430:	81 3f 00 08 	lwz     r9,8(r31)
     434:	80 09 00 0c 	lwz     r0,12(r9)
     438:	7f 8b 00 40 	cmplw   cr7,r11,r0
     43c:	40 9c 00 d8 	bge-    cr7,514 <RWSC_5+0x14>
..\src\FESC_src\/FESC_5554_general.c:109
    {   pt->n += len; 
     440:	81 5f 00 08 	lwz     r10,8(r31)
     444:	81 7f 00 08 	lwz     r11,8(r31)
     448:	88 1f 00 10 	lbz     r0,16(r31)
     44c:	54 09 06 3e 	clrlwi  r9,r0,24
     450:	80 0b 00 00 	lwz     r0,0(r11)
     454:	7c 00 4a 14 	add     r0,r0,r9
     458:	90 0a 00 00 	stw     r0,0(r10)
..\src\FESC_src\/FESC_5554_general.c:110
        for(i=0;i<len;i++)  *(addr+i) = *(buf+i);       /* Put character into buffer */
     45c:	38 00 00 00 	li      r0,0
     460:	98 1f 00 11 	stb     r0,17(r31)
     464:	88 1f 00 11 	lbz     r0,17(r31)
     468:	54 09 06 3e 	clrlwi  r9,r0,24
     46c:	88 1f 00 10 	lbz     r0,16(r31)
     470:	54 00 06 3e 	clrlwi  r0,r0,24
     474:	7f 89 00 40 	cmplw   cr7,r9,r0
     478:	40 9c 00 3c 	bge-    cr7,4b4 <DEPTH_1+0xb4>
     47c:	88 1f 00 11 	lbz     r0,17(r31)
     480:	54 09 06 3e 	clrlwi  r9,r0,24
     484:	80 1f 00 14 	lwz     r0,20(r31)
     488:	7d 69 02 14 	add     r11,r9,r0
     48c:	88 1f 00 11 	lbz     r0,17(r31)
     490:	54 09 06 3e 	clrlwi  r9,r0,24
     494:	80 1f 00 0c 	lwz     r0,12(r31)
     498:	7d 29 02 14 	add     r9,r9,r0
     49c:	88 09 00 00 	lbz     r0,0(r9)
     4a0:	98 0b 00 00 	stb     r0,0(r11)
     4a4:	89 3f 00 11 	lbz     r9,17(r31)
     4a8:	38 09 00 01 	addi    r0,r9,1
     4ac:	98 1f 00 11 	stb     r0,17(r31)
     4b0:	4b ff ff b4 	b       464 <DEPTH_1+0x64>
..\src\FESC_src\/FESC_5554_general.c:112
                                             /* the n and data must be coherenct */
        ExitCritical();
     4b4:	7c 00 81 46 	wrteei  1
..\src\FESC_src\/FESC_5554_general.c:113
        pt->in_n+=len;
     4b8:	81 5f 00 08 	lwz     r10,8(r31)
     4bc:	81 7f 00 08 	lwz     r11,8(r31)
     4c0:	88 1f 00 10 	lbz     r0,16(r31)
     4c4:	54 09 06 3e 	clrlwi  r9,r0,24
     4c8:	80 0b 00 04 	lwz     r0,4(r11)
     4cc:	7c 00 4a 14 	add     r0,r0,r9
     4d0:	90 0a 00 04 	stw     r0,4(r10)
..\src\FESC_src\/FESC_5554_general.c:114
        if (pt->in_n >= pt->len) 
     4d4:	81 3f 00 08 	lwz     r9,8(r31)
     4d8:	81 7f 00 08 	lwz     r11,8(r31)
     4dc:	81 29 00 04 	lwz     r9,4(r9)
     4e0:	80 0b 00 0c 	lwz     r0,12(r11)
     4e4:	7f 89 00 40 	cmplw   cr7,r9,r0
     4e8:	41 9c 00 20 	blt-    cr7,508 <RWSC_5+0x8>
..\src\FESC_src\/FESC_5554_general.c:115
        pt->in_n -= pt->len;
     4ec:	81 5f 00 08 	lwz     r10,8(r31)
     4f0:	81 3f 00 08 	lwz     r9,8(r31)
     4f4:	81 7f 00 08 	lwz     r11,8(r31)
     4f8:	81 29 00 04 	lwz     r9,4(r9)
     4fc:	80 0b 00 0c 	lwz     r0,12(r11)
     500:	7c 00 48 50 	subf    r0,r0,r9
     504:	90 0a 00 04 	stw     r0,4(r10)
..\src\FESC_src\/FESC_5554_general.c:116
        return(DP_BUF_SBP_RTSTUS_OK);
     508:	38 00 00 01 	li      r0,1
     50c:	90 1f 00 18 	stw     r0,24(r31)
     510:	48 00 00 10 	b       520 <RWSC_5+0x20>
..\src\FESC_src\/FESC_5554_general.c:119
    } 
    else
    {	 ExitCritical();
     514:	7c 00 81 46 	wrteei  1
..\src\FESC_src\/FESC_5554_general.c:120
    	 return(DP_BUF_FULL);
     518:	38 00 00 11 	li      r0,17
     51c:	90 1f 00 18 	stw     r0,24(r31)
..\src\FESC_src\/FESC_5554_general.c:122
    }
}	
     520:	80 7f 00 18 	lwz     r3,24(r31)
     524:	81 61 00 00 	lwz     r11,0(r1)
     528:	83 eb ff fc 	lwz     r31,-4(r11)
     52c:	7d 61 5b 78 	mr      r1,r11
     530:	4e 80 00 20 	blr

00000534 <pop_dpb_data>:
pop_dpb_data():
..\src\FESC_src\/FESC_5554_general.c:131
/*************************************************************************/
/* FUNCTION     :  pop 1 data from ring buf                                   */
/* PURPOSE      :                                                        */
/* INPUT NOTES  :                                                        */
/* RETURN NOTES : None                                                   */
/* WARNING      : None                                                   */
/*************************************************************************/
uint8_t pop_dpb_data(DP_BUF_tag* pt,uint8_t* data)
{ 
     534:	94 21 ff e0 	stwu    r1,-32(r1)
     538:	93 e1 00 1c 	stw     r31,28(r1)
     53c:	7c 3f 0b 78 	mr      r31,r1
     540:	90 7f 00 08 	stw     r3,8(r31)
     544:	90 9f 00 0c 	stw     r4,12(r31)
..\src\FESC_src\/FESC_5554_general.c:132
	  EnterCritical();
     548:	7c 00 01 46 	wrteei  0
..\src\FESC_src\/FESC_5554_general.c:133
    if (pt->n >0)                              /* buffer empty? */
     54c:	81 3f 00 08 	lwz     r9,8(r31)
     550:	80 09 00 00 	lwz     r0,0(r9)
     554:	2f 80 00 00 	cmpwi   cr7,r0,0
     558:	41 9e 00 80 	beq-    cr7,5d8 <pop_dpb_data+0xa4>
..\src\FESC_src\/FESC_5554_general.c:134
    {   pt->n--;                               /* No, increment character count */
     55c:	81 7f 00 08 	lwz     r11,8(r31)
     560:	81 3f 00 08 	lwz     r9,8(r31)
     564:	81 29 00 00 	lwz     r9,0(r9)
     568:	38 09 ff ff 	addi    r0,r9,-1
     56c:	90 0b 00 00 	stw     r0,0(r11)
..\src\FESC_src\/FESC_5554_general.c:135
        *data = *(pt->addr + pt->out_n);       /* Put character into buffer */
     570:	81 5f 00 0c 	lwz     r10,12(r31)
     574:	81 7f 00 08 	lwz     r11,8(r31)
     578:	81 3f 00 08 	lwz     r9,8(r31)
     57c:	81 29 00 08 	lwz     r9,8(r9)
     580:	80 0b 00 10 	lwz     r0,16(r11)
     584:	7d 29 02 14 	add     r9,r9,r0
     588:	88 09 00 00 	lbz     r0,0(r9)
     58c:	98 0a 00 00 	stb     r0,0(r10)
..\src\FESC_src\/FESC_5554_general.c:136
        ExitCritical();
     590:	7c 00 81 46 	wrteei  1
..\src\FESC_src\/FESC_5554_general.c:137
        pt->out_n++;
     594:	81 7f 00 08 	lwz     r11,8(r31)
     598:	81 3f 00 08 	lwz     r9,8(r31)
     59c:	81 29 00 08 	lwz     r9,8(r9)
     5a0:	38 09 00 01 	addi    r0,r9,1
     5a4:	90 0b 00 08 	stw     r0,8(r11)
..\src\FESC_src\/FESC_5554_general.c:138
        if (pt->out_n == pt->len) pt->out_n = 0;
     5a8:	81 3f 00 08 	lwz     r9,8(r31)
     5ac:	81 7f 00 08 	lwz     r11,8(r31)
     5b0:	81 29 00 08 	lwz     r9,8(r9)
     5b4:	80 0b 00 0c 	lwz     r0,12(r11)
     5b8:	7f 89 00 00 	cmpw    cr7,r9,r0
     5bc:	40 9e 00 10 	bne-    cr7,5cc <pop_dpb_data+0x98>
     5c0:	81 3f 00 08 	lwz     r9,8(r31)
     5c4:	38 00 00 00 	li      r0,0
     5c8:	90 09 00 08 	stw     r0,8(r9)
..\src\FESC_src\/FESC_5554_general.c:139
        return(DP_BUF_SBP_RTSTUS_OK);
     5cc:	38 00 00 01 	li      r0,1
     5d0:	90 1f 00 10 	stw     r0,16(r31)
     5d4:	48 00 00 10 	b       5e4 <pop_dpb_data+0xb0>
..\src\FESC_src\/FESC_5554_general.c:142
    } 
    else
    { ExitCritical();
     5d8:	7c 00 81 46 	wrteei  1
..\src\FESC_src\/FESC_5554_general.c:143
    	return( DP_BUF_EMPTY);
     5dc:	38 00 00 12 	li      r0,18
     5e0:	90 1f 00 10 	stw     r0,16(r31)
..\src\FESC_src\/FESC_5554_general.c:145
    }
}
     5e4:	80 7f 00 10 	lwz     r3,16(r31)
     5e8:	81 61 00 00 	lwz     r11,0(r1)
     5ec:	83 eb ff fc 	lwz     r31,-4(r11)
     5f0:	7d 61 5b 78 	mr      r1,r11
     5f4:	4e 80 00 20 	blr

000005f8 <init_ESCI>:
init_ESCI():
..\src\FESC_src\/FESC_5554_ESCI.c:6
/*                      ESCI                      */
/*================================================*/ 
/**************************************************************************/
void init_ESCI()
{
     5f8:	94 21 ff f0 	stwu    r1,-16(r1)
     5fc:	7c 08 02 a6 	mflr    r0
     600:	93 e1 00 0c 	stw     r31,12(r1)
     604:	90 01 00 14 	stw     r0,20(r1)
     608:	7c 3f 0b 78 	mr      r31,r1
..\src\FESC_src\/FESC_5554_ESCI.c:11
    //ESCI_A.CR1.R = 0x01A1000C;      //19200@128MHz
    //ESCI_A.CR1.R = 0x0341000C;      //9600@128MHz
    //ESCI_A.CR1.R = 0x0187000C;      //19200@120MHz
    //ESCI_A.CR1.R = 0x030D000C;      //9600@120MHz
    ESCI_A.CR1.R = 0x0041000C;      //115200@120MHz
     60c:	3d 20 ff fb 	lis     r9,-5
     610:	3c 00 00 41 	lis     r0,65
     614:	60 00 00 0c 	ori     r0,r0,12
     618:	90 09 00 00 	stw     r0,0(r9)
..\src\FESC_src\/FESC_5554_ESCI.c:13
    
    pad_func_config(PIN_TXD_A_GPIO89,PRIMARY_FUNCTION);     //SCI
     61c:	38 60 00 59 	li      r3,89
     620:	38 80 0c 00 	li      r4,3072
     624:	4b ff f9 e5 	bl      8 <PEFILL>
..\src\FESC_src\/FESC_5554_ESCI.c:14

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -