Added assembly ASC test code, further investigation required...

This commit is contained in:
imi415 2022-06-27 00:36:14 +08:00
parent 2de08ba3ee
commit 2edb86ee7e
Signed by: imi415
GPG Key ID: 885EC2B5A8A6F8A7
2 changed files with 50 additions and 6 deletions

View File

@ -56,9 +56,9 @@ static void delay_ms(uint32_t msec) {
}
static void uart_init(void) {
PIO4->CLR_PC0 = 1U; /* PC = 110, AFOUT, PP */
PIO4->SET_PC1 = 1U;
PIO4->SET_PC2 = 1U;
// PIO4->CLR_PC0 = 1U; /* PC = 110, AFOUT, PP */
// PIO4->SET_PC1 = 1U;
// PIO4->SET_PC2 = 1U;
// *(uint32_t *)SYSTEM_CONFIG34 = 0x00000100UL; /* BIT[8,0] = 10, AF 3 */
// *(uint32_t *)SYSTEM_CONFIG7 &= ~(0x00000006UL); /* BIT[2:1], UART2 RX SEL */
@ -78,8 +78,6 @@ int main(void) {
// set_led(LED_RED_GPIO, LED_RED_PIN, 1U);
// }
*(uint32_t *)SYSTEM_CONFIG34 = 0x00000100UL; /* BIT[8,0] = 10, AF 3 */
uart_init();
// for (uint16_t i = 0; i < 65534; i++) {
@ -98,4 +96,6 @@ int main(void) {
// set_led(LED_BLUE_GPIO, LED_BLUE_PIN, 0);
// delay_ms(1000);
}
return 0;
}

View File

@ -30,7 +30,6 @@ _start:
mov.l r0, @r1
mov.l _gpio_clr_pc2_k, r1
mov.l r0, @r1
mov.l _sr_k, r0
ldc r0, sr
mov.l _stack_k, sp /* Setup R15(SP) */
@ -193,6 +192,30 @@ _setup_fpu:
mov #0, r4
lds r3, fpscr
/* Try to enable UART from Assembly... */
mov.l _system_config_34_k, r0
mov.l _system_config_34_value_k, r1
mov.l r1, @r0
mov.l _gpio4_clr_pc0_k, r0
mov #1, r1
mov.b r1, @r0
mov.l _gpio4_set_pc1_k, r0
mov.b r1, @r0
mov.l _gpio4_set_pc2_k, r0
mov.b r1, @r0
mov.l _asc2_baud_k, r0
mov.l _asc2_baud_value_k, r1
mov.l r1, @r0
mov.l _asc2_ctrl_k, r0
mov.l _asc2_ctrl_value_k, r1
mov.l r1, @r0
mov.l _asc2_tx_buf_k, r0
mov #65, r1
mov.b r1, @r0
_main_entry:
mov.l _main_k, r0
jsr @r0
@ -285,6 +308,27 @@ _gpio_set_pc1_k:
_gpio_clr_pc2_k:
.long 0xFD020048
_system_config_34_k:
.long 0xFE001188
_system_config_34_value_k:
.long 0x00000F00
_gpio4_clr_pc0_k:
.long 0xFD024028
_gpio4_set_pc1_k:
.long 0xFD024034
_gpio4_set_pc2_k:
.long 0xFD024044
_asc2_baud_k:
.long 0xFD032000
_asc2_baud_value_k:
.long 0x000004B8
_asc2_tx_buf_k:
.long 0xFD032004
_asc2_ctrl_k:
.long 0xFD03200C
_asc2_ctrl_value_k:
.long 0x00001589
_crt0_entry:
.long _copy_data