加入外设头文件,移动中断编号
This commit is contained in:
@@ -10,6 +10,10 @@ volatile uint32_t *plic_priority_4 = (uint32_t*)( 0xc000000U + 0X000004 * 4);
|
||||
volatile uint32_t *plic_priority_5 = (uint32_t*)( 0xc000000U + 0X000004 * 5);
|
||||
volatile uint32_t *plic_priority_6 = (uint32_t*)( 0xc000000U + 0X000004 * 6);
|
||||
|
||||
volatile uint32_t *plic_priority_18 = (uint32_t*)( 0xc000000U + 0X000004 * 18);
|
||||
volatile uint32_t *plic_priority_19 = (uint32_t*)( 0xc000000U + 0X000004 * 19);
|
||||
volatile uint32_t *plic_priority_20 = (uint32_t*)( 0xc000000U + 0X000004 * 20);
|
||||
volatile uint32_t *plic_priority_21 = (uint32_t*)( 0xc000000U + 0X000004 * 21);
|
||||
|
||||
volatile uint32_t *plic_pending_0_31 = (uint32_t*)( 0xc000000U + 0X001000 );
|
||||
volatile uint32_t *plic_enable_0_31 = (uint32_t*)( 0xc000000U + 0X002000 );
|
||||
@@ -31,13 +35,13 @@ void plic_handle(){
|
||||
uint32_t claim = *plic_claim;
|
||||
|
||||
|
||||
if( claim == 3 ){
|
||||
if( claim == 18 ){
|
||||
flag_intTxEnd = 1;
|
||||
} else if( claim == 4 ){
|
||||
} else if( claim == 19 ){
|
||||
flag_intRxError = 1;
|
||||
} else if( claim == 5 ){
|
||||
} else if( claim == 20 ){
|
||||
flag_intRxStart = 1;
|
||||
} else if( claim == 6 ){
|
||||
} else if( claim == 21 ){
|
||||
flag_intRxEnd = 1;
|
||||
}
|
||||
|
||||
@@ -78,19 +82,19 @@ void main()
|
||||
|
||||
uint32_t led = 0;
|
||||
|
||||
*plic_enable_0_31 = 1 << 3 | 1 << 4 | 1 << 5 | 1 << 6;
|
||||
*plic_priority_3 = 1;
|
||||
*plic_priority_4 = 1;
|
||||
*plic_priority_5 = 1;
|
||||
*plic_priority_6 = 1;
|
||||
*plic_enable_0_31 = 1 << 18 | 1 << 19 | 1 << 20 | 1 << 21;
|
||||
*plic_priority_18 = 1;
|
||||
*plic_priority_19 = 1;
|
||||
*plic_priority_20 = 1;
|
||||
*plic_priority_21 = 1;
|
||||
*plic_threshold_0 = 0;
|
||||
|
||||
{//再写一次实现延迟,等从机的复位完成
|
||||
*plic_enable_0_31 = 1 << 3 | 1 << 4 | 1 << 5 | 1 << 6;
|
||||
*plic_priority_3 = 1;
|
||||
*plic_priority_4 = 1;
|
||||
*plic_priority_5 = 1;
|
||||
*plic_priority_6 = 1;
|
||||
*plic_enable_0_31 = 1 << 18 | 1 << 19 | 1 << 20 | 1 << 21;
|
||||
*plic_priority_18 = 1;
|
||||
*plic_priority_19 = 1;
|
||||
*plic_priority_20 = 1;
|
||||
*plic_priority_21 = 1;
|
||||
*plic_threshold_0 = 0;
|
||||
}
|
||||
|
||||
|
||||
@@ -10,6 +10,10 @@ volatile uint32_t *plic_priority_4 = (uint32_t*)( 0xc000000U + 0X000004 * 4);
|
||||
volatile uint32_t *plic_priority_5 = (uint32_t*)( 0xc000000U + 0X000004 * 5);
|
||||
volatile uint32_t *plic_priority_6 = (uint32_t*)( 0xc000000U + 0X000004 * 6);
|
||||
|
||||
volatile uint32_t *plic_priority_18 = (uint32_t*)( 0xc000000U + 0X000004 * 18);
|
||||
volatile uint32_t *plic_priority_19 = (uint32_t*)( 0xc000000U + 0X000004 * 19);
|
||||
volatile uint32_t *plic_priority_20 = (uint32_t*)( 0xc000000U + 0X000004 * 20);
|
||||
volatile uint32_t *plic_priority_21 = (uint32_t*)( 0xc000000U + 0X000004 * 21);
|
||||
|
||||
volatile uint32_t *plic_pending_0_31 = (uint32_t*)( 0xc000000U + 0X001000 );
|
||||
volatile uint32_t *plic_enable_0_31 = (uint32_t*)( 0xc000000U + 0X002000 );
|
||||
@@ -31,13 +35,13 @@ void plic_handle(){
|
||||
uint32_t claim = *plic_claim;
|
||||
|
||||
|
||||
if( claim == 3 ){
|
||||
if( claim == 18 ){
|
||||
flag_intTxEnd = 1;
|
||||
} else if( claim == 4 ){
|
||||
} else if( claim == 19 ){
|
||||
flag_intRxError = 1;
|
||||
} else if( claim == 5 ){
|
||||
} else if( claim == 20 ){
|
||||
flag_intRxStart = 1;
|
||||
} else if( claim == 6 ){
|
||||
} else if( claim == 21 ){
|
||||
flag_intRxEnd = 1;
|
||||
}
|
||||
|
||||
@@ -75,11 +79,11 @@ void main()
|
||||
register uint32_t isLast;
|
||||
register uint32_t flag;
|
||||
|
||||
*plic_enable_0_31 = 1 << 3 | 1 << 4 | 1 << 5 | 1 << 6;
|
||||
*plic_priority_3 = 1;
|
||||
*plic_priority_4 = 1;
|
||||
*plic_priority_5 = 1;
|
||||
*plic_priority_6 = 1;
|
||||
*plic_enable_0_31 = 1 << 18 | 1 << 19 | 1 << 20 | 1 << 21;
|
||||
*plic_priority_18 = 1;
|
||||
*plic_priority_19 = 1;
|
||||
*plic_priority_20 = 1;
|
||||
*plic_priority_21 = 1;
|
||||
*plic_threshold_0 = 0;
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user