enable set systick priority for bumblebee
This commit is contained in:
@@ -24,6 +24,8 @@
|
||||
#define CLINT_MTIMECMP 0x0008
|
||||
#define CLINT_MTIME 0x0000
|
||||
|
||||
void riscv_cpu_init();
|
||||
void port_cpu_init();
|
||||
|
||||
void port_systick_priority_set(uint32_t priority);
|
||||
|
||||
#endif // _RISCV_PORT_H_
|
||||
|
@@ -76,8 +76,8 @@ static void eclic_set_irq_priority(uint32_t source, uint8_t priority) {
|
||||
|
||||
|
||||
uint8_t pad = ~0;
|
||||
pad >>= (8 - cicbits);
|
||||
pad <<= (8 - cicbits);
|
||||
pad <<= cicbits;
|
||||
pad >>= cicbits;
|
||||
|
||||
|
||||
uint8_t intctrl_val = eclic_get_intctrl(CLIC_INT_TMR);
|
||||
@@ -90,12 +90,14 @@ static void eclic_set_irq_priority(uint32_t source, uint8_t priority) {
|
||||
eclic_set_intctrl(CLIC_INT_TMR, intctrl_val);
|
||||
}
|
||||
|
||||
void riscv_cpu_init() {
|
||||
__PORT__ void port_cpu_init() {
|
||||
|
||||
eclic_enable_interrupt(CLIC_INT_TMR);
|
||||
|
||||
eclic_set_irq_level(CLIC_INT_TMR, 0);
|
||||
|
||||
eclic_set_irq_priority(CLIC_INT_TMR, 0);
|
||||
|
||||
}
|
||||
|
||||
__PORT__ void port_systick_priority_set(uint32_t priority) {
|
||||
eclic_set_irq_priority(CLIC_INT_TMR, priority);
|
||||
}
|
||||
|
@@ -12,7 +12,7 @@ __KERNEL__ void cpu_init(void) {
|
||||
k_cpu_cycle_per_tick = TOS_CFG_CPU_CLOCK / k_cpu_tick_per_second;
|
||||
cpu_systick_init(k_cpu_cycle_per_tick);
|
||||
|
||||
riscv_cpu_init();
|
||||
port_cpu_init();
|
||||
}
|
||||
|
||||
__API__ cpu_cpsr_t tos_cpu_cpsr_save(void)
|
||||
|
@@ -1,6 +1,6 @@
|
||||
#include <tos.h>
|
||||
#include "riscv_encoding.h"
|
||||
#include "riscv_port.h"
|
||||
#include <tos.h>
|
||||
|
||||
__PORT__ void port_systick_config(uint32_t cycle_per_tick)
|
||||
{
|
||||
@@ -32,8 +32,3 @@ __PORT__ void port_systick_config(uint32_t cycle_per_tick)
|
||||
*(volatile uint32_t *)(CLINT_CTRL_ADDR + CLINT_MTIMECMP + 4) = 0xFFFFFFFF & (mtimecmp >> 32);
|
||||
*(volatile uint32_t *)(CLINT_CTRL_ADDR + CLINT_MTIMECMP + 0) = 0xFFFFFFFF & (mtimecmp >> 0);
|
||||
}
|
||||
|
||||
__PORT__ void port_systick_priority_set(uint32_t prio)
|
||||
{
|
||||
|
||||
}
|
||||
|
@@ -23,6 +23,8 @@
|
||||
#define CLINT_MTIMECMP 0x4000
|
||||
#define CLINT_MTIME 0xBFF8
|
||||
|
||||
void riscv_cpu_init();
|
||||
void port_cpu_init();
|
||||
|
||||
void port_systick_priority_set(uint32_t priority);
|
||||
|
||||
#endif // _RISCV_PORT_H_
|
||||
|
@@ -1,3 +1,9 @@
|
||||
void riscv_cpu_init() {
|
||||
#include "tos.h"
|
||||
|
||||
__PORT__ void port_cpu_init() {
|
||||
// DO NOTHING
|
||||
}
|
||||
|
||||
__PORT__ void port_systick_priority_set(uint32_t priority) {
|
||||
// DO NOTHING
|
||||
}
|
||||
|
Reference in New Issue
Block a user