Repair compilability of code
This commit is contained in:
parent
a0c215e954
commit
a93f257f2e
|
@ -29,7 +29,6 @@ SOURCE_FILES = \
|
|||
leos/leos.c \
|
||||
leos/log.c \
|
||||
leos/memory.c \
|
||||
leos/scheduler.c \
|
||||
leos/task.c \
|
||||
\
|
||||
drivers/timer/timer.c \
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
#include "AArch64_irq.h"
|
||||
#include "aarch64_irq.h"
|
||||
|
||||
.globl AArch64_init
|
||||
AArch64_init:
|
||||
|
@ -15,19 +15,19 @@ AArch64_getEL:
|
|||
ret
|
||||
|
||||
.globl AArch64_getReg32
|
||||
AArch64_get32r:
|
||||
AArch64_getReg32:
|
||||
ldr w0, [x0]
|
||||
ret
|
||||
|
||||
.globl AArch64_setReg32
|
||||
AArch64_set32r:
|
||||
AArch64_setReg32:
|
||||
str w1, [x0]
|
||||
ret
|
||||
|
||||
.globl AArch64_idle
|
||||
AArch64_idle:
|
||||
subs x0, x0, 1
|
||||
bne AArch64_delay
|
||||
bne AArch64_idle
|
||||
ret
|
||||
|
||||
/*
|
||||
|
|
|
@ -35,7 +35,7 @@ set_stack:
|
|||
mov sp, x30
|
||||
bl skip
|
||||
skip:
|
||||
bl k_main
|
||||
bl Leos_run
|
||||
hang: b hang
|
||||
|
||||
|
||||
|
|
|
@ -14,28 +14,40 @@
|
|||
*/
|
||||
|
||||
#include <aarch64/aarch64.h>
|
||||
#include <aarch64/bcm2837.h>
|
||||
#include <drivers/soc/bcm2837/bcm2837.h>
|
||||
#include <leos/log.h>
|
||||
#include "timer.h"
|
||||
#include "log.h"
|
||||
|
||||
const unsigned int m_interval = 200000;
|
||||
unsigned int m_current = 0;
|
||||
|
||||
#ifndef CONFIG_ARM_TIMER
|
||||
#define CONFIG_ARM_TIMER 1
|
||||
#endif
|
||||
|
||||
void
|
||||
k_timer_init(void)
|
||||
Timer_init(void)
|
||||
{
|
||||
#if CONFIG_ARM_TIMER == 1
|
||||
#else
|
||||
m_current = aarch64_get32r(TIMER_CLO);
|
||||
m_current += m_interval;
|
||||
aarch64_set32r(TIMER_C1, m_current);
|
||||
#endif
|
||||
}
|
||||
|
||||
void
|
||||
k_timer_irq_handler(void)
|
||||
Timer_incFromISR(void)
|
||||
{
|
||||
#if CONFIG_ARM_TIMER == 1
|
||||
|
||||
#else
|
||||
m_current += m_interval;
|
||||
aarch64_set32r(TIMER_C1, m_current);
|
||||
aarch64_set32r(TIMER_CS, TIMER_CS_M1);
|
||||
k_logs("Timer: ");
|
||||
k_logu(m_current, 10);
|
||||
k_logs("\r\n");
|
||||
#endif
|
||||
Log_putS("Timer: ");
|
||||
Log_putI(m_current, 10);
|
||||
Log_putS("\r\n");
|
||||
}
|
||||
|
||||
|
|
|
@ -17,9 +17,9 @@
|
|||
#define TIMER_H_8D327261_47D6_4832_8DC5_31BF1614A21F
|
||||
|
||||
void
|
||||
k_timer_init(void);
|
||||
Timer_init(void);
|
||||
|
||||
void
|
||||
k_timer_irq_handler(void);
|
||||
Timer_incFromISR(void);
|
||||
|
||||
#endif /* !TIMER_H */
|
||||
|
|
|
@ -14,9 +14,9 @@
|
|||
*/
|
||||
|
||||
#include <aarch64/aarch64.h>
|
||||
#include <aarch64/bcm2837.h>
|
||||
#include <drivers/soc/bcm2837/bcm2837.h>
|
||||
|
||||
#include "UARTMini.h"
|
||||
#include "uart_mini.h"
|
||||
|
||||
|
||||
int
|
||||
|
@ -49,9 +49,9 @@ UARTMini_init(void)
|
|||
AArch64_setReg32(GPFSEL1, sel);
|
||||
|
||||
AArch64_setReg32(GPPUD, 0);
|
||||
AArch64_delay(150);
|
||||
AArch64_idle(150);
|
||||
AArch64_setReg32(GPPUDCLK0, (1 << 14) | (1 << 15));
|
||||
AArch64_delay(150);
|
||||
AArch64_idle(150);
|
||||
AArch64_setReg32(GPPUDCLK0, 0);
|
||||
|
||||
/* Enable TX and RX */
|
||||
|
|
|
@ -18,6 +18,6 @@
|
|||
|
||||
#include <aarch64/aarch64.h>
|
||||
|
||||
#define k_arch_init(...) aarch64_init(__VA_ARGS__)
|
||||
#define Arch_init(...) AArch64_init(__VA_ARGS__)
|
||||
|
||||
#endif /* !ARCH_H */
|
||||
|
|
|
@ -13,8 +13,8 @@
|
|||
* @see https://lowenware.com/
|
||||
*/
|
||||
|
||||
#include <aarch64/bcm2837.h>
|
||||
#include "timer.h"
|
||||
#include <drivers/soc/bcm2837/bcm2837.h>
|
||||
#include <drivers/timer/timer.h>
|
||||
#include "log.h"
|
||||
#include "task.h"
|
||||
#include "irq.h"
|
||||
|
|
|
@ -16,8 +16,8 @@
|
|||
#include <leos/log.h>
|
||||
#include <leos/arch.h>
|
||||
#include <leos/irq.h>
|
||||
#include <leos/timer.h>
|
||||
#include <leos/leos.h>
|
||||
#include <drivers/timer/timer.h>
|
||||
|
||||
|
||||
void
|
||||
|
@ -29,7 +29,7 @@ Leos_run(void)
|
|||
Log_putI(AArch64_getEL(), 10);
|
||||
Log_putS(")\r\n");
|
||||
|
||||
Arch_init();
|
||||
AArch64_init();
|
||||
|
||||
Timer_init();
|
||||
IRQ_init();
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
* @see https://lowenware.com/
|
||||
*/
|
||||
|
||||
#include <device/uart/uart.h>
|
||||
#include <drivers/uart/uart.h>
|
||||
#include "log.h"
|
||||
|
||||
void
|
||||
|
@ -28,7 +28,7 @@ Log_putS(const char *string)
|
|||
char c;
|
||||
const char *p = string;
|
||||
while((c = *p) != 0) {
|
||||
if (UART_send(c))
|
||||
if (UART_put(c))
|
||||
return -1;
|
||||
p++;
|
||||
}
|
||||
|
@ -41,14 +41,14 @@ Log_putI(int64_t value, uint8_t base)
|
|||
int result;
|
||||
|
||||
if (value < 0) {
|
||||
if (UART_send('-'))
|
||||
if (UART_put('-'))
|
||||
return -1;
|
||||
value = -value;
|
||||
result = 1;
|
||||
} else {
|
||||
result = 0;
|
||||
}
|
||||
result += k_logu(value, base);
|
||||
result += Log_putU(value, base);
|
||||
return (result) ? result : -1;
|
||||
}
|
||||
|
||||
|
@ -59,7 +59,7 @@ Log_putU(uint64_t value, uint8_t base)
|
|||
char buffer[64];
|
||||
|
||||
if (!value) {
|
||||
return (UART_send('0')) ? -1 : 1;
|
||||
return (UART_put('0')) ? -1 : 1;
|
||||
}
|
||||
|
||||
do {
|
||||
|
@ -75,7 +75,7 @@ Log_putU(uint64_t value, uint8_t base)
|
|||
result = i;
|
||||
|
||||
while (i--) {
|
||||
if (UART_send(buffer[i]))
|
||||
if (UART_put(buffer[i]))
|
||||
return -1;
|
||||
}
|
||||
return result;
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
#ifndef LOG_H_AE38CD54_2822_47A5_AFB1_E785739FA01D
|
||||
#define LOG_H_AE38CD54_2822_47A5_AFB1_E785739FA01D
|
||||
|
||||
#include <core/types.h>
|
||||
#include <leos/types.h>
|
||||
|
||||
void
|
||||
Log_init(void);
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
*/
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <aarch64/bcm2837.h>
|
||||
#include <drivers/soc/bcm2837/bcm2837.h>
|
||||
#include "memory.h"
|
||||
|
||||
static unsigned long m_map[MEMORY_PAGE_COUNT / sizeof(unsigned long) / 8] = {0,};
|
||||
|
|
|
@ -0,0 +1,23 @@
|
|||
/******************************************************************************
|
||||
*
|
||||
* Copyright (c) 2017-2020 by Löwenware Ltd
|
||||
* Please, refer LICENSE file for legal information
|
||||
*
|
||||
******************************************************************************/
|
||||
|
||||
/**
|
||||
* @file task.c
|
||||
* @author Ilja Kartašov <ik@lowenware.com>
|
||||
* @brief
|
||||
*
|
||||
* @see https://lowenware.com/
|
||||
*/
|
||||
|
||||
#include "task.h"
|
||||
|
||||
|
||||
unsigned long
|
||||
Task_scheduleFromISR(void)
|
||||
{
|
||||
return 0;
|
||||
}
|
|
@ -16,7 +16,11 @@
|
|||
#ifndef TASK_H_AE13C166_79B5_4256_ABF3_74DF04E1CD18
|
||||
#define TASK_H_AE13C166_79B5_4256_ABF3_74DF04E1CD18
|
||||
|
||||
#include <core/types.h>
|
||||
#include <leos/types.h>
|
||||
|
||||
#ifndef CONFIG_TASK_MAX_NAME_LEN
|
||||
#define CONFIG_TASK_MAX_NAME_LEN 16
|
||||
#endif
|
||||
|
||||
typedef void (*TaskCallback)(void *p_ctx);
|
||||
|
||||
|
@ -32,5 +36,7 @@ PID
|
|||
Task_create(struct Task *pTask, TaskCallback callback, uint64_t *stack
|
||||
, uint32_t stack_size);
|
||||
|
||||
unsigned long
|
||||
Task_scheduleFromISR(void);
|
||||
|
||||
#endif /* !TASK_H */
|
||||
|
|
Loading…
Reference in New Issue