修改license header,修改driver目录下的SConscript。

This commit is contained in:
GFWisshit 2020-10-20 17:28:59 +08:00
parent 7f330c7b79
commit c1f4d6c691
15 changed files with 406 additions and 271 deletions

View File

@ -1,16 +1,22 @@
/* /*
* File : board.c Copyright 2020 Shenzhen Academy of Aerospace Technology
* This file is part of RT-Thread RTOS
* COPYRIGHT (C) 2020, Shenzhen Academy of Aerospace Technology Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* The license and distribution terms for this file may be You may obtain a copy of the License at
* found in the file LICENSE in this distribution or at
* http://www.rt-thread.org/license/LICENSE http://www.apache.org/licenses/LICENSE-2.0
*
* Change Logs: Unless required by applicable law or agreed to in writing, software
* Date Author Notes distributed under the License is distributed on an "AS IS" BASIS,
* 2020-10-16 Dystopia the first version WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
*/ See the License for the specific language governing permissions and
limitations under the License.
Change Logs:
Date Author Notes
2020-10-16 Dystopia the first version
*/
#include <rthw.h> #include <rthw.h>
#include <rtthread.h> #include <rtthread.h>
@ -21,7 +27,7 @@
extern int __bss_end; extern int __bss_end;
static void rt_hw_timer_isr(int vector, void* param) static void rt_hw_timer_isr(int vector, void *param)
{ {
rt_tick_increase(); rt_tick_increase();
/* timer interrupt cleared by hardware */ /* timer interrupt cleared by hardware */
@ -30,7 +36,7 @@ static void rt_hw_timer_isr(int vector, void* param)
int rt_hw_timer_init(void) int rt_hw_timer_init(void)
{ {
unsigned int counter = 1000000 / RT_TICK_PER_SECOND; unsigned int counter = 1000000 / RT_TICK_PER_SECOND;
volatile struct lregs *regs = (struct lregs*)PREGS; volatile struct lregs *regs = (struct lregs *)PREGS;
regs->scalercnt = CPU_FREQ / 1000000 - 1; regs->scalercnt = CPU_FREQ / 1000000 - 1;
regs->scalerload = CPU_FREQ / 1000000 - 1; regs->scalerload = CPU_FREQ / 1000000 - 1;
@ -52,7 +58,7 @@ INIT_BOARD_EXPORT(rt_hw_timer_init);
*/ */
void rt_hw_board_init(void) void rt_hw_board_init(void)
{ {
rt_system_heap_init((void*)&__bss_end, (void*)&__bss_end + 0x01000000); rt_system_heap_init((void *)&__bss_end, (void *)&__bss_end + 0x01000000);
rt_components_board_init(); rt_components_board_init();
rt_console_set_device(RT_CONSOLE_DEVICE_NAME); rt_console_set_device(RT_CONSOLE_DEVICE_NAME);
} }

View File

@ -1,16 +1,22 @@
/* /*
* File : board.h Copyright 2020 Shenzhen Academy of Aerospace Technology
* This file is part of RT-Thread RTOS
* COPYRIGHT (C) 2020, Shenzhen Academy of Aerospace Technology Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* The license and distribution terms for this file may be You may obtain a copy of the License at
* found in the file LICENSE in this distribution or at
* http://www.rt-thread.org/license/LICENSE http://www.apache.org/licenses/LICENSE-2.0
*
* Change Logs: Unless required by applicable law or agreed to in writing, software
* Date Author Notes distributed under the License is distributed on an "AS IS" BASIS,
* 2020-10-16 Dystopia the first version WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
*/ See the License for the specific language governing permissions and
limitations under the License.
Change Logs:
Date Author Notes
2020-10-16 Dystopia the first version
*/
#ifndef __BOARD_H__ #ifndef __BOARD_H__
#define __BOARD_H__ #define __BOARD_H__

View File

@ -1,3 +1,23 @@
/*
Copyright 2020 Shenzhen Academy of Aerospace Technology
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Change Logs:
Date Author Notes
2020-10-16 Dystopia the first version
*/
#include <stdint.h> #include <stdint.h>
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>

View File

@ -5,18 +5,7 @@ from building import *
cwd = GetCurrentDir() cwd = GetCurrentDir()
src = Glob('*.c') src = Glob('*.c')
# remove no need file.
if GetDepend('RT_USING_LWIP') == False:
src_need_remove = ['dm9000.c'] # need remove file list.
SrcRemove(src, src_need_remove)
if GetDepend('RT_USING_DFS') == False:
src_need_remove = ['sd.c'] # need remove file list.
SrcRemove(src, src_need_remove)
CPPPATH = [cwd] CPPPATH = [cwd]
group = DefineGroup('Drivers', src, depend = [''], CPPPATH = CPPPATH) group = DefineGroup('Drivers', src, depend = [''], CPPPATH = CPPPATH)
Return('group') Return('group')

View File

@ -1,16 +1,22 @@
/* /*
* File : serial.c Copyright 2020 Shenzhen Academy of Aerospace Technology
* This file is part of RT-Thread RTOS
* COPYRIGHT (C) 2020, Shenzhen Academy of Aerospace Technology Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* The license and distribution terms for this file may be You may obtain a copy of the License at
* found in the file LICENSE in this distribution or at
* http://www.rt-thread.org/license/LICENSE http://www.apache.org/licenses/LICENSE-2.0
*
* Change Logs: Unless required by applicable law or agreed to in writing, software
* Date Author Notes distributed under the License is distributed on an "AS IS" BASIS,
* 2020-10-16 Dystopia the first version WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
*/ See the License for the specific language governing permissions and
limitations under the License.
Change Logs:
Date Author Notes
2020-10-16 Dystopia the first version
*/
#include <rthw.h> #include <rthw.h>
#include <rtthread.h> #include <rtthread.h>
@ -27,13 +33,13 @@ struct bm3803_uart
int irq; int irq;
}; };
static void bm3803_uart_isr(int tt, void* param) static void bm3803_uart_isr(int tt, void *param)
{ {
struct bm3803_uart* uart; struct bm3803_uart *uart;
struct rt_serial_device *serial; struct rt_serial_device *serial;
struct uart_reg* uart_base; struct uart_reg *uart_base;
serial = (struct rt_serial_device*)param; serial = (struct rt_serial_device *)param;
uart = (struct bm3803_uart *)serial->parent.user_data; uart = (struct bm3803_uart *)serial->parent.user_data;
uart_base = uart->uart_base; uart_base = uart->uart_base;
@ -47,8 +53,8 @@ static void bm3803_uart_isr(int tt, void* param)
static rt_err_t bm3803_configure(struct rt_serial_device *serial, struct serial_configure *cfg) static rt_err_t bm3803_configure(struct rt_serial_device *serial, struct serial_configure *cfg)
{ {
struct bm3803_uart* uart; struct bm3803_uart *uart;
struct uart_reg* uart_base; struct uart_reg *uart_base;
RT_ASSERT(serial != RT_NULL); RT_ASSERT(serial != RT_NULL);
uart = (struct bm3803_uart *)serial->parent.user_data; uart = (struct bm3803_uart *)serial->parent.user_data;
@ -75,7 +81,7 @@ static rt_err_t bm3803_configure(struct rt_serial_device *serial, struct serial_
static rt_err_t bm3803_control(struct rt_serial_device *serial, int cmd, void *arg) static rt_err_t bm3803_control(struct rt_serial_device *serial, int cmd, void *arg)
{ {
struct bm3803_uart* uart; struct bm3803_uart *uart;
RT_ASSERT(serial != RT_NULL); RT_ASSERT(serial != RT_NULL);
uart = (struct bm3803_uart *)serial->parent.user_data; uart = (struct bm3803_uart *)serial->parent.user_data;
@ -97,8 +103,8 @@ static rt_err_t bm3803_control(struct rt_serial_device *serial, int cmd, void *a
static int bm3803_putc(struct rt_serial_device *serial, char c) static int bm3803_putc(struct rt_serial_device *serial, char c)
{ {
struct bm3803_uart* uart; struct bm3803_uart *uart;
struct uart_reg* uart_base; struct uart_reg *uart_base;
RT_ASSERT(serial != RT_NULL); RT_ASSERT(serial != RT_NULL);
uart = (struct bm3803_uart *)serial->parent.user_data; uart = (struct bm3803_uart *)serial->parent.user_data;
@ -113,8 +119,8 @@ static int bm3803_putc(struct rt_serial_device *serial, char c)
static int bm3803_getc(struct rt_serial_device *serial) static int bm3803_getc(struct rt_serial_device *serial)
{ {
int ch; int ch;
struct bm3803_uart* uart; struct bm3803_uart *uart;
struct uart_reg* uart_base; struct uart_reg *uart_base;
RT_ASSERT(serial != RT_NULL); RT_ASSERT(serial != RT_NULL);
uart = (struct bm3803_uart *)serial->parent.user_data; uart = (struct bm3803_uart *)serial->parent.user_data;
@ -141,7 +147,7 @@ static const struct rt_uart_ops bm3803_uart_ops =
#ifdef RT_USING_UART1 #ifdef RT_USING_UART1
struct bm3803_uart uart1 = struct bm3803_uart uart1 =
{ {
(void*)UART1_BASE, (void *)UART1_BASE,
UART1_TT, UART1_TT,
}; };
struct rt_serial_device serial1; struct rt_serial_device serial1;
@ -152,7 +158,7 @@ int rt_hw_serial_init(void)
struct serial_configure config = RT_SERIAL_CONFIG_DEFAULT; struct serial_configure config = RT_SERIAL_CONFIG_DEFAULT;
#ifdef RT_USING_UART1 #ifdef RT_USING_UART1
volatile struct lregs *regs = (struct lregs*)PREGS; volatile struct lregs *regs = (struct lregs *)PREGS;
serial1.ops = &bm3803_uart_ops; serial1.ops = &bm3803_uart_ops;
serial1.config = config; serial1.config = config;
/* configure gpio direction */ /* configure gpio direction */

View File

@ -1,16 +1,22 @@
/* /*
* File : serial.h Copyright 2020 Shenzhen Academy of Aerospace Technology
* This file is part of RT-Thread RTOS
* COPYRIGHT (C) 2020, Shenzhen Academy of Aerospace Technology Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* The license and distribution terms for this file may be You may obtain a copy of the License at
* found in the file LICENSE in this distribution or at
* http://www.rt-thread.org/license/LICENSE http://www.apache.org/licenses/LICENSE-2.0
*
* Change Logs: Unless required by applicable law or agreed to in writing, software
* Date Author Notes distributed under the License is distributed on an "AS IS" BASIS,
* 2020-10-16 Dystopia the first version WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
*/ See the License for the specific language governing permissions and
limitations under the License.
Change Logs:
Date Author Notes
2020-10-16 Dystopia the first version
*/
#ifndef __SERIAL_H__ #ifndef __SERIAL_H__
#define __SERIAL_H__ #define __SERIAL_H__

View File

@ -1,3 +1,23 @@
/*
Copyright 2020 Shenzhen Academy of Aerospace Technology
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Change Logs:
Date Author Notes
2020-10-16 Dystopia the first version
*/
#ifndef SERIAL_REG_H #ifndef SERIAL_REG_H
#define SERIAL_REG_H #define SERIAL_REG_H

View File

@ -1,12 +1,23 @@
/* /*
* Copyright (c) 2020, Shenzhen Academy of Aerospace Technology Copyright 2020 Shenzhen Academy of Aerospace Technology
*
* SPDX-License-Identifier: Apache-2.0 Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* Change Logs: You may obtain a copy of the License at
* Date Author Notes
* 2020-10-16 Dystopia the first version http://www.apache.org/licenses/LICENSE-2.0
*/
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Change Logs:
Date Author Notes
2020-10-16 Dystopia the first version
*/
#ifndef __BM3803_H__ #ifndef __BM3803_H__
#define __BM3803_H__ #define __BM3803_H__

View File

@ -1,12 +1,22 @@
/* /*
* Copyright (c) 2020, Shenzhen Academy of Aerospace Technology Copyright 2020 Shenzhen Academy of Aerospace Technology
*
* SPDX-License-Identifier: Apache-2.0 Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* Change Logs: You may obtain a copy of the License at
* Date Author Notes
* 2020-10-16 Dystopia the first version http://www.apache.org/licenses/LICENSE-2.0
*/
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Change Logs:
Date Author Notes
2020-10-16 Dystopia the first version
*/
#define SPARC_PSR_PIL_MASK 0x00000F00 #define SPARC_PSR_PIL_MASK 0x00000F00
#define SPARC_PSR_ET_MASK 0x00000020 #define SPARC_PSR_ET_MASK 0x00000020

View File

@ -1,12 +1,22 @@
/* /*
* Copyright (c) 2020, Shenzhen Academy of Aerospace Technology Copyright 2020 Shenzhen Academy of Aerospace Technology
*
* SPDX-License-Identifier: Apache-2.0 Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* Change Logs: You may obtain a copy of the License at
* Date Author Notes
* 2020-10-16 Dystopia the first version http://www.apache.org/licenses/LICENSE-2.0
*/
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Change Logs:
Date Author Notes
2020-10-16 Dystopia the first version
*/
#include <rthw.h> #include <rthw.h>
#include <rtthread.h> #include <rtthread.h>
@ -45,7 +55,7 @@ void rt_hw_interrupt_mask(int vector)
{ {
if (vector > 0x1F || vector < 0x11) if (vector > 0x1F || vector < 0x11)
return; return;
volatile struct lregs *regs = (struct lregs*)PREGS; volatile struct lregs *regs = (struct lregs *)PREGS;
regs->irqmask &= ~(1 << (vector - 0x10)); regs->irqmask &= ~(1 << (vector - 0x10));
} }
@ -57,7 +67,7 @@ void rt_hw_interrupt_umask(int vector)
{ {
if (vector > 0x1F || vector < 0x11) if (vector > 0x1F || vector < 0x11)
return; return;
volatile struct lregs *regs = (struct lregs*)PREGS; volatile struct lregs *regs = (struct lregs *)PREGS;
regs->irqmask |= 1 << (vector - 0x10); regs->irqmask |= 1 << (vector - 0x10);
} }
@ -72,7 +82,7 @@ rt_isr_handler_t rt_hw_interrupt_install(int vector, rt_isr_handler_t handler,
{ {
rt_isr_handler_t old_handler = RT_NULL; rt_isr_handler_t old_handler = RT_NULL;
if(vector < MAX_HANDLERS || vector >= 0) if (vector < MAX_HANDLERS || vector >= 0)
{ {
old_handler = isr_table[vector].handler; old_handler = isr_table[vector].handler;

View File

@ -1,12 +1,22 @@
/* /*
* Copyright (c) 2020, Shenzhen Academy of Aerospace Technology Copyright 2020 Shenzhen Academy of Aerospace Technology
*
* SPDX-License-Identifier: Apache-2.0 Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* Change Logs: You may obtain a copy of the License at
* Date Author Notes
* 2020-10-16 Dystopia the first version http://www.apache.org/licenses/LICENSE-2.0
*/
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Change Logs:
Date Author Notes
2020-10-16 Dystopia the first version
*/
#ifndef __INTERRUPT_H__ #ifndef __INTERRUPT_H__
#define __INTERRUPT_H__ #define __INTERRUPT_H__

View File

@ -1,12 +1,23 @@
/* /*
* Copyright (c) 2020, Shenzhen Academy of Aerospace Technology Copyright 2020 Shenzhen Academy of Aerospace Technology
*
* SPDX-License-Identifier: Apache-2.0 Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* Change Logs: You may obtain a copy of the License at
* Date Author Notes
* 2020-10-16 Dystopia the first version http://www.apache.org/licenses/LICENSE-2.0
*/
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Change Logs:
Date Author Notes
2020-10-16 Dystopia the first version
*/
#include <rtthread.h> #include <rtthread.h>
/** /**

View File

@ -1,12 +1,22 @@
/* /*
* Copyright (c) 2020, Shenzhen Academy of Aerospace Technology Copyright 2020 Shenzhen Academy of Aerospace Technology
*
* SPDX-License-Identifier: Apache-2.0 Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* Change Logs: You may obtain a copy of the License at
* Date Author Notes
* 2020-10-16 Dystopia the first version http://www.apache.org/licenses/LICENSE-2.0
*/
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Change Logs:
Date Author Notes
2020-10-16 Dystopia the first version
*/
#define PSR_INIT 0x10C0 #define PSR_INIT 0x10C0
#define PREGS 0x80000000 #define PREGS 0x80000000

View File

@ -1,12 +1,22 @@
/* /*
* Copyright (c) 2020, Shenzhen Academy of Aerospace Technology Copyright 2020 Shenzhen Academy of Aerospace Technology
*
* SPDX-License-Identifier: Apache-2.0 Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* Change Logs: You may obtain a copy of the License at
* Date Author Notes
* 2020-10-16 Dystopia the first version http://www.apache.org/licenses/LICENSE-2.0
*/
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Change Logs:
Date Author Notes
2020-10-16 Dystopia the first version
*/
#include <rtthread.h> #include <rtthread.h>
#include <rthw.h> #include <rthw.h>

View File

@ -1,12 +1,22 @@
/* /*
* Copyright (c) 2020, Shenzhen Academy of Aerospace Technology Copyright 2020 Shenzhen Academy of Aerospace Technology
*
* SPDX-License-Identifier: Apache-2.0 Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* Change Logs: You may obtain a copy of the License at
* Date Author Notes
* 2020-10-16 Dystopia the first version http://www.apache.org/licenses/LICENSE-2.0
*/
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Change Logs:
Date Author Notes
2020-10-16 Dystopia the first version
*/
#define TRAPL(H) mov %g0, %l0; sethi %hi(H), %l4; jmp %l4 + %lo(H); nop; #define TRAPL(H) mov %g0, %l0; sethi %hi(H), %l4; jmp %l4 + %lo(H); nop;
#define TRAP(H) mov %psr, %l0; sethi %hi(H), %l4; jmp %l4 + %lo(H); nop; #define TRAP(H) mov %psr, %l0; sethi %hi(H), %l4; jmp %l4 + %lo(H); nop;