fix bumblebee irq entry aligment, fix eclic
This commit is contained in:
@@ -104,10 +104,10 @@ typedef enum
|
||||
|
||||
#define COMn 2U
|
||||
|
||||
#define EVAL_COM0 USART2
|
||||
#define EVAL_COM0_CLK RCU_USART2
|
||||
#define EVAL_COM0_TX_PIN GPIO_PIN_2
|
||||
#define EVAL_COM0_RX_PIN GPIO_PIN_3
|
||||
#define EVAL_COM0 USART0
|
||||
#define EVAL_COM0_CLK RCU_USART0
|
||||
#define EVAL_COM0_TX_PIN GPIO_PIN_9
|
||||
#define EVAL_COM0_RX_PIN GPIO_PIN_10
|
||||
#define EVAL_COM0_GPIO_PORT GPIOA
|
||||
#define EVAL_COM0_GPIO_CLK RCU_GPIOA
|
||||
|
||||
@@ -123,7 +123,7 @@ typedef enum
|
||||
#define EVAL_COM3_TX_PIN GPIO_PIN_10
|
||||
#define EVAL_COM3_RX_PIN GPIO_PIN_11
|
||||
#define EVAL_COM3_GPIO_PORT GPIOC
|
||||
#define EVAL_COM3_GPIO_CLK RCU_GPIOC
|
||||
#define EVAL_COM3_GPIO_CLK RCU_GPIOB
|
||||
|
||||
#define KEYn 3U
|
||||
|
||||
|
@@ -11,7 +11,7 @@
|
||||
|
||||
#define USART2_GPIO_TX_PIN GPIO_PIN_10
|
||||
#define USART2_GPIO_RX_PIN GPIO_PIN_11
|
||||
#define USART2_GPIO_PORT GPIOC
|
||||
#define USART2_GPIO_PORT GPIOB
|
||||
|
||||
|
||||
void usart0_init(int baud);
|
||||
|
@@ -2,6 +2,10 @@
|
||||
#include "usart.h"
|
||||
void usart0_init(int baud)
|
||||
{
|
||||
eclic_priority_group_set(ECLIC_PRIGROUP_LEVEL3_PRIO1);
|
||||
eclic_irq_enable(USART0_IRQn, 1, 0);
|
||||
|
||||
|
||||
/* enable GPIO clock */
|
||||
rcu_periph_clock_enable(RCU_GPIOA);
|
||||
|
||||
@@ -25,10 +29,14 @@ void usart0_init(int baud)
|
||||
usart_receive_config(USART0, USART_RECEIVE_ENABLE);
|
||||
usart_transmit_config(USART0, USART_TRANSMIT_ENABLE);
|
||||
usart_enable(USART0);
|
||||
|
||||
usart_interrupt_enable(USART0, USART_INT_RBNE);
|
||||
}
|
||||
|
||||
void usart1_init(int baud)
|
||||
{
|
||||
eclic_irq_enable(USART1_IRQn, 1, 0);
|
||||
|
||||
/* enable GPIO clock */
|
||||
rcu_periph_clock_enable(RCU_GPIOA);
|
||||
|
||||
@@ -52,14 +60,19 @@ void usart1_init(int baud)
|
||||
usart_receive_config(USART1, USART_RECEIVE_ENABLE);
|
||||
usart_transmit_config(USART1, USART_TRANSMIT_ENABLE);
|
||||
usart_enable(USART1);
|
||||
|
||||
usart_interrupt_enable(USART1, USART_INT_RBNE);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
void usart2_init(int baud)
|
||||
{
|
||||
eclic_irq_enable(USART2_IRQn, 1, 0);
|
||||
|
||||
/* enable GPIO clock */
|
||||
rcu_periph_clock_enable(RCU_GPIOC);
|
||||
rcu_periph_clock_enable(RCU_GPIOB);
|
||||
|
||||
/* enable USART2 clock */
|
||||
rcu_periph_clock_enable(RCU_USART2);
|
||||
@@ -70,7 +83,7 @@ void usart2_init(int baud)
|
||||
/* connect port to USART0_Rx */
|
||||
gpio_init(USART2_GPIO_PORT, GPIO_MODE_IN_FLOATING, GPIO_OSPEED_50MHZ, USART2_GPIO_RX_PIN);
|
||||
|
||||
gpio_pin_remap_config(GPIO_USART2_FULL_REMAP,ENABLE);
|
||||
//gpio_pin_remap_config(GPIO_USART2_FULL_REMAP,ENABLE);
|
||||
|
||||
/* USART1 configure */
|
||||
usart_deinit(USART2);
|
||||
@@ -83,6 +96,9 @@ void usart2_init(int baud)
|
||||
usart_receive_config(USART2, USART_RECEIVE_ENABLE);
|
||||
usart_transmit_config(USART2, USART_TRANSMIT_ENABLE);
|
||||
usart_enable(USART2);
|
||||
|
||||
|
||||
usart_interrupt_enable(USART2, USART_INT_RBNE);
|
||||
}
|
||||
|
||||
|
||||
|
@@ -187,7 +187,7 @@
|
||||
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="ilg.gnumcueclipse.managedbuild.cross.riscv.option.c.linker.scriptfile.134450266" name="Script files (-T)" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.option.c.linker.scriptfile" useByScannerDiscovery="false" valueType="stringList">
|
||||
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/link.lds}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/GD32VF103_Firmware_Library/RISCV/env_Eclipse/GD32VF103xB.lds}""/>
|
||||
|
||||
</option>
|
||||
|
||||
|
@@ -1,11 +1,38 @@
|
||||
#include "mcu_init.h"
|
||||
#include "tos_k.h"
|
||||
|
||||
#define TASK_SIZE 1024
|
||||
#define BLED_TASK_SIZE 1024
|
||||
#define WIFI_TASK_SIZE 4096
|
||||
k_task_t k_task_bled;
|
||||
k_task_t k_task_wifi;
|
||||
uint8_t k_bled_stk[TASK_SIZE];
|
||||
uint8_t k_wifi_stk[TASK_SIZE];
|
||||
uint8_t k_bled_stk[BLED_TASK_SIZE];
|
||||
uint8_t k_wifi_stk[WIFI_TASK_SIZE];
|
||||
|
||||
|
||||
void USART0_IRQHandler() {
|
||||
#if 0
|
||||
if(RESET != usart_interrupt_flag_get(USART0, USART_INT_FLAG_RBNE)){
|
||||
uint8_t data = usart_data_receive(USART0);
|
||||
printf("%c\n", data);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
void USART1_IRQHandler() {
|
||||
if(RESET != usart_interrupt_flag_get(USART1, USART_INT_FLAG_RBNE)){
|
||||
uint8_t data = usart_data_receive(USART1);
|
||||
//tos_at_uart_input_byte(data);
|
||||
printf("-%c\n", data);
|
||||
}
|
||||
}
|
||||
|
||||
void USART2_IRQHandler() {
|
||||
if(RESET != usart_interrupt_flag_get(USART2, USART_INT_FLAG_RBNE)){
|
||||
uint8_t data = usart_data_receive(USART2);
|
||||
tos_at_uart_input_byte(data);
|
||||
}
|
||||
//printf("usart2\n");
|
||||
}
|
||||
|
||||
void task_bled(void *pdata)
|
||||
{
|
||||
@@ -33,8 +60,10 @@ void main(void) {
|
||||
|
||||
tos_knl_init();
|
||||
|
||||
tos_task_create(&k_task_bled, "bled", task_bled, NULL, 5, k_bled_stk, TASK_SIZE, 0);
|
||||
tos_task_create(&k_task_wifi, "wifi", task_wifi, NULL, 3, k_wifi_stk, TASK_SIZE, 0);
|
||||
usart0_init(115200);
|
||||
|
||||
tos_task_create(&k_task_bled, "bled", task_bled, NULL, 5, k_bled_stk, BLED_TASK_SIZE, 0);
|
||||
tos_task_create(&k_task_wifi, "wifi", task_wifi, NULL, 3, k_wifi_stk, WIFI_TASK_SIZE, 0);
|
||||
|
||||
tos_knl_start();
|
||||
|
||||
|
Reference in New Issue
Block a user