From 360095ecb149cdca6eec2c9e92e978bca6462ab8 Mon Sep 17 00:00:00 2001 From: "zchongnari@gmail.com" Date: Sat, 26 Jun 2010 03:47:03 +0000 Subject: add sep4020 porting git-svn-id: https://rt-thread.googlecode.com/svn/trunk@776 bbd45198-f89e-11dd-88c7-29a3b14d5316 --- bsp/sep4020/Ext_SDRAM.ini | 40 + bsp/sep4020/Memory.ini | 14 + bsp/sep4020/application.c | 86 + bsp/sep4020/board.c | 140 ++ bsp/sep4020/board.h | 26 + bsp/sep4020/project.uvopt | 2957 ++++++++++++++++++++++++++++++++ bsp/sep4020/project.uvproj | 1007 +++++++++++ bsp/sep4020/rtconfig.h | 150 ++ bsp/sep4020/rtthread-sep4020-rom.sct | 15 + bsp/sep4020/rtthread-sep4020-sdram.sct | 15 + bsp/sep4020/sep4020.h | 637 +++++++ bsp/sep4020/startup.c | 132 ++ 12 files changed, 5219 insertions(+) create mode 100644 bsp/sep4020/Ext_SDRAM.ini create mode 100644 bsp/sep4020/Memory.ini create mode 100644 bsp/sep4020/application.c create mode 100644 bsp/sep4020/board.c create mode 100644 bsp/sep4020/board.h create mode 100644 bsp/sep4020/project.uvopt create mode 100644 bsp/sep4020/project.uvproj create mode 100644 bsp/sep4020/rtconfig.h create mode 100644 bsp/sep4020/rtthread-sep4020-rom.sct create mode 100644 bsp/sep4020/rtthread-sep4020-sdram.sct create mode 100644 bsp/sep4020/sep4020.h create mode 100644 bsp/sep4020/startup.c (limited to 'bsp') diff --git a/bsp/sep4020/Ext_SDRAM.ini b/bsp/sep4020/Ext_SDRAM.ini new file mode 100644 index 0000000000..19cb88911b --- /dev/null +++ b/bsp/sep4020/Ext_SDRAM.ini @@ -0,0 +1,40 @@ +/******************************************************************************/ +/* Ext_RAM.INI: External RAM (SDRAM) Initialization File */ +/******************************************************************************/ +// <<< Use Configuration Wizard in Context Menu >>> // +/******************************************************************************/ +/* This file is part of the uVision/ARM development tools. */ +/* Copyright (c) 2005-2008 Keil Software. All rights reserved. */ +/* This software may only be used under the terms of a valid, current, */ +/* end user licence from KEIL for a compatible version of KEIL software */ +/* development tools. Nothing else gives you the right to use this software. */ +/******************************************************************************/ + + +FUNC void SetupForStart (void) { + +// Program Entry Point + PC = 0x30000000; +} + + +FUNC void Init (void) { + + _WDWORD(0x1000200C, 0x00000000); // Disable Watchdog + + // Clock Setup + + _WDWORD(0x10001000, 0x00fa00fa); // + _WDWORD(0x10001014, 0x00000001); // + _WDWORD(0x10001004, 0x00004009); // + _WDWORD(0x10001004, 0x0000C009); // + _WDWORD(0x11000018, 0x1E104177); // + _WDWORD(0x1100001c, 0x80001860); // + + +} + +Init(); // Initialize memory +LOAD build\rtthread-sep4020.axf INCREMENTAL // Download program +SetupForStart(); // Setup for Running +g, main // Goto Main diff --git a/bsp/sep4020/Memory.ini b/bsp/sep4020/Memory.ini new file mode 100644 index 0000000000..205cc469ec --- /dev/null +++ b/bsp/sep4020/Memory.ini @@ -0,0 +1,14 @@ +/******************************************************************************/ +/* MEMORY.INI: Memory Debug Initialization File */ +/******************************************************************************/ +/* This file is part of the uVision/ARM development tools. */ +/* Copyright (c) 2005-2006 Keil Software. All rights reserved. */ +/* This software may only be used under the terms of a valid, current, */ +/* end user licence from KEIL for a compatible version of KEIL software */ +/* development tools. Nothing else gives you the right to use this software. */ +/******************************************************************************/ + +MAP 0x00000000,0x0000FFFF READ EXEC // External ROM +MAP 0x30000000,0x31FFFFFF READ WRITE // External RAM +MAP 0x10000000,0x11000000 READ WRITE +MAP 0x11000000,0x12000000 READ WRITE diff --git a/bsp/sep4020/application.c b/bsp/sep4020/application.c new file mode 100644 index 0000000000..5245e52346 --- /dev/null +++ b/bsp/sep4020/application.c @@ -0,0 +1,86 @@ +/* + * File : application.c + * This file is part of RT-Thread RTOS + * COPYRIGHT (C) 2006, RT-Thread Development Team + * + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rt-thread.org/license/LICENSE + * + * Change Logs: + * Date Author Notes + * 2009-01-05 Bernard the first version + */ + +/** + * @addtogroup SEP4020 + */ +/*@{*/ + +#include +#include "board.h" + +static void rt_thread_entry_led1(void* parameter) +{ + /* init led configuration */ + /* rt_hw_led_init(); */ + + while (1) + { + /* led on */ + //rt_kprintf("led1 on\r\n"); + GPIO_PORTE_DATA |= 0x1<<3; + rt_thread_delay(50); /* sleep 0.5 second and switch to other thread */ + + /* led off */ + //rt_kprintf("led1 off\r\n"); + GPIO_PORTE_DATA &= ~(0x1<<3); + rt_thread_delay(50); + } +} + +char thread_led2_stack[1024]; +struct rt_thread thread_led2; +void rt_thread_entry_led2(void* parameter) +{ + unsigned int count=0; + while (1) + { + /* led on */ + //rt_kprintf("led2 on,count : %d\r\n",count); + count++; + GPIO_PORTE_DATA |= 0x1<<4; + rt_thread_delay(RT_TICK_PER_SECOND); + + /* led off */ + //rt_kprintf("led2 off\r\n"); + GPIO_PORTE_DATA &= ~(0x1<<4); + rt_thread_delay(RT_TICK_PER_SECOND); + } +} + +int rt_application_init() +{ + rt_thread_t thread; + + /* create led1 thread */ + thread = rt_thread_create("led1", + rt_thread_entry_led1, RT_NULL, + 512, + 20, 5); + if (thread != RT_NULL) + rt_thread_startup(thread); + + //------- init led2 thread + rt_thread_init(&thread_led2, + "led2", + rt_thread_entry_led2, + RT_NULL, + &thread_led2_stack[0], + sizeof(thread_led2_stack),10,10); + rt_thread_startup(&thread_led2); + + return 0; +} + +/*@}*/ diff --git a/bsp/sep4020/board.c b/bsp/sep4020/board.c new file mode 100644 index 0000000000..162b491f25 --- /dev/null +++ b/bsp/sep4020/board.c @@ -0,0 +1,140 @@ +/* + * File : board.c + * This file is part of RT-Thread RTOS + * COPYRIGHT (C) 2006, RT-Thread Develop Team + * + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://openlab.rt-thread.com/license/LICENSE + * + * Change Logs: + * Date Author Notes + * 2006-08-23 Bernard first implementation + */ + +#include +#include + +#include +#include "board.h" +#include "serial.h" + +/** + * @addtogroup sep4020 + */ +/*@{*/ + +extern rt_uint32_t rt_hw_get_clock(void); + +/* uart0 */ +#define UART0 ((struct uartport *)UART0BASE) +struct serial_int_rx uart0_int_rx; +struct serial_device uart0 = +{ + UART0, + &uart0_int_rx, + RT_NULL +}; +struct rt_device uart0_device; +/** + * This is the timer interrupt service routine. + * @param vector the irq number for timer + */ +void rt_hw_timer_handler(int vector) +{ + /* clear interrupt */ + TIMER_T1ISCR; + /* increase a tick */ + rt_tick_increase(); +} + +/** + * This is the uart0 interrupt service routine. + * @param vector the irq number for uart0 + */ +void rt_serial_handler(int vector) +{ + rt_hw_serial_isr(&uart0_device); +} + +/** + * This function will handle init uart. + */ +void rt_hw_uart_init(void) +{ + rt_uint32_t baud; + rt_uint32_t sysclock; + + sysclock = rt_hw_get_clock(); + /* caculate baud rate register */ + baud = sysclock/16/BR; + + /* LCR */ + uart0.uart_device->lcr = 0x83; + /* DLBH, IER */ + uart0.uart_device->dlbh_ier = (baud>>8)&0xff;; + /* DLBL */ + uart0.uart_device->dlbl_rxfifo_txfifo = baud&0xff; + /* LCR */ + uart0.uart_device->lcr = 0x03; + /* IER */ + uart0.uart_device->dlbh_ier = 0x01; + /* FCR */ + uart0.uart_device->iir_fcr = 0x00; + + rt_hw_serial_register(&uart0_device, "uart0", + RT_DEVICE_FLAG_RDWR | RT_DEVICE_FLAG_INT_RX | RT_DEVICE_FLAG_STREAM, + &uart0); + /* install uart isr */ + INTC_IER |= (1< +#include +#include + +#define BR 115200 /* Baud Rate */ + +void rt_hw_board_init(void); + +#endif diff --git a/bsp/sep4020/project.uvopt b/bsp/sep4020/project.uvopt new file mode 100644 index 0000000000..b93f867bef --- /dev/null +++ b/bsp/sep4020/project.uvopt @@ -0,0 +1,2957 @@ + + + + 1.0 + +
### uVision Project, (C) Keil Software
+ + + *.c + *.s*; *.src; *.a* + *.obj + *.lib + *.txt; *.h; *.inc + *.plm + *.cpp + + + + 0 + 0 + + + + RT-Thread/SEP4020 + 0x4 + ARM-ADS + + 14745600 + + 1 + 1 + 1 + 0 + + + 1 + 65535 + 0 + 0 + 0 + + + 79 + 66 + 8 + .\build\ + + + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 0 + 0 + 0 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + + + 1 + 0 + 1 + + 0 + + SARM.DLL + + DARMSH.DLL + + SARM.DLL + + TARMSH.DLL + + + + 0 + 1 + 1 + 0 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + 1 + 1 + 0 + 1 + 0 + 0 + 6 + + + + + .\Memory.ini + + + + + .\Ext_SDRAM.ini + Segger\JLTAgdi.dll + + + + 0 + DLGTARM + + + + 0 + ARMDBGFLAGS + + + + 0 + JLTDLG + + + + 0 + JLTAgdi + + + + + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + + bsp + 1 + 0 + 0 + + 1 + 1 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + .\rtconfig.h + rtconfig.h + + + 1 + 2 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + .\application.c + application.c + + + 1 + 3 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + .\board.c + board.c + + + 1 + 4 + 1 + 0 + 0 + 0 + 0 + 113 + 120 + 0 + .\startup.c + startup.c + + + + + kernel + 1 + 0 + 0 + + 2 + 5 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\src\clock.c + clock.c + + + 2 + 6 + 1 + 0 + 0 + 0 + 0 + 57 + 65 + 0 + ..\..\src\idle.c + idle.c + + + 2 + 7 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\src\ipc.c + ipc.c + + + 2 + 8 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\src\irq.c + irq.c + + + 2 + 9 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\src\kservice.c + kservice.c + + + 2 + 10 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\src\mem.c + mem.c + + + 2 + 11 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\src\mempool.c + mempool.c + + + 2 + 12 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\src\object.c + object.c + + + 2 + 13 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\src\timer.c + timer.c + + + 2 + 14 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\src\scheduler.c + scheduler.c + + + 2 + 15 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\src\slab.c + slab.c + + + 2 + 16 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\src\thread.c + thread.c + + + 2 + 17 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\src\device.c + device.c + + + + + sep4020 + 0 + 0 + 0 + + 3 + 18 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + E:\temp\rt-thread-sep4020\libcpu\arm\sep4020\interrupt.c + interrupt.c + + + 3 + 19 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + E:\temp\rt-thread-sep4020\libcpu\arm\sep4020\stack.c + stack.c + + + 3 + 20 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + E:\temp\rt-thread-sep4020\libcpu\arm\sep4020\trap.c + trap.c + + + 3 + 21 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + E:\temp\rt-thread-sep4020\libcpu\arm\sep4020\cpu.c + cpu.c + + + 3 + 22 + 2 + 0 + 0 + 0 + 0 + 87 + 94 + 0 + E:\temp\rt-thread-sep4020\libcpu\arm\sep4020\start_rvds.S + start_rvds.S + + + 3 + 23 + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + E:\temp\rt-thread-sep4020\libcpu\arm\sep4020\context_rvds.S + context_rvds.S + + + 3 + 24 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\libcpu\arm\sep4020\clk.c + clk.c + + + 3 + 25 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\libcpu\arm\sep4020\serial.c + serial.c + + + 3 + 26 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\libcpu\arm\sep4020\serial.h + serial.h + + + + + finsh + 0 + 0 + 0 + + 4 + 27 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\components\finsh\cmd.c + cmd.c + + + 4 + 28 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\components\finsh\finsh_compiler.c + finsh_compiler.c + + + 4 + 29 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\components\finsh\finsh_error.c + finsh_error.c + + + 4 + 30 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\components\finsh\finsh_heap.c + finsh_heap.c + + + 4 + 31 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\components\finsh\finsh_init.c + finsh_init.c + + + 4 + 32 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\components\finsh\finsh_node.c + finsh_node.c + + + 4 + 33 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\components\finsh\finsh_ops.c + finsh_ops.c + + + 4 + 34 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\components\finsh\finsh_parser.c + finsh_parser.c + + + 4 + 35 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\components\finsh\finsh_token.c + finsh_token.c + + + 4 + 36 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\components\finsh\finsh_var.c + finsh_var.c + + + 4 + 37 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\components\finsh\finsh_vm.c + finsh_vm.c + + + 4 + 38 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\components\finsh\shell.c + shell.c + + + 4 + 39 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\components\finsh\symbol.c + symbol.c + + + + + lwip + 0 + 0 + 0 + + 5 + 40 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\net\lwip\src\core\dhcp.c + dhcp.c + + + 5 + 41 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\net\lwip\src\core\dns.c + dns.c + + + 5 + 42 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\net\lwip\src\core\init.c + init.c + + + 5 + 43 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\net\lwip\src\core\netif.c + netif.c + + + 5 + 44 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\net\lwip\src\core\pbuf.c + pbuf.c + + + 5 + 45 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\net\lwip\src\core\raw.c + raw.c + + + 5 + 46 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\net\lwip\src\core\stats.c + stats.c + + + 5 + 47 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\net\lwip\src\core\sys.c + sys.c + + + 5 + 48 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\net\lwip\src\core\tcp.c + tcp.c + + + 5 + 49 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\net\lwip\src\core\tcp_in.c + tcp_in.c + + + 5 + 50 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\net\lwip\src\core\tcp_out.c + tcp_out.c + + + 5 + 51 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\net\lwip\src\core\udp.c + udp.c + + + 5 + 52 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\net\lwip\src\core\ipv4\autoip.c + autoip.c + + + 5 + 53 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\net\lwip\src\core\ipv4\icmp.c + icmp.c + + + 5 + 54 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\net\lwip\src\core\ipv4\igmp.c + igmp.c + + + 5 + 55 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\net\lwip\src\core\ipv4\inet.c + inet.c + + + 5 + 56 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\net\lwip\src\core\ipv4\inet_chksum.c + inet_chksum.c + + + 5 + 57 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\net\lwip\src\core\ipv4\ip.c + ip.c + + + 5 + 58 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\net\lwip\src\core\ipv4\ip_addr.c + ip_addr.c + + + 5 + 59 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\net\lwip\src\core\ipv4\ip_frag.c + ip_frag.c + + + 5 + 60 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\net\lwip\src\core\snmp\asn1_dec.c + asn1_dec.c + + + 5 + 61 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\net\lwip\src\core\snmp\asn1_enc.c + asn1_enc.c + + + 5 + 62 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\net\lwip\src\core\snmp\mib2.c + mib2.c + + + 5 + 63 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\net\lwip\src\core\snmp\mib_structs.c + mib_structs.c + + + 5 + 64 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\net\lwip\src\core\snmp\msg_in.c + msg_in.c + + + 5 + 65 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\net\lwip\src\core\snmp\msg_out.c + msg_out.c + + + 5 + 66 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\net\lwip\src\api\api_lib.c + api_lib.c + + + 5 + 67 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\net\lwip\src\api\api_msg.c + api_msg.c + + + 5 + 68 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\net\lwip\src\api\err.c + err.c + + + 5 + 69 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\net\lwip\src\api\netbuf.c + netbuf.c + + + 5 + 70 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\net\lwip\src\api\netdb.c + netdb.c + + + 5 + 71 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\net\lwip\src\api\netifapi.c + netifapi.c + + + 5 + 72 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\net\lwip\src\api\tcpip.c + tcpip.c + + + 5 + 73 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\net\lwip\src\netif\etharp.c + etharp.c + + + 5 + 74 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\net\lwip\src\netif\ethernetif.c + ethernetif.c + + + 5 + 75 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\net\lwip\src\netif\loopif.c + loopif.c + + + 5 + 76 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\net\lwip\src\arch\sys_arch_init.c + sys_arch_init.c + + + 5 + 77 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\net\lwip\src\arch\sys_arch.c + sys_arch.c + + + 5 + 78 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\net\lwip\src\api\sockets.c + sockets.c + + + 5 + 79 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\net\lwip\src\core\memp.c + memp.c + + + + + filesystem + 0 + 0 + 0 + + 6 + 80 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\filesystem\dfs\src\dfs_util.c + dfs_util.c + + + 6 + 81 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\filesystem\dfs\src\dfs_cache.c + dfs_cache.c + + + 6 + 82 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\filesystem\dfs\src\dfs_fs.c + dfs_fs.c + + + 6 + 83 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\filesystem\dfs\src\dfs_init.c + dfs_init.c + + + 6 + 84 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\filesystem\dfs\src\dfs_raw.c + dfs_raw.c + + + 6 + 85 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\filesystem\dfs\src\dfs_posix.c + dfs_posix.c + + + 6 + 86 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\filesystem\dfs\filesystems\efsl\src\base\plibc.c + plibc.c + + + 6 + 87 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\filesystem\dfs\filesystems\efsl\src\base\efs.c + efs.c + + + 6 + 88 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\filesystem\dfs\filesystems\efsl\src\base\extract.c + extract.c + + + 6 + 89 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\filesystem\dfs\filesystems\efsl\src\base\partition.c + partition.c + + + 6 + 90 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\filesystem\dfs\filesystems\efsl\src\fs\vfat\ui.c + ui.c + + + 6 + 91 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\filesystem\dfs\filesystems\efsl\src\fs\vfat\dir.c + dir.c + + + 6 + 92 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\filesystem\dfs\filesystems\efsl\src\fs\vfat\fat.c + fat.c + + + 6 + 93 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\filesystem\dfs\filesystems\efsl\src\fs\vfat\file.c + file.c + + + 6 + 94 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\filesystem\dfs\filesystems\efsl\src\fs\vfat\fs.c + fs.c + + + 6 + 95 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\filesystem\dfs\filesystems\efsl\src\fs\vfat\ls.c + ls.c + + + 6 + 96 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\filesystem\dfs\filesystems\efsl\src\fs\vfat\time.c + time.c + + + + + E:\rt-thread\src\kservice.h + 1 + 1 + 0 + + 0 + 0 + 0 + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + + + + Default + 1 + Build + 0 + + Default + 1 + + 35824 + 1 + Logic Analyzer + 0 + + 0 + + 1 + 6 + 0 + 0 + 0 + 0 + 210 + 600 + 0 + 0 + 250 + 600 + 1 + 0 + 0 + 0 + + + 59392 + 2 + File + 0 + + 0 + + 1 + 2 + 3 + 0 + 24 + 0 + 50 + 893 + 0 + 0 + 0 + 0 + 100 + 0 + 1 + 0 + + + 59398 + 3 + Build + 0 + + 0 + + 1 + 2 + 3 + 0 + 50 + 0 + 76 + 384 + 0 + 0 + 0 + 0 + 100 + 0 + 0 + 0 + + + 59399 + 4 + Debug + 0 + + 0 + + 1 + 2 + 3 + 0 + 50 + 0 + 76 + 626 + 0 + 0 + 0 + 0 + 100 + 0 + 1 + 0 + + + 197 + 5 + Build Output + 0 + + 0 + + 1 + 2 + 4 + 0 + 515 + 0 + 725 + 1280 + 0 + 0 + 250 + 600 + 100 + 0 + 0 + 0 + + + 198 + 6 + Command + 197 + Build Output + 0 + + 1 + 4 + 2 + 0 + 515 + 0 + 725 + 1280 + 0 + 0 + 250 + 600 + 100 + 1 + 1 + 0 + + + 199 + 7 + Find in Files + 198 + Command + 0 + + 1 + 4 + 2 + 0 + 515 + 0 + 725 + 1280 + 0 + 0 + 250 + 600 + 100 + 0 + 0 + 0 + + + 38007 + 8 + Browse + 199 + Find in Files + 0 + + 1 + 4 + 2 + 0 + 515 + 0 + 725 + 1280 + 0 + 0 + 250 + 600 + 100 + 0 + 0 + 0 + + + 1939 + 9 + UART #1 + 38007 + Browser + 0 + + 1 + 4 + 2 + 0 + 515 + 0 + 725 + 1280 + 0 + 0 + 250 + 600 + 100 + 0 + 0 + 0 + + + 1940 + 10 + UART #2 + 1939 + UART #1 + 0 + + 1 + 4 + 2 + 0 + 515 + 0 + 725 + 1280 + 0 + 0 + 250 + 600 + 100 + 0 + 0 + 0 + + + 1941 + 11 + UART #3 + 1940 + UART #2 + 0 + + 1 + 4 + 2 + 0 + 515 + 0 + 725 + 1280 + 0 + 0 + 250 + 600 + 100 + 0 + 0 + 0 + + + 1942 + 12 + UART #4 + 1941 + UART #3 + 0 + + 1 + 4 + 2 + 0 + 515 + 0 + 725 + 1280 + 0 + 0 + 250 + 600 + 100 + 0 + 0 + 0 + + + 1944 + 13 + Call Stack + 197 + Build Output + 197 + Build Output + 1 + 2 + 2 + 0 + 515 + 0 + 725 + 1280 + 0 + 0 + 600 + 250 + 50 + 0 + 0 + 0 + + + 1507 + 14 + Call Stack + 1944 + Call Stack + 197 + Build Output + 1 + 4 + 2 + 0 + 515 + 0 + 725 + 1280 + 0 + 0 + 600 + 250 + 50 + 1 + 1 + 0 + + + 1935 + 15 + Locals + 1507 + Call Stack + 197 + Build Output + 1 + 4 + 2 + 0 + 515 + 0 + 725 + 1280 + 0 + 0 + 600 + 250 + 50 + 0 + 1 + 0 + + + 1936 + 16 + Watch 1 + 1935 + Locals + 197 + Build Output + 1 + 4 + 2 + 0 + 515 + 0 + 725 + 1280 + 0 + 0 + 600 + 250 + 50 + 0 + 1 + 0 + + + 1937 + 17 + Watch 2 + 1936 + Watch 1 + 197 + Build Output + 1 + 4 + 2 + 0 + 515 + 0 + 725 + 1280 + 0 + 0 + 600 + 250 + 50 + 0 + 0 + 0 + + + 1465 + 18 + Memory 1 + 1937 + Watch 2 + 197 + Build Output + 1 + 4 + 2 + 0 + 515 + 0 + 725 + 1280 + 0 + 0 + 600 + 250 + 50 + 0 + 1 + 0 + + + 1466 + 19 + Memory 2 + 1465 + Memory 1 + 197 + Build Output + 1 + 4 + 2 + 0 + 515 + 0 + 725 + 1280 + 0 + 0 + 600 + 250 + 50 + 0 + 0 + 0 + + + 1467 + 20 + Memory 3 + 1466 + Memory 2 + 197 + Build Output + 1 + 4 + 2 + 0 + 515 + 0 + 725 + 1280 + 0 + 0 + 600 + 250 + 50 + 0 + 0 + 0 + + + 1468 + 21 + Memory 4 + 1467 + Memory 3 + 197 + Build Output + 1 + 4 + 2 + 0 + 515 + 0 + 725 + 1280 + 0 + 0 + 600 + 250 + 50 + 0 + 0 + 0 + + + 1506 + 22 + Symbols + 1468 + Memory 4 + 197 + Build Output + 1 + 4 + 2 + 0 + 515 + 0 + 725 + 1280 + 0 + 0 + 600 + 250 + 50 + 0 + 1 + 0 + + + 1005 + 23 + Project + 0 + + 0 + + 1 + 2 + 1 + 0 + 76 + 0 + 511 + 210 + 0 + 0 + 600 + 250 + 100 + 0 + 1 + 0 + + + 109 + 24 + Books + 1005 + Project + 0 + + 1 + 4 + 2 + 0 + 76 + 0 + 511 + 210 + 0 + 0 + 600 + 250 + 100 + 0 + 0 + 0 + + + 195 + 25 + Functions + 109 + Books + 0 + + 1 + 4 + 2 + 0 + 76 + 0 + 511 + 210 + 0 + 0 + 600 + 250 + 100 + 0 + 0 + 0 + + + 196 + 26 + Templates + 195 + Functions + 0 + + 1 + 4 + 2 + 0 + 76 + 0 + 511 + 210 + 0 + 0 + 600 + 250 + 100 + 0 + 0 + 0 + + + 38003 + 27 + Registers + 196 + Templates + 0 + + 1 + 4 + 2 + 0 + 76 + 0 + 511 + 210 + 0 + 0 + 600 + 250 + 100 + 1 + 1 + 0 + + + 35885 + 28 + not set + 0 + + 0 + + 1 + 2 + 2 + 0 + 76 + 1070 + 511 + 1280 + 0 + 0 + 600 + 250 + 100 + 0 + 0 + 0 + + + 35886 + 29 + not set + 35885 + ??? + 0 + + 1 + 4 + 2 + 0 + 76 + 1070 + 511 + 1280 + 0 + 0 + 600 + 250 + 100 + 0 + 0 + 0 + + + 35887 + 30 + not set + 35886 + ??? + 0 + + 1 + 4 + 2 + 0 + 76 + 1070 + 511 + 1280 + 0 + 0 + 600 + 250 + 100 + 0 + 0 + 0 + + + 35888 + 31 + not set + 35887 + ??? + 0 + + 1 + 4 + 2 + 0 + 76 + 1070 + 511 + 1280 + 0 + 0 + 600 + 250 + 100 + 0 + 0 + 0 + + + 35889 + 32 + not set + 35888 + ??? + 0 + + 1 + 4 + 2 + 0 + 76 + 1070 + 511 + 1280 + 0 + 0 + 600 + 250 + 100 + 0 + 0 + 0 + + + 35890 + 33 + not set + 35889 + ??? + 0 + + 1 + 4 + 2 + 0 + 76 + 1070 + 511 + 1280 + 0 + 0 + 600 + 250 + 100 + 0 + 0 + 0 + + + 35891 + 34 + not set + 35890 + ??? + 0 + + 1 + 4 + 2 + 0 + 76 + 1070 + 511 + 1280 + 0 + 0 + 600 + 250 + 100 + 0 + 0 + 0 + + + 35892 + 35 + not set + 35891 + ??? + 0 + + 1 + 4 + 2 + 0 + 76 + 1070 + 511 + 1280 + 0 + 0 + 600 + 250 + 100 + 0 + 0 + 0 + + + 35893 + 36 + not set + 35892 + ??? + 0 + + 1 + 4 + 2 + 0 + 76 + 1070 + 511 + 1280 + 0 + 0 + 600 + 250 + 100 + 0 + 0 + 0 + + + 35894 + 37 + not set + 35893 + ??? + 0 + + 1 + 4 + 2 + 0 + 76 + 1070 + 511 + 1280 + 0 + 0 + 600 + 250 + 100 + 0 + 0 + 0 + + + 35895 + 38 + not set + 35894 + ??? + 0 + + 1 + 4 + 2 + 0 + 76 + 1070 + 511 + 1280 + 0 + 0 + 600 + 250 + 100 + 0 + 0 + 0 + + + 35896 + 39 + not set + 35895 + ??? + 0 + + 1 + 4 + 2 + 0 + 76 + 1070 + 511 + 1280 + 0 + 0 + 600 + 250 + 100 + 0 + 0 + 0 + + + 35897 + 40 + not set + 35896 + ??? + 0 + + 1 + 4 + 2 + 0 + 76 + 1070 + 511 + 1280 + 0 + 0 + 600 + 250 + 100 + 0 + 0 + 0 + + + 35898 + 41 + not set + 35897 + ??? + 0 + + 1 + 4 + 2 + 0 + 76 + 1070 + 511 + 1280 + 0 + 0 + 600 + 250 + 100 + 0 + 0 + 0 + + + 35899 + 42 + not set + 35898 + ??? + 0 + + 1 + 4 + 2 + 0 + 76 + 1070 + 511 + 1280 + 0 + 0 + 600 + 250 + 100 + 0 + 0 + 0 + + + 35900 + 43 + not set + 35899 + ??? + 0 + + 1 + 4 + 2 + 0 + 76 + 1070 + 511 + 1280 + 0 + 0 + 600 + 250 + 100 + 0 + 0 + 0 + + + 35901 + 44 + not set + 35900 + ??? + 0 + + 1 + 4 + 2 + 0 + 76 + 1070 + 511 + 1280 + 0 + 0 + 600 + 250 + 100 + 0 + 0 + 0 + + + 35902 + 45 + not set + 35901 + ??? + 0 + + 1 + 4 + 2 + 0 + 76 + 1070 + 511 + 1280 + 0 + 0 + 600 + 250 + 100 + 0 + 0 + 0 + + + 35903 + 46 + not set + 35902 + ??? + 0 + + 1 + 4 + 2 + 0 + 76 + 1070 + 511 + 1280 + 0 + 0 + 600 + 250 + 100 + 0 + 0 + 0 + + + 35904 + 47 + not set + 35903 + ??? + 0 + + 1 + 4 + 2 + 0 + 76 + 1070 + 511 + 1280 + 0 + 0 + 600 + 250 + 100 + 0 + 0 + 0 + + + 35905 + 48 + not set + 35904 + ??? + 0 + + 1 + 4 + 2 + 0 + 76 + 1070 + 511 + 1280 + 0 + 0 + 600 + 250 + 100 + 0 + 0 + 0 + + + 203 + 49 + Disassembly + 0 + + 0 + + 1 + 2 + 3 + 0 + 76 + 214 + 286 + 1280 + 0 + 0 + 250 + 600 + 100 + 1 + 1 + 0 + + + 1913 + 50 + Instruction Trace + 203 + Disassembly + 0 + + 1 + 4 + 2 + 0 + 76 + 214 + 286 + 1280 + 0 + 0 + 250 + 600 + 100 + 0 + 0 + 0 + + + 343 + 51 + Performance Analyzer + 1913 + Instruction Trace + 0 + + 1 + 4 + 2 + 0 + 76 + 214 + 286 + 1280 + 0 + 0 + 250 + 600 + 100 + 0 + 0 + 0 + + + 204 + 52 + Performance Analyzer + 343 + Performance Analyzer + 0 + + 1 + 4 + 2 + 0 + 76 + 214 + 286 + 1280 + 0 + 0 + 250 + 600 + 100 + 0 + 0 + 0 + + + 346 + 53 + Code Coverage + 204 + Performance Analyzer + 0 + + 1 + 4 + 2 + 0 + 76 + 214 + 286 + 1280 + 0 + 0 + 250 + 600 + 100 + 0 + 0 + 0 + + + + + + 1 + 0 + + 100 + 2 + + + E:\temp\rt-thread-sep4020\libcpu\arm\sep4020\start_rvds.S + 0 + 87 + 94 + + + .\startup.c + 0 + 113 + 120 + + + ..\..\src\idle.c + 0 + 57 + 65 + + + ..\..\src\kservice.h + 0 + 1 + 1 + + + + + +
diff --git a/bsp/sep4020/project.uvproj b/bsp/sep4020/project.uvproj new file mode 100644 index 0000000000..07e5664179 --- /dev/null +++ b/bsp/sep4020/project.uvproj @@ -0,0 +1,1007 @@ + + + + 1.0 + +
### uVision Project, (C) Keil Software
+ + + + RT-Thread/SEP4020 + 0x4 + ARM-ADS + + + SEP4020 + SeuIC + IRAM(0x60000000-0x60007FFF) CLOCK(14745600) CPUTYPE(ARM7TDMI) + + + + 0 + + + + + + + + + + + 0 + + + + 铮礎tmel\SAM7X\ + 铮礎tmel\SAM7X\ + + 0 + 0 + 0 + 0 + 1 + + .\build\ + rtthread-sep4020 + 1 + 0 + 0 + 1 + 1 + .\build\ + 1 + 0 + 0 + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 1 + 0 + fromelf.exe --bin -o ./build/SEP4020.bin ./build/*.axf + + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + + + SARM.DLL + + DARMSH.DLL + + SARM.DLL + + TARMSH.DLL + + + + + 1 + 0 + 0 + 0 + 16 + + + 0 + 1 + 0 + 1 + 1 + 1 + 1 + 1 + 0 + + + 1 + 0 + 0 + 0 + 1 + 1 + 0 + 1 + + 0 + 6 + + + + + + .\Memory.ini + + + + + + + .\Ext_SDRAM.ini + Segger\JLTAgdi.dll + + + + + 1 + 0 + 0 + 0 + 1 + 4100 + + Segger\JLTAgdi.dll + + + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + ARM7TDMI + + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 3 + 3 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x60000000 + 0x8000 + + + 1 + 0x100000 + 0x40000 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x200000 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 0 + 0x30000000 + 0x2000000 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x60000000 + 0x8000 + + + 0 + 0x0 + 0x0 + + + + + + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 0 + + + + + .;..\..\include;..\..\finsh;..\..\net\lwip\src\include;..\..\net\lwip\src;..\..\net\lwip\src\arch\include;..\..\net\lwip\src\include\ipv4;;..\..\filesystem\dfs;..\..\filesystem\dfs\include;..\..\filesystem\dfs\filesystems\efsl\src\include;..\..\filesystem\dfs\filesystems\efsl\src\base\include;..\..\filesystem\dfs\filesystems\efsl\src\fs\vfat\include;..\..\libcpu\arm\sep4020;..\..\libcpu\arm\sep4020;..\..\components\finsh + + + + 1 + 0 + 0 + 0 + 0 + 0 + 0 + + + RAM_INTVEC REMAP + + + + + + 0 + 0 + 0 + 0 + 1 + 0 + 0x0 + + .\rtthread-sep4020-sdram.sct + + + --keep __fsym_* --keep __vsym_* + + + + + + + + bsp + + + rtconfig.h + 5 + .\rtconfig.h + + + application.c + 1 + .\application.c + + + board.c + 1 + .\board.c + + + startup.c + 1 + .\startup.c + + + + + kernel + + + clock.c + 1 + ..\..\src\clock.c + + + idle.c + 1 + ..\..\src\idle.c + + + ipc.c + 1 + ..\..\src\ipc.c + + + irq.c + 1 + ..\..\src\irq.c + + + kservice.c + 1 + ..\..\src\kservice.c + + + mem.c + 1 + ..\..\src\mem.c + + + mempool.c + 1 + ..\..\src\mempool.c + + + object.c + 1 + ..\..\src\object.c + + + timer.c + 1 + ..\..\src\timer.c + + + scheduler.c + 1 + ..\..\src\scheduler.c + + + slab.c + 1 + ..\..\src\slab.c + + + thread.c + 1 + ..\..\src\thread.c + + + device.c + 1 + ..\..\src\device.c + + + + + sep4020 + + + interrupt.c + 1 + E:\temp\rt-thread-sep4020\libcpu\arm\sep4020\interrupt.c + + + stack.c + 1 + E:\temp\rt-thread-sep4020\libcpu\arm\sep4020\stack.c + + + trap.c + 1 + E:\temp\rt-thread-sep4020\libcpu\arm\sep4020\trap.c + + + cpu.c + 1 + E:\temp\rt-thread-sep4020\libcpu\arm\sep4020\cpu.c + + + start_rvds.S + 2 + E:\temp\rt-thread-sep4020\libcpu\arm\sep4020\start_rvds.S + + + context_rvds.S + 2 + E:\temp\rt-thread-sep4020\libcpu\arm\sep4020\context_rvds.S + + + clk.c + 1 + ..\..\libcpu\arm\sep4020\clk.c + + + serial.c + 1 + ..\..\libcpu\arm\sep4020\serial.c + + + serial.h + 5 + ..\..\libcpu\arm\sep4020\serial.h + + + + + finsh + + + cmd.c + 1 + ..\..\components\finsh\cmd.c + + + finsh_compiler.c + 1 + ..\..\components\finsh\finsh_compiler.c + + + finsh_error.c + 1 + ..\..\components\finsh\finsh_error.c + + + finsh_heap.c + 1 + ..\..\components\finsh\finsh_heap.c + + + finsh_init.c + 1 + ..\..\components\finsh\finsh_init.c + + + finsh_node.c + 1 + ..\..\components\finsh\finsh_node.c + + + finsh_ops.c + 1 + ..\..\components\finsh\finsh_ops.c + + + finsh_parser.c + 1 + ..\..\components\finsh\finsh_parser.c + + + finsh_token.c + 1 + ..\..\components\finsh\finsh_token.c + + + finsh_var.c + 1 + ..\..\components\finsh\finsh_var.c + + + finsh_vm.c + 1 + ..\..\components\finsh\finsh_vm.c + + + shell.c + 1 + ..\..\components\finsh\shell.c + + + symbol.c + 1 + ..\..\components\finsh\symbol.c + + + + + lwip + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + dhcp.c + 1 + ..\..\net\lwip\src\core\dhcp.c + + + dns.c + 1 + ..\..\net\lwip\src\core\dns.c + + + init.c + 1 + ..\..\net\lwip\src\core\init.c + + + netif.c + 1 + ..\..\net\lwip\src\core\netif.c + + + pbuf.c + 1 + ..\..\net\lwip\src\core\pbuf.c + + + raw.c + 1 + ..\..\net\lwip\src\core\raw.c + + + stats.c + 1 + ..\..\net\lwip\src\core\stats.c + + + sys.c + 1 + ..\..\net\lwip\src\core\sys.c + + + tcp.c + 1 + ..\..\net\lwip\src\core\tcp.c + + + tcp_in.c + 1 + ..\..\net\lwip\src\core\tcp_in.c + + + tcp_out.c + 1 + ..\..\net\lwip\src\core\tcp_out.c + + + udp.c + 1 + ..\..\net\lwip\src\core\udp.c + + + autoip.c + 1 + ..\..\net\lwip\src\core\ipv4\autoip.c + + + icmp.c + 1 + ..\..\net\lwip\src\core\ipv4\icmp.c + + + igmp.c + 1 + ..\..\net\lwip\src\core\ipv4\igmp.c + + + inet.c + 1 + ..\..\net\lwip\src\core\ipv4\inet.c + + + inet_chksum.c + 1 + ..\..\net\lwip\src\core\ipv4\inet_chksum.c + + + ip.c + 1 + ..\..\net\lwip\src\core\ipv4\ip.c + + + ip_addr.c + 1 + ..\..\net\lwip\src\core\ipv4\ip_addr.c + + + ip_frag.c + 1 + ..\..\net\lwip\src\core\ipv4\ip_frag.c + + + asn1_dec.c + 1 + ..\..\net\lwip\src\core\snmp\asn1_dec.c + + + asn1_enc.c + 1 + ..\..\net\lwip\src\core\snmp\asn1_enc.c + + + mib2.c + 1 + ..\..\net\lwip\src\core\snmp\mib2.c + + + mib_structs.c + 1 + ..\..\net\lwip\src\core\snmp\mib_structs.c + + + msg_in.c + 1 + ..\..\net\lwip\src\core\snmp\msg_in.c + + + msg_out.c + 1 + ..\..\net\lwip\src\core\snmp\msg_out.c + + + api_lib.c + 1 + ..\..\net\lwip\src\api\api_lib.c + + + api_msg.c + 1 + ..\..\net\lwip\src\api\api_msg.c + + + err.c + 1 + ..\..\net\lwip\src\api\err.c + + + netbuf.c + 1 + ..\..\net\lwip\src\api\netbuf.c + + + netdb.c + 1 + ..\..\net\lwip\src\api\netdb.c + + + netifapi.c + 1 + ..\..\net\lwip\src\api\netifapi.c + + + tcpip.c + 1 + ..\..\net\lwip\src\api\tcpip.c + + + etharp.c + 1 + ..\..\net\lwip\src\netif\etharp.c + + + ethernetif.c + 1 + ..\..\net\lwip\src\netif\ethernetif.c + + + loopif.c + 1 + ..\..\net\lwip\src\netif\loopif.c + + + sys_arch_init.c + 1 + ..\..\net\lwip\src\arch\sys_arch_init.c + + + sys_arch.c + 1 + ..\..\net\lwip\src\arch\sys_arch.c + + + sockets.c + 1 + ..\..\net\lwip\src\api\sockets.c + + + memp.c + 1 + ..\..\net\lwip\src\core\memp.c + + + + + filesystem + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + dfs_util.c + 1 + ..\..\filesystem\dfs\src\dfs_util.c + + + dfs_cache.c + 1 + ..\..\filesystem\dfs\src\dfs_cache.c + + + dfs_fs.c + 1 + ..\..\filesystem\dfs\src\dfs_fs.c + + + dfs_init.c + 1 + ..\..\filesystem\dfs\src\dfs_init.c + + + dfs_raw.c + 1 + ..\..\filesystem\dfs\src\dfs_raw.c + + + dfs_posix.c + 1 + ..\..\filesystem\dfs\src\dfs_posix.c + + + plibc.c + 1 + ..\..\filesystem\dfs\filesystems\efsl\src\base\plibc.c + + + efs.c + 1 + ..\..\filesystem\dfs\filesystems\efsl\src\base\efs.c + + + extract.c + 1 + ..\..\filesystem\dfs\filesystems\efsl\src\base\extract.c + + + partition.c + 1 + ..\..\filesystem\dfs\filesystems\efsl\src\base\partition.c + + + ui.c + 1 + ..\..\filesystem\dfs\filesystems\efsl\src\fs\vfat\ui.c + + + dir.c + 1 + ..\..\filesystem\dfs\filesystems\efsl\src\fs\vfat\dir.c + + + fat.c + 1 + ..\..\filesystem\dfs\filesystems\efsl\src\fs\vfat\fat.c + + + file.c + 1 + ..\..\filesystem\dfs\filesystems\efsl\src\fs\vfat\file.c + + + fs.c + 1 + ..\..\filesystem\dfs\filesystems\efsl\src\fs\vfat\fs.c + + + ls.c + 1 + ..\..\filesystem\dfs\filesystems\efsl\src\fs\vfat\ls.c + + + time.c + 1 + ..\..\filesystem\dfs\filesystems\efsl\src\fs\vfat\time.c + + + + + + + +
diff --git a/bsp/sep4020/rtconfig.h b/bsp/sep4020/rtconfig.h new file mode 100644 index 0000000000..6a47581def --- /dev/null +++ b/bsp/sep4020/rtconfig.h @@ -0,0 +1,150 @@ +/* RT-Thread config file */ +#ifndef __RTTHREAD_CFG_H__ +#define __RTTHREAD_CFG_H__ + +/* RT_NAME_MAX*/ +#define RT_NAME_MAX 8 + +/* RT_ALIGN_SIZE*/ +#define RT_ALIGN_SIZE 4 + +/* PRIORITY_MAX*/ +#define RT_THREAD_PRIORITY_MAX 32 + +/* Tick per Second*/ +#define RT_TICK_PER_SECOND 100 + +/* SECTION: RT_DEBUG */ +/* Thread Debug*/ +/* #define RT_THREAD_DEBUG */ + +/* Using Hook*/ +#define RT_USING_HOOK + +/* SECTION: IPC */ +/* Using Semaphore*/ +#define RT_USING_SEMAPHORE + +/* Using Mutex*/ +#define RT_USING_MUTEX + +/* Using Event*/ +#define RT_USING_EVENT + +/* Using Faset Event*/ +/* #define RT_USING_FASTEVENT */ + +/* Using MailBox*/ +#define RT_USING_MAILBOX + +/* Using Message Queue*/ +#define RT_USING_MESSAGEQUEUE + +/* SECTION: Memory Management */ +/* Using Memory Pool Management*/ +#define RT_USING_MEMPOOL + +/* Using Dynamic Heap Management*/ +#define RT_USING_HEAP + +/* Using Small MM*/ +#define RT_USING_SMALL_MEM +#define RT_MEM_STATS + +/* Using SLAB Allocator*/ +/* #define RT_USING_SLAB */ + +/* SECTION: Device System */ +/* Using Device System*/ +#define RT_USING_DEVICE +#define RT_USING_UART1 +#define RT_UART_RX_BUFFER_SIZE 128 + +/* SECTION: Console options */ +/* the buffer size of console*/ +#define RT_CONSOLEBUF_SIZE 128 + +/* SECTION: FinSH shell options */ +/* Using FinSH as Shell*/ +#define RT_USING_FINSH +/* use symbol table */ +#define FINSH_USING_SYMTAB +#define FINSH_USING_DESCRIPTION + +/* SECTION: a mini libc */ +/* Using mini libc library*/ +/* #define RT_USING_MINILIBC */ + +/* SECTION: C++ support */ +/* Using C++ support*/ +/* #define RT_USING_CPLUSPLUS */ + +/* SECTION: lwip, a lighwight TCP/IP protocol stack */ +/* Using lighweight TCP/IP protocol stack*/ +//#define RT_USING_LWIP + +/* Trace LwIP protocol*/ +/* #define RT_LWIP_DEBUG */ + +/* LwIP tcp thread option */ +#define RT_LWIP_TCPTHREAD_PRIORITY 8 +#define RT_LWIP_TCPTHREAD_STACKSIZE 4096 +#define RT_LWIP_TCPTHREAD_MBOX_SIZE 32 + +/* LwIP eth thread option */ +#define RT_LWIP_ETHTHREAD_PRIORITY 15 +#define RT_LWIP_ETHTHREAD_STACKSIZE 1024 +#define RT_LWIP_ETHTHREAD_MBOX_SIZE 8 + +/* Enable ICMP protocol*/ +#define RT_LWIP_ICMP + +/* Enable IGMP protocol*/ +#define RT_LWIP_IGMP + +/* Enable UDP protocol*/ +#define RT_LWIP_UDP + +/* Enable TCP protocol*/ +#define RT_LWIP_TCP + +/* the number of simulatenously active TCP connections*/ +#define RT_LWIP_TCP_PCB_NUM 5 + +/* TCP sender buffer space*/ +#define RT_LWIP_TCP_SND_BUF 1500 + +/* Enable SNMP protocol*/ +/* #define RT_LWIP_SNMP */ + +/* Using DHCP*/ +/* #define RT_LWIP_DHCP */ + +/* ip address of target*/ +#define RT_LWIP_IPADDR0 192 +#define RT_LWIP_IPADDR1 168 +#define RT_LWIP_IPADDR2 1 +#define RT_LWIP_IPADDR3 30 + +/* gateway address of target*/ +#define RT_LWIP_GWADDR0 192 +#define RT_LWIP_GWADDR1 168 +#define RT_LWIP_GWADDR2 1 +#define RT_LWIP_GWADDR3 1 + +/* mask address of target*/ +#define RT_LWIP_MSKADDR0 255 +#define RT_LWIP_MSKADDR1 255 +#define RT_LWIP_MSKADDR2 255 +#define RT_LWIP_MSKADDR3 0 + +/* SECTION: DFS options */ +//#define RT_USING_DFS +/* the max number of mounted filesystem */ +#define DFS_FILESYSTEMS_MAX 1 +/* the max number of opened files */ +#define DFS_FD_MAX 2 +/* the max number of cached sector */ +#define DFS_CACHE_MAX_NUM 4 + +#endif diff --git a/bsp/sep4020/rtthread-sep4020-rom.sct b/bsp/sep4020/rtthread-sep4020-rom.sct new file mode 100644 index 0000000000..c28581f0d1 --- /dev/null +++ b/bsp/sep4020/rtthread-sep4020-rom.sct @@ -0,0 +1,15 @@ +; ************************************************************* +; *** Scatter-Loading Description File generated by uVision *** +; ************************************************************* + +LR_ROM1 0x00000000 0x00200000 { ; load region size_region + ER_ROM1 0x00000000 0x00200000 { ; load address = execution address + *.o (RESET, +First) + *(InRoot$$Sections) + .ANY (+RO) + } + RW_RAM1 0x30000000 0x32000000 { ; RW data + .ANY (+RW +ZI) + } +} + diff --git a/bsp/sep4020/rtthread-sep4020-sdram.sct b/bsp/sep4020/rtthread-sep4020-sdram.sct new file mode 100644 index 0000000000..bac01fca63 --- /dev/null +++ b/bsp/sep4020/rtthread-sep4020-sdram.sct @@ -0,0 +1,15 @@ +; ************************************************************* +; *** Scatter-Loading Description File generated by uVision *** +; ************************************************************* + +LR_ROM1 0x30000000 0x02000000 { ; load region size_region + ER_ROM1 0x30000000 0x02000000 { ; load address = execution address + *.o (RESET, +First) + *(InRoot$$Sections) + .ANY (+RO) + } + RW_RAM1 0x31000000{ + .ANY (+RW +ZI) + } +} + diff --git a/bsp/sep4020/sep4020.h b/bsp/sep4020/sep4020.h new file mode 100644 index 0000000000..06a50f8efa --- /dev/null +++ b/bsp/sep4020/sep4020.h @@ -0,0 +1,637 @@ +/************************************************************************************* + * + * File name: sep4020.h + * + * Change Logs: + * Date Author Notes + * 2010-03-17 zchong first version + **************************************************************************************/ + +#ifndef __SEP4020_H__ +#define __SEP4020_H__ + +/************************************* + macros for INTC +*************************************/ + +/*interrupt resources */ + +#define INTGLOBAL 32 + +#define INT_RTC 31 +#define INT_DMAC 30 +#define INT_EMI 29 +#define INT_MAC 28 +#define INT_TIMER1 27 +#define INT_TIMER2 26 +#define INT_TIMER3 25 +#define INT_UART0 24 +#define INT_UART1 23 +#define INT_UART2 22 +#define INT_UART3 21 +#define INT_PWM 20 +#define INT_LCDC 19 +#define INT_I2S 18 +#define INT_SSI 17 +#define INT_NOTUSED16 16 +#define INT_USB 15 +#define INT_SMC0 14 +#define INT_SMC1 13 +#define INT_SDIO 12 +#define INT_EXINT10 11 +#define INT_EXINT9 10 +#define INT_EXINT8 9 +#define INT_EXINT7 8 +#define INT_EXINT6 7 +#define INT_EXINT5 6 +#define INT_EXINT4 5 +#define INT_EXINT3 4 +#define INT_EXINT2 3 +#define INT_EXINT1 2 +#define INT_EXINT0 1 +#define INT_NOTUSED0 0 + +/****************************************************************************************** + * INTC模块 + * 基址: 0x10000000 + ******************************************************************************************/ + +#define INTC_IER (*(volatile unsigned *)0x10000000) /* IRQ interrupt enable register */ +#define INTC_IMR (*(volatile unsigned *)0x10000008) /* IRQ interrupt mask register */ +#define INTC_IFR (*(volatile unsigned *)0x10000010) /* IRQ软件强制中断寄存器 */ +#define INTC_IRSR (*(volatile unsigned *)0x10000018) /* IRQ未处理中断状态寄存器 */ +#define INTC_ISR (*(volatile unsigned *)0x10000020) /* IRQ中断状态寄存器 */ +#define INTC_IMSR (*(volatile unsigned *)0x10000028) /* IRQ屏蔽中断状态寄存器 */ +#define INTC_IFSR (*(volatile unsigned *)0x10000030) /* IRQ中断最终状态寄存器 */ +#define INTC_FIER (*(volatile unsigned *)0x100000C0) /* FIQ中断允许寄存器 */ +#define INTC_FIMR (*(volatile unsigned *)0x100000C4) /* FIQ中断屏蔽寄存器 */ +#define INTC_FIFR (*(volatile unsigned *)0x100000C8) /* FIQ软件强制中断寄存器 */ +#define INTC_FIRSR (*(volatile unsigned *)0x100000CC) /* FIQ未处理中断状态寄存器 */ +#define INTC_FISR (*(volatile unsigned *)0x100000D0) /* FIQ中断状态寄存器 */ +#define INTC_FIFSR (*(volatile unsigned *)0x100000D4) /* FIQ中断最终状态寄存器 */ +#define INTC_IPLR (*(volatile unsigned *)0x100000D8) /* IRQ中断优先级寄存器 */ +#define INTC_ICR1 (*(volatile unsigned *)0x100000DC) /* IRQ内部中断优先级控制寄存器1 */ +#define INTC_ICR2 (*(volatile unsigned *)0x100000E0) /* IRQ内部中断优先级控制寄存器2 */ +#define INTC_EXICR1 (*(volatile unsigned *)0x100000E4) /* IRQ外部中断优先级控制寄存器1 */ +#define INTC_EXICR2 (*(volatile unsigned *)0x100000E8) /* IRQ外部中断优先级控制寄存器2 */ + + +/****************************************************************************************** + * PMC模块 + * 基址: 0x10001000 + ******************************************************************************************/ + +#define PMC_PLTR (*(volatile unsigned *)0x10001000) /* PLL的稳定过渡时间 */ +#define PMC_PMCR (*(volatile unsigned *)0x10001004) /* 系统主时钟PLL的控制寄存器 */ +#define PMC_PUCR (*(volatile unsigned *)0x10001008) /* USB时钟PLL的控制寄存器 */ +#define PMC_PCSR (*(volatile unsigned *)0x1000100C) /* 内部模块时钟源供给的控制寄存器 */ +#define PMC_PDSLOW (*(volatile unsigned *)0x10001010) /* SLOW状态下时钟的分频因子 */ +#define PMC_PMDR (*(volatile unsigned *)0x10001014) /* 芯片工作模式寄存器 */ +#define PMC_RCTR (*(volatile unsigned *)0x10001018) /* Reset控制寄存器 */ +#define PMC_CLRWAKUP (*(volatile unsigned *)0x1000101C) /* WakeUp清除寄存器 */ + + +/****************************************************************************************** + * RTC模块 + * 基址: 0x10002000 + ******************************************************************************************/ + +#define RTC_STA_YMD (*(volatile unsigned *)0x10002000) /* 年, 月, 日计数寄存器 */ +#define RTC_STA_HMS (*(volatile unsigned *)0x10002004) /* 小时, 分钟, 秒寄存器 */ +#define RTC_ALARM_ALL (*(volatile unsigned *)0x10002008) /* 定时月, 日, 时, 分寄存器 */ +#define RTC_CTR (*(volatile unsigned *)0x1000200C) /* 控制寄存器 */ +#define RTC_INT_EN (*(volatile unsigned *)0x10002010) /* 中断使能寄存器 */ +#define RTC_INT_STS (*(volatile unsigned *)0x10002014) /* 中断状态寄存器 */ +#define RTC_SAMP (*(volatile unsigned *)0x10002018) /* 采样周期寄存器 */ +#define RTC_WD_CNT (*(volatile unsigned *)0x1000201C) /* Watch-Dog计数值寄存器 */ +#define RTC_WD_SEV (*(volatile unsigned *)0x10002020) /* Watch-Dog服务寄存器 */ +#define RTC_CONFIG_CHECK (*(volatile unsigned *)0x10002024) /* 配置时间确认寄存器 (在配置时间之前先写0xaaaaaaaa) */ +#define RTC_SOFTRESET (*(volatile unsigned *)0x10002028) /* 软件复位控制寄存器, 4020中被去掉了 */ +#define RTC_KEY0 (*(volatile unsigned *)0x1000202C) /* 密钥寄存器0, 4020中只有这一个寄存器 */ +#define RTC_KEY1 (*(volatile unsigned *)0x10002030) /* 密钥寄存器1 */ +#define RTC_KEY2 (*(volatile unsigned *)0x10002034) /* 密钥寄存器2 */ +#define RTC_KEY3 (*(volatile unsigned *)0x10002038) /* 密钥寄存器3 */ +#define RTC_KEY4 (*(volatile unsigned *)0x1000203C) /* 密钥寄存器4 */ +#define RTC_KEY5 (*(volatile unsigned *)0x10002040) /* 密钥寄存器5 */ + + +/****************************************************************************************** + * TIMER模块 + * 基址: 0x10003000 + ******************************************************************************************/ + +#define TIMER_T1LCR (*(volatile unsigned *)0x10003000) /* 通道1加载计数寄存器 */ +#define TIMER_T1CCR (*(volatile unsigned *)0x10003004) /* 通道1当前计数值寄存器 */ +#define TIMER_T1CR (*(volatile unsigned *)0x10003008) /* 通道1控制寄存器 */ +#define TIMER_T1ISCR (*(volatile unsigned *)0x1000300C) /* 通道1中断状态清除寄存器 */ +#define TIMER_T1IMSR (*(volatile unsigned *)0x10003010) /* 通道1中断屏蔽状态寄存器 */ +#define TIMER_T2LCR (*(volatile unsigned *)0x10003020) /* 通道2加载计数寄存器 */ +#define TIMER_T2CCR (*(volatile unsigned *)0x10003024) /* 通道2当前计数值寄存器 */ +#define TIMER_T2CR (*(volatile unsigned *)0x10003028) /* 通道2控制寄存器 */ +#define TIMER_T2ISCR (*(volatile unsigned *)0x1000302C) /* 通道2中断状态清除寄存器 */ +#define TIMER_T2IMSR (*(volatile unsigned *)0x10003030) /* 通道2中断屏蔽状态寄存器 */ +#define TIMER_T3LCR (*(volatile unsigned *)0x10003040) /* 通道3加载计数寄存器 */ +#define TIMER_T3CCR (*(volatile unsigned *)0x10003044) /* 通道3当前计数值寄存器 */ +#define TIMER_T3CR (*(volatile unsigned *)0x10003048) /* 通道3控制寄存器 */ +#define TIMER_T3ISCR (*(volatile unsigned *)0x1000304C) /* 通道3中断状态清除寄存器 */ +#define TIMER_T3IMSR (*(volatile unsigned *)0x10003050) /* 通道3中断屏蔽状态寄存器 */ +#define TIMER_T3CAPR (*(volatile unsigned *)0x10003054) /* 通道3捕获寄存器 */ +#define TIMER_T4LCR (*(volatile unsigned *)0x10003060) /* 通道4加载计数寄存器 */ +#define TIMER_T4CCR (*(volatile unsigned *)0x10003064) /* 通道4当前计数值寄存器 */ +#define TIMER_T4CR (*(volatile unsigned *)0x10003068) /* 通道4控制寄存器 */ +#define TIMER_T4ISCR (*(volatile unsigned *)0x1000306C) /* 通道4中断状态清除寄存器 */ +#define TIMER_T4IMSR (*(volatile unsigned *)0x10003070) /* 通道4中断屏蔽状态寄存器 */ +#define TIMER_T4CAPR (*(volatile unsigned *)0x10003074) /* 通道4捕获寄存器 */ +#define TIMER_T5LCR (*(volatile unsigned *)0x10003080) /* 通道5加载计数寄存器 */ +#define TIMER_T5CCR (*(volatile unsigned *)0x10003084) /* 通道5当前计数值寄存器 */ +#define TIMER_T5CR (*(volatile unsigned *)0x10003088) /* 通道5控制寄存器 */ +#define TIMER_T5ISCR (*(volatile unsigned *)0x1000308C) /* 通道5中断状态清除寄存器 */ +#define TIMER_T5IMSR (*(volatile unsigned *)0x10003090) /* 通道5中断屏蔽状态寄存器 */ +#define TIMER_T5CAPR (*(volatile unsigned *)0x10003094) /* 通道5捕获寄存器 */ +#define TIMER_T6LCR (*(volatile unsigned *)0x100030A0) /* 通道6加载计数寄存器 */ +#define TIMER_T6CCR (*(volatile unsigned *)0x100030A4) /* 通道6当前计数值寄存器 */ +#define TIMER_T6CR (*(volatile unsigned *)0x100030A8) /* 通道6控制寄存器 */ +#define TIMER_T6ISCR (*(volatile unsigned *)0x100030AC) /* 通道6中断状态清除寄存器 */ +#define TIMER_T6IMSR (*(volatile unsigned *)0x100030B0) /* 通道6中断屏蔽状态寄存器 */ +#define TIMER_T6CAPR (*(volatile unsigned *)0x100030B4) /* 通道6捕获寄存器 */ +#define TIMER_T7LCR (*(volatile unsigned *)0x100030C0) /* 通道7加载计数寄存器 */ +#define TIMER_T7CCR (*(volatile unsigned *)0x100030C4) /* 通道7当前计数值寄存器 */ +#define TIMER_T7CR (*(volatile unsigned *)0x100030C8) /* 通道7控制寄存器 */ +#define TIMER_T7ISCR (*(volatile unsigned *)0x100030CC) /* 通道7中断状态清除寄存器 */ +#define TIMER_T7IMSR (*(volatile unsigned *)0x100030D0) /* 通道7中断屏蔽状态寄存器 */ +#define TIMER_T8LCR (*(volatile unsigned *)0x100030E0) /* 通道8加载计数寄存器 */ +#define TIMER_T8CCR (*(volatile unsigned *)0x100030E4) /* 通道8当前计数值寄存器 */ +#define TIMER_T8CR (*(volatile unsigned *)0x100030E8) /* 通道8控制寄存器 */ +#define TIMER_T8ISCR (*(volatile unsigned *)0x100030EC) /* 通道8中断状态清除寄存器 */ +#define TIMER_T8IMSR (*(volatile unsigned *)0x100030F0) /* 通道8中断屏蔽状态寄存器 */ +#define TIMER_T9LCR (*(volatile unsigned *)0x10003100) /* 通道9加载计数寄存器 */ +#define TIMER_T9CCR (*(volatile unsigned *)0x10003104) /* 通道9当前计数值寄存器 */ +#define TIMER_T9CR (*(volatile unsigned *)0x10003108) /* 通道9控制寄存器 */ +#define TIMER_T9ISCR (*(volatile unsigned *)0x1000310C) /* 通道9中断状态清除寄存器 */ +#define TIMER_T9IMSR (*(volatile unsigned *)0x10003110) /* 通道9中断屏蔽状态寄存器 */ +#define TIMER_T10LCR (*(volatile unsigned *)0x10003120) /* 通道10加载计数寄存器 */ +#define TIMER_T10CCR (*(volatile unsigned *)0x10003124) /* 通道10当前计数值寄存器 */ +#define TIMER_T10CR (*(volatile unsigned *)0x10003128) /* 通道10控制寄存器 */ +#define TIMER_T10ISCR (*(volatile unsigned *)0x1000312C) /* 通道10中断状态清除寄存器 */ +#define TIMER_T10IMSR (*(volatile unsigned *)0x10003130) /* 通道10中断屏蔽状态寄存器 */ +#define TIMER_TIMSR (*(volatile unsigned *)0x10003140) /* TIMER中断屏蔽状态寄存器 */ +#define TIMER_TISCR (*(volatile unsigned *)0x10003144) /* TIMER中断状态清除寄存器 */ +#define TIMER_TISR (*(volatile unsigned *)0x10003148) /* TIMER中断状态寄存器 */ + + +/****************************************************************************************** + * PWM模块 + * 基址: 0x10004000 + ******************************************************************************************/ + +#define PWM1_CTRL (*(volatile unsigned *)0x10004000) /* PWM1控制寄存器 */ +#define PWM1_DIV (*(volatile unsigned *)0x10004004) /* PWM1分频寄存器 */ +#define PWM1_PERIOD (*(volatile unsigned *)0x10004008) /* PWM1周期寄存器 */ +#define PWM1_DATA (*(volatile unsigned *)0x1000400C) /* PWM1数据寄存器 */ +#define PWM1_CNT (*(volatile unsigned *)0x10004010) /* PWM1计数寄存器 */ +#define PWM1_STATUS (*(volatile unsigned *)0x10004014) /* PWM1状态寄存器 */ +#define PWM2_CTRL (*(volatile unsigned *)0x10004020) /* PWM2控制寄存器 */ +#define PWM2_DIV (*(volatile unsigned *)0x10004024) /* PWM2分频寄存器 */ +#define PWM2_PERIOD (*(volatile unsigned *)0x10004028) /* PWM2周期寄存器 */ +#define PWM2_DATA (*(volatile unsigned *)0x1000402C) /* PWM2数据寄存器 */ +#define PWM2_CNT (*(volatile unsigned *)0x10004030) /* PWM2计数寄存器 */ +#define PWM2_STATUS (*(volatile unsigned *)0x10004034) /* PWM2状态寄存器 */ +#define PWM3_CTRL (*(volatile unsigned *)0x10004040) /* PWM3控制寄存器 */ +#define PWM3_DIV (*(volatile unsigned *)0x10004044) /* PWM3分频寄存器 */ +#define PWM3_PERIOD (*(volatile unsigned *)0x10004048) /* PWM3周期寄存器 */ +#define PWM3_DATA (*(volatile unsigned *)0x1000404C) /* PWM3数据寄存器 */ +#define PWM3_CNT (*(volatile unsigned *)0x10004050) /* PWM3计数寄存器 */ +#define PWM3_STATUS (*(volatile unsigned *)0x10004054) /* PWM3状态寄存器 */ +#define PWM4_CTRL (*(volatile unsigned *)0x10004060) /* PWM4控制寄存器 */ +#define PWM4_DIV (*(volatile unsigned *)0x10004064) /* PWM4分频寄存器 */ +#define PWM4_PERIOD (*(volatile unsigned *)0x10004068) /* PWM4周期寄存器 */ +#define PWM4_DATA (*(volatile unsigned *)0x1000406C) /* PWM4数据寄存器 */ +#define PWM4_CNT (*(volatile unsigned *)0x10004070) /* PWM4计数寄存器 */ +#define PWM4_STATUS (*(volatile unsigned *)0x10004074) /* PWM4状态寄存器 */ +#define PWM_INTMASK (*(volatile unsigned *)0x10004080) /* PWM中断屏蔽寄存器 */ +#define PWM_INT (*(volatile unsigned *)0x10004084) /* PWM中断寄存器 */ +#define PWM_ENABLE (*(volatile unsigned *)0x10004088) /* PWM使能寄存器 */ + + +/****************************************************************************************** + * UART0模块 + * 基址: 0x10005000 + ******************************************************************************************/ +#define UART0BASE ((volatile unsigned *)0x10005000) +#define UART0_DLBL (*(volatile unsigned char*)0x10005000) /* 波特率设置低八位寄存器 */ +#define UART0_RXFIFO (*(volatile unsigned char*)0x10005000) /* 接收FIFO */ +#define UART0_TXFIFO (*(volatile unsigned char*)0x10005000) /* 发送FIFO */ +#define UART0_DLBH (*(volatile unsigned char*)0x10005004) /* 波特率设置高八位寄存器 */ +#define UART0_IER (*(volatile unsigned char*)0x10005004) /* 中断使能寄存器 */ +#define UART0_IIR (*(volatile unsigned *)0x10005008) /* 中断识别寄存器 */ +#define UART0_FCR (*(volatile unsigned *)0x10005008) /* FIFO控制寄存器 */ +#define UART0_LCR (*(volatile unsigned *)0x1000500C) /* 行控制寄存器 */ +#define UART0_MCR (*(volatile unsigned *)0x10005010) /* Modem控制寄存器 */ +#define UART0_LSR (*(volatile unsigned *)0x10005014) /* 行状态寄存器 */ +#define UART0_MSR (*(volatile unsigned *)0x10005018) /* Modem状态寄存器 */ + + +/****************************************************************************************** + * UART1模块 + * 基址: 0x10006000 + ******************************************************************************************/ + #define UART1BASE ((volatile unsigned *)0x10006000) +#define UART1_DLBL (*(volatile unsigned *)0x10006000) /* 波特率设置低八位寄存器 */ +#define UART1_RXFIFO (*(volatile unsigned *)0x10006000) /* 接收FIFO */ +#define UART1_TXFIFO (*(volatile unsigned *)0x10006000) /* 发送FIFO */ +#define UART1_DLBH (*(volatile unsigned *)0x10006004) /* 波特率设置高八位寄存器 */ +#define UART1_IER (*(volatile unsigned *)0x10006004) /* 中断使能寄存器 */ +#define UART1_IIR (*(volatile unsigned *)0x10006008) /* 中断识别寄存器 */ +#define UART1_FCR (*(volatile unsigned *)0x10006008) /* FIFO控制寄存器 */ +#define UART1_LCR (*(volatile unsigned *)0x1000600C) /* 行控制寄存器 */ +#define UART1_MCR (*(volatile unsigned *)0x10006010) /* Modem控制寄存器 */ +#define UART1_LSR (*(volatile unsigned *)0x10006014) /* 行状态寄存器 */ +#define UART1_MSR (*(volatile unsigned *)0x10006018) /* Modem状态寄存器 */ + + +/****************************************************************************************** + * UART2模块 + * 基址: 0x10007000 + ******************************************************************************************/ +#define UART2BASE ((volatile unsigned *)0x10007000) +#define UART2_DLBL (*(volatile unsigned *)0x10007000) /* 波特率设置低八位寄存器 */ +#define UART2_RXFIFO (*(volatile unsigned *)0x10007000) /* 接收FIFO */ +#define UART2_TXFIFO (*(volatile unsigned *)0x10007000) /* 发送FIFO */ +#define UART2_DLBH (*(volatile unsigned *)0x10007004) /* 波特率设置高八位寄存器 */ +#define UART2_IER (*(volatile unsigned *)0x10007004) /* 中断使能寄存器 */ +#define UART2_IIR (*(volatile unsigned *)0x10007008) /* 中断识别寄存器 */ +#define UART2_FCR (*(volatile unsigned *)0x10007008) /* FIFO控制寄存器 */ +#define UART2_LCR (*(volatile unsigned *)0x1000700C) /* 行控制寄存器 */ +#define UART2_MCR (*(volatile unsigned *)0x10007010) /* Modem控制寄存器 */ +#define UART2_LSR (*(volatile unsigned *)0x10007014) /* 行状态寄存器 */ +#define UART2_MSR (*(volatile unsigned *)0x10007018) /* Modem状态寄存器 */ + + +/****************************************************************************************** + * UART3模块 + * 基址: 0x10008000 + ******************************************************************************************/ +#define UART3BASE ((volatile unsigned *)0x10008000) +#define UART3_DLBL (*(volatile unsigned *)0x10008000) /* 波特率设置低八位寄存器 */ +#define UART3_RXFIFO (*(volatile unsigned *)0x10008000) /* 接收FIFO */ +#define UART3_TXFIFO (*(volatile unsigned *)0x10008000) /* 发送FIFO */ +#define UART3_DLBH (*(volatile unsigned *)0x10008004) /* 波特率设置高八位寄存器 */ +#define UART3_IER (*(volatile unsigned *)0x10008004) /* 中断使能寄存器 */ +#define UART3_IIR (*(volatile unsigned *)0x10008008) /* 中断识别寄存器 */ +#define UART3_FCR (*(volatile unsigned *)0x10008008) /* FIFO控制寄存器 */ +#define UART3_LCR (*(volatile unsigned *)0x1000800C) /* 行控制寄存器 */ +#define UART3_MCR (*(volatile unsigned *)0x10008010) /* Modem控制寄存器 */ +#define UART3_LSR (*(volatile unsigned *)0x10008014) /* 行状态寄存器 */ +#define UART3_MSR (*(volatile unsigned *)0x10008018) /* Modem状态寄存器 */ + + +/****************************************************************************************** + * SSI模块 + * 基址: 0x10009000 + ******************************************************************************************/ + +#define SSI_CONTROL0 (*(volatile unsigned *)0x10009000) /* 控制寄存器0 */ +#define SSI_CONTROL1 (*(volatile unsigned *)0x10009004) /* 控制寄存器1 */ +#define SSI_SSIENR (*(volatile unsigned *)0x10009008) /* SSI使能寄存器 */ +#define SSI_MWCR (*(volatile unsigned *)0x1000900C) /* Microwire控制寄存器 */ +#define SSI_SER (*(volatile unsigned *)0x10009010) /* 从设备使能寄存器 */ +#define SSI_BAUDR (*(volatile unsigned *)0x10009014) /* 波特率设置寄存器 */ +#define SSI_TXFTLR (*(volatile unsigned *)0x10009018) /* 发送FIFO阈值寄存器 */ +#define SSI_RXFTLR (*(volatile unsigned *)0x1000901C) /* 接收FIFO阈值寄存器 */ +#define SSI_TXFLR (*(volatile unsigned *)0x10009020) /* 发送FIFO状态寄存器 */ +#define SSI_RXFLR (*(volatile unsigned *)0x10009024) /* 接收FIFO状态寄存器 */ +#define SSI_SR (*(volatile unsigned *)0x10009028) /* 状态寄存器 */ +#define SSI_IMR (*(volatile unsigned *)0x1000902C) /* 中断屏蔽寄存器 */ +#define SSI_ISR (*(volatile unsigned *)0x10009030) /* 中断最终状态寄存器 */ +#define SSI_RISR (*(volatile unsigned *)0x10009034) /* 中断原始状态寄存器 */ +#define SSI_TXOICR (*(volatile unsigned *)0x10009038) /* 发送FIFO上溢中断清除寄存器 */ +#define SSI_RXOICR (*(volatile unsigned *)0x1000903C) /* 接收FIFO上溢中断清除寄存器 */ +#define SSI_RXUICR (*(volatile unsigned *)0x10009040) /* 接收FIFO下溢中断清除寄存器 */ +#define SSI_ICR (*(volatile unsigned *)0x1000902C) /* 中断清除寄存器 */ +#define SSI_DMACR (*(volatile unsigned *)0x1000904C) /* DMA控制寄存器 */ +#define SSI_DMATDLR (*(volatile unsigned *)0x10009050) /* DMA发送状态寄存器 */ +#define SSI_DMARDLR (*(volatile unsigned *)0x10009054) /* DMA接收状态寄存器 */ +#define SSI_DR (*(volatile unsigned *)0x10009060) /* 数据寄存器 */ + + +/****************************************************************************************** + * I2S模块 + * 基址: 0x1000A000 + ******************************************************************************************/ + +#define I2S_CTRL (*(volatile unsigned *)0x1000A000) /* I2S控制寄存器 */ +#define I2S_DATA (*(volatile unsigned *)0x1000A004) /* I2S数据寄存器 */ +#define I2S_INT (*(volatile unsigned *)0x1000A008) /* I2S中断寄存器 */ +#define I2S_STATUS (*(volatile unsigned *)0x1000A00C) /* I2S状态寄存器 */ + + +/****************************************************************************************** + * GPIO模块 + * 基址: 0x1000F000 + ******************************************************************************************/ + +#define GPIO_DBCLK_DIV (*(volatile unsigned *)0x1000F000) /* 去毛刺采用时钟分频比配置寄存器 */ +#define GPIO_PORTA_DIR (*(volatile unsigned *)0x1000F004) /* A组端口输入输出方向配置寄存器 */ +#define GPIO_PORTA_SEL (*(volatile unsigned *)0x1000F008) /* A组端口通用用途选择配置寄存器 */ +#define GPIO_PORTA_INCTL (*(volatile unsigned *)0x1000F00C) /* A组端口通用用途输入时类型配置寄存器 */ +#define GPIO_PORTA_INTRCTL (*(volatile unsigned *)0x1000F010) /* A组端口中断触发类型配置寄存器 */ +#define GPIO_PORTA_INTRCLR (*(volatile unsigned *)0x1000F014) /* A组端口通用用途中断清除配置寄存器 */ +#define GPIO_PORTA_DATA (*(volatile unsigned *)0x1000F018) /* A组端口通用用途数据配置寄存器 */ +#define GPIO_PORTB_DIR (*(volatile unsigned *)0x1000F01C) /* B组端口输入输出方向配置寄存器 */ +#define GPIO_PORTB_SEL (*(volatile unsigned *)0x1000F020) /* B组端口通用用途选择配置寄存器 */ +#define GPIO_PORTB_DATA (*(volatile unsigned *)0x1000F024) /* B组端口通用用途数据配置寄存器 */ +#define GPIO_PORTC_DIR (*(volatile unsigned *)0x1000F028) /* C组端口输入输出方向配置寄存器 */ +#define GPIO_PORTC_SEL (*(volatile unsigned *)0x1000F02C) /* C组端口通用用途选择配置寄存器 */ +#define GPIO_PORTC_DATA (*(volatile unsigned *)0x1000F030) /* C组端口通用用途数据配置寄存器 */ +#define GPIO_PORTD_DIR (*(volatile unsigned *)0x1000F034) /* D组端口输入输出方向配置寄存器 */ +#define GPIO_PORTD_SEL (*(volatile unsigned *)0x1000F038) /* D组端口通用用途选择配置寄存器 */ +#define GPIO_PORTD_SPECII (*(volatile unsigned *)0x1000F03C) /* D组端口专用用途2选择配置寄存器 */ +#define GPIO_PORTD_DATA (*(volatile unsigned *)0x1000F040) /* D组端口通用用途数据配置寄存器 */ +#define GPIO_PORTE_DIR (*(volatile unsigned *)0x1000F044) /* E组端口输入输出方向配置寄存器 */ +#define GPIO_PORTE_SEL (*(volatile unsigned *)0x1000F048) /* E组端口通用用途选择配置寄存器 */ +#define GPIO_PORTE_DATA (*(volatile unsigned *)0x1000F04C) /* E组端口通用用途数据配置寄存器 */ +#define GPIO_PORTF_DIR (*(volatile unsigned *)0x1000F050) /* F组端口输入输出方向配置寄存器 */ +#define GPIO_PORTF_SEL (*(volatile unsigned *)0x1000F054) /* F组端口通用用途选择配置寄存器 */ +#define GPIO_PORTF_INCTL (*(volatile unsigned *)0x1000F058) /* F组端口通用用途输入时类型配置寄存器 */ +#define GPIO_PORTF_INTRCTL (*(volatile unsigned *)0x1000F05C) /* F组端口中断触发类型配置寄存器 */ +#define GPIO_PORTF_INTRCLR (*(volatile unsigned *)0x1000F060) /* F组端口通用用途中断清除配置寄存器 */ +#define GPIO_PORTF_DATA (*(volatile unsigned *)0x1000F064) /* F组端口通用用途数据配置寄存器 */ +#define GPIO_PORTG_DIR (*(volatile unsigned *)0x1000F068) /* G组端口输入输出方向配置寄存器 */ +#define GPIO_PORTG_SEL (*(volatile unsigned *)0x1000F06C) /* G组端口通用用途选择配置寄存器 */ +#define GPIO_PORTG_DATA (*(volatile unsigned *)0x1000F070) /* G组端口通用用途数据配置寄存器 */ +#define GPIO_PORTH_DIR (*(volatile unsigned *)0x1000F074) /* H组端口输入输出方向配置寄存器 */ +#define GPIO_PORTH_SEL (*(volatile unsigned *)0x1000F078) /* H组端口通用用途选择配置寄存器 */ +#define GPIO_PORTH_DATA (*(volatile unsigned *)0x1000F07c) /* H组端口通用用途数据配置寄存器 */ +#define GPIO_PORTI_DIR (*(volatile unsigned *)0x1000F080) /* I组端口输入输出方向配置寄存器 */ +#define GPIO_PORTI_SEL (*(volatile unsigned *)0x1000F084) /* I组端口通用用途选择配置寄存器 */ +#define GPIO_PORTI_DATA (*(volatile unsigned *)0x1000F088) /* I组端口通用用途数据配置寄存器 */ + + +/****************************************************************************************** + * SMC0模块 + * 基址: 0x1000C000 + ******************************************************************************************/ + +#define SMC0_CTRL (*(volatile unsigned *)0x1000C000) /* SMC0控制寄存器 */ +#define SMC0_INT (*(volatile unsigned *)0x1000C004) /* SMC0中断寄存器 */ +#define SMC0_FD (*(volatile unsigned *)0x1000C008) /* SMC0基本单元时间寄存器 */ +#define SMC0_CT (*(volatile unsigned *)0x1000C00C) /* SMC0字符传输时间寄存器 */ +#define SMC0_BT (*(volatile unsigned *)0x1000C010) /* SMC0块传输时间寄存器 */ + + +/****************************************************************************************** + * SMC1模块 + * 基址: 0x1000D000 + ******************************************************************************************/ + +#define SMC1_CTRL (*(volatile unsigned *)0x1000D000) /* SMC1控制寄存器 */ +#define SMC1_INT (*(volatile unsigned *)0x1000D004) /* SMC1中断寄存器 */ +#define SMC1_FD (*(volatile unsigned *)0x1000D008) /* SMC1基本单元时间寄存器 */ +#define SMC1_CT (*(volatile unsigned *)0x1000D00C) /* SMC1字符传输时间寄存器 */ +#define SMC1_BT (*(volatile unsigned *)0x1000D010) /* SMC1块传输时间寄存器 */ + + +/****************************************************************************************** + * USBD模块 + * 基址: 0x1000E000 + ******************************************************************************************/ + +#define USBD_PROTOCOLINTR (*(volatile unsigned *)0x1000E000) /* USB协议中断寄存器 */ +#define USBD_INTRMASK (*(volatile unsigned *)0x1000E004) /* USB中断屏蔽寄存器 */ +#define USBD_INTRCTRL (*(volatile unsigned *)0x1000E008) /* USB中断类型控制寄存器 */ +#define USBD_EPINFO (*(volatile unsigned *)0x1000E00C) /* USB活动端点状态寄存器 */ +#define USBD_BCONFIGURATIONVALUE (*(volatile unsigned *)0x1000E010) /* SET_CCONFIGURATION记录 */ +#define USBD_BMATTRIBUTES (*(volatile unsigned *)0x1000E014) /* 当前配置属性寄存器 */ +#define USBD_DEVSPEED (*(volatile unsigned *)0x1000E018) /* 当前设备工作速度寄存器 */ +#define USBD_FRAMENUMBER (*(volatile unsigned *)0x1000E01C) /* 记录当前SOF包内的帧号 */ +#define USBD_EPTRANSACTIONS0 (*(volatile unsigned *)0x1000E020) /* 记录下次要求的传输次数 */ +#define USBD_EPTRANSACTIONS1 (*(volatile unsigned *)0x1000E024) /* 记录下次要求的传输次数 */ +#define USBD_APPIFUPDATE (*(volatile unsigned *)0x1000E028) /* 接口号快速更新寄存器 */ +#define USBD_CFGINTERFACE0 (*(volatile unsigned *)0x1000E02c) /* 记录接口的值 */ +#define USBD_CFGINTERFACE1 (*(volatile unsigned *)0x1000E030) /* 记录接口的值 */ +#define USBD_CFGINTERFACE2 (*(volatile unsigned *)0x1000E034) /* 记录接口的值 */ +#define USBD_CFGINTERFACE3 (*(volatile unsigned *)0x1000E038) /* 记录接口的值 */ +#define USBD_CFGINTERFACE4 (*(volatile unsigned *)0x1000E03c) /* 记录接口的值 */ +#define USBD_CFGINTERFACE5 (*(volatile unsigned *)0x1000E040) /* 记录接口的值 */ +#define USBD_CFGINTERFACE6 (*(volatile unsigned *)0x1000E044) /* 记录接口的值 */ +#define USBD_CFGINTERFACE7 (*(volatile unsigned *)0x1000E048) /* 记录接口的值 */ +#define USBD_CFGINTERFACE8 (*(volatile unsigned *)0x1000E04c) /* 记录接口的值 */ +#define USBD_CFGINTERFACE9 (*(volatile unsigned *)0x1000E050) /* 记录接口的值 */ +#define USBD_CFGINTERFACE10 (*(volatile unsigned *)0x1000E054) /* 记录接口的值 */ +#define USBD_CFGINTERFACE11 (*(volatile unsigned *)0x1000E058) /* 记录接口的值 */ +#define USBD_CFGINTERFACE12 (*(volatile unsigned *)0x1000E05c) /* 记录接口的值 */ +#define USBD_CFGINTERFACE13 (*(volatile unsigned *)0x1000E060) /* 记录接口的值 */ +#define USBD_CFGINTERFACE14 (*(volatile unsigned *)0x1000E064) /* 记录接口的值 */ +#define USBD_CFGINTERFACE15 (*(volatile unsigned *)0x1000E068) /* 记录接口的值 */ +#define USBD_CFGINTERFACE16 (*(volatile unsigned *)0x1000E06c) /* 记录接口的值 */ +#define USBD_CFGINTERFACE17 (*(volatile unsigned *)0x1000E070) /* 记录接口的值 */ +#define USBD_CFGINTERFACE18 (*(volatile unsigned *)0x1000E074) /* 记录接口的值 */ +#define USBD_CFGINTERFACE19 (*(volatile unsigned *)0x1000E078) /* 记录接口的值 */ +#define USBD_CFGINTERFACE20 (*(volatile unsigned *)0x1000E07c) /* 记录接口的值 */ +#define USBD_CFGINTERFACE21 (*(volatile unsigned *)0x1000E080) /* 记录接口的值 */ +#define USBD_CFGINTERFACE22 (*(volatile unsigned *)0x1000E084) /* 记录接口的值 */ +#define USBD_CFGINTERFACE23 (*(volatile unsigned *)0x1000E088) /* 记录接口的值 */ +#define USBD_CFGINTERFACE24 (*(volatile unsigned *)0x1000E08c) /* 记录接口的值 */ +#define USBD_CFGINTERFACE25 (*(volatile unsigned *)0x1000E090) /* 记录接口的值 */ +#define USBD_CFGINTERFACE26 (*(volatile unsigned *)0x1000E094) /* 记录接口的值 */ +#define USBD_CFGINTERFACE27 (*(volatile unsigned *)0x1000E098) /* 记录接口的值 */ +#define USBD_CFGINTERFACE28 (*(volatile unsigned *)0x1000E09c) /* 记录接口的值 */ +#define USBD_CFGINTERFACE29 (*(volatile unsigned *)0x1000E0a0) /* 记录接口的值 */ +#define USBD_CFGINTERFACE30 (*(volatile unsigned *)0x1000E0a4) /* 记录接口的值 */ +#define USBD_CFGINTERFACE31 (*(volatile unsigned *)0x1000E0a8) /* 记录接口的值 */ +#define USBD_PKTPASSEDCTRL (*(volatile unsigned *)0x1000E0ac) /* 记录成功接收的包数 */ +#define USBD_PKTDROPPEDCTRL (*(volatile unsigned *)0x1000E0b0) /* 记录丢失的包数 */ +#define USBD_CRCERRCTRL (*(volatile unsigned *)0x1000E0b4) /* 记录CRC错误的包数 */ +#define USBD_BITSTUFFERRCTRL (*(volatile unsigned *)0x1000E0b8) /* 记录位填充错误的包数 */ +#define USBD_PIDERRCTRL (*(volatile unsigned *)0x1000E0bc) /* 记录PID错误的包数 */ +#define USBD_FRAMINGERRCTL (*(volatile unsigned *)0x1000E0c0) /* 记录有SYNC和EOP的包数 */ +#define USBD_TXPKTCTRL (*(volatile unsigned *)0x1000E0c4) /* 记录发送包的数量 */ +#define USBD_STATCTRLOV (*(volatile unsigned *)0x1000E0c8) /* 记录统计寄存器溢出情况 */ +#define USBD_TXLENGTH (*(volatile unsigned *)0x1000E0cc) /* 记录每次IN传输事务包长度 */ +#define USBD_RXLENGTH (*(volatile unsigned *)0x1000E0d0) /* 记录OUT传输事务包长度 */ +#define USBD_RESUME (*(volatile unsigned *)0x1000E0d4) /* USB唤醒寄存器 */ +#define USBD_READFLAG (*(volatile unsigned *)0x1000E0d8) /* 读异步状态寄存器标志 */ +#define USBD_RECEIVETYPE (*(volatile unsigned *)0x1000E0dc) /* 传输状态寄存器 */ +#define USBD_APPLOCK (*(volatile unsigned *)0x1000E0e0) /* 锁信号寄存器 */ +#define USBD_EP0OUTADDR (*(volatile unsigned *)0x1000E100) /* 端点0端点号和方向 */ +#define USBD_EP0OUTBMATTR (*(volatile unsigned *)0x1000E104) /* 端点0类型寄存器 */ +#define USBD_EP0OUTMAXPKTSIZE (*(volatile unsigned *)0x1000E108) /* 端点0最大包尺寸寄存器 */ +#define USBD_EP0OUTIFNUM (*(volatile unsigned *)0x1000E10c) /* 端点0接口号寄存器 */ +#define USBD_EP0OUTSTAT (*(volatile unsigned *)0x1000E110) /* 端点0状态寄存器 */ +#define USBD_EP0OUTBMREQTYPE (*(volatile unsigned *)0x1000E114) /* 端点0 SETUP事务请求类 */ +#define USBD_EP0OUTBREQUEST (*(volatile unsigned *)0x1000E118) /* 端点0 SETUP事务请求内容 */ +#define USBD_EP0OUTWVALUE (*(volatile unsigned *)0x1000E11c) /* 端点0 SETUP事务请求值 */ +#define USBD_EP0OUTWINDEX (*(volatile unsigned *)0x1000E120) /* 端点0 SETUP事务请求索引 */ +#define USBD_EP0OUTWLENGTH (*(volatile unsigned *)0x1000E120) /* 端点0 SETUP事务请求长度 */ +#define USBD_EP0OUTSYNCHFRAME (*(volatile unsigned *)0x1000E128) /* 端点0同步包帧号 */ +#define USBD_EP1OUTADDR (*(volatile unsigned *)0x1000E12c) /* 端点1输出端点号和方向 */ +#define USBD_EP1OUTBMATTR (*(volatile unsigned *)0x1000E130) /* 端点1输出类型寄存器 */ +#define USBD_EP1OUTMAXPKTSIZE (*(volatile unsigned *)0x1000E134) /* 端点1输出最大包尺寸寄存器 */ +#define USBD_EP1OUTIFNUM (*(volatile unsigned *)0x1000E138) /* 端点1输出接口号寄存器 */ +#define USBD_EP1OUTSTAT (*(volatile unsigned *)0x1000E13c) /* 端点1输出状态寄存器 */ +#define USBD_EP1OUTBMREQTYPE (*(volatile unsigned *)0x1000E140) /* 端点1输出SETUP事务请求类型 */ +#define USBD_EP1OUTBREQUEST (*(volatile unsigned *)0x1000E144) /* 端点1输出SETUP事务请求内容 */ +#define USBD_EP1OUTWVALUE (*(volatile unsigned *)0x1000E148) /* 端点1输出SETUP事务请求值 */ +#define USBD_EP1OUTWINDX (*(volatile unsigned *)0x1000E14c) /* 端点1输出SETUP事务请求索引 */ +#define USBD_EP1OUTWLENGH (*(volatile unsigned *)0x1000E150) /* 端点1输出SETUP事务请求域长度 */ +#define USBD_EP1OUTSYNCHFRAME (*(volatile unsigned *)0x1000E154) /* 端点1输出同步包帧号 */ +#define USBD_EP1INADDR (*(volatile unsigned *)0x1000E158) /* 端点1输入端点号和方向 */ +#define USBD_EP1INBMATTR (*(volatile unsigned *)0x1000E15c) /* 端点1输入类型寄存器 */ +#define USBD_EP1INMAXPKTSIZE (*(volatile unsigned *)0x1000E160) /* 端点1输入最大包尺寸寄存器 */ +#define USBD_EP1INIFNUM (*(volatile unsigned *)0x1000E164) /* 端点1输入接口号寄存器 */ +#define USBD_EP1INSTAT (*(volatile unsigned *)0x1000E168) /* 端点1输入状态寄存器 */ +#define USBD_EP1INBMREQTYPE (*(volatile unsigned *)0x1000E16c) /* 端点1输入SETUP事务请求类型 */ +#define USBD_EP1INBREQUEST (*(volatile unsigned *)0x1000E170) /* 端点1输入SETUP事务请求内容 */ +#define USBD_EP1INWVALUE (*(volatile unsigned *)0x1000E174) /* 端点1输入SETUP事务请求值 */ +#define USBD_EP1INWINDEX (*(volatile unsigned *)0x1000E178) /* 端点1输入SETUP事务请求索引 */ +#define USBD_EP1INWLENGTH (*(volatile unsigned *)0x1000E17c) /* 端点1输入SETUP事务请求域长度 */ +#define USBD_EP1INSYNCHFRAME (*(volatile unsigned *)0x1000E180) /* 端点1输入同步包帧号 */ +#define USBD_EP2OUTADDR (*(volatile unsigned *)0x1000E184) /* 端点2输出端点号和方向 */ +#define USBD_EP2OUTBMATTR (*(volatile unsigned *)0x1000E188) /* 端点2输出类型寄存器 */ +#define USBD_EP2OUTMAXPKTSIZE (*(volatile unsigned *)0x1000E18c) /* 端点2输出最大包尺寸寄存器 */ +#define USBD_EP2OUTIFNUM (*(volatile unsigned *)0x1000E190) /* 端点2输出接口号寄存器 */ +#define USBD_EP2OUTSTAT (*(volatile unsigned *)0x1000E194) /* 端点2输出状态寄存器 */ +#define USBD_EP2OUTBMREQTYPE (*(volatile unsigned *)0x1000E198) /* 端点2输出SETUP事务请求类型 */ +#define USBD_EP2OUTBREQUEST (*(volatile unsigned *)0x1000E19c) /* 端点2输出SETUP事务请求内容 */ +#define USBD_EP2OUTWVALUE (*(volatile unsigned *)0x1000E1a0) /* 端点2输出SETUP事务请求值 */ +#define USBD_EP2OUTWINDEX (*(volatile unsigned *)0x1000E1a4) /* 端点2输出SETUP事务请求索引 */ +#define USBD_EP2OUTWLENGTH (*(volatile unsigned *)0x1000E1a8) /* 端点2输出SETUP事务请求域长度 */ +#define USBD_EP2OUTSYNCHFRAME (*(volatile unsigned *)0x1000E1ac) /* 端点2输出同步包帧号 */ +#define USBD_EP2INADDR (*(volatile unsigned *)0x1000E1b0) /* 端点2输入端点号和方向 */ +#define USBD_EP2INBMATTR (*(volatile unsigned *)0x1000E1b4) /* 端点2输入类型寄存器 */ +#define USBD_EP2INMAXPKTSIZE (*(volatile unsigned *)0x1000E1b8) /* 端点2输入最大包尺寸寄存器 */ +#define USBD_EP2INIFNUM (*(volatile unsigned *)0x1000E1bc) /* 端点2输入接口号寄存器 */ +#define USBD_EP2INSTAT (*(volatile unsigned *)0x1000E1c0) /* 端点2输入状态寄存器 */ +#define USBD_EP2INBMREQTYPE (*(volatile unsigned *)0x1000E1c4) /* 端点2输入SETUP事务请求类型 */ +#define USBD_EP2INBREQUEST (*(volatile unsigned *)0x1000E1c8) /* 端点2输入SETUP事务请求内容 */ +#define USBD_EP2INWVALUE (*(volatile unsigned *)0x1000E1cc) /* 端点2输入SETUP事务请求值 */ +#define USBD_EP2INWINDEX (*(volatile unsigned *)0x1000E1d0) /* 端点2输入SETUP事务请求索引 */ +#define USBD_EP2INWLENGTH (*(volatile unsigned *)0x1000E1d4) /* 端点2输入SETUP事务请求域长度 */ +#define USBD_EP2INSYNCHFRAME (*(volatile unsigned *)0x1000E1d8) /* 端点2输入同步包帧号 */ +#define USBD_RXFIFO (*(volatile unsigned *)0x1000E200) /* 接受FIFO */ +#define USBD_TXFIFO (*(volatile unsigned *)0x1000E300) /* 发送FIFO */ + + +/****************************************************************************************** + * EMI模块 + * 基址: 0x11000000 + ******************************************************************************************/ + +#define EMI_CSACONF (*(volatile unsigned *)0x11000000) /* CSA参数配置寄存器 */ +#define EMI_CSBCONF (*(volatile unsigned *)0x11000004) /* CSB参数配置寄存器 */ +#define EMI_CSCCONF (*(volatile unsigned *)0x11000008) /* CSC参数配置寄存器 */ +#define EMI_CSDCONF (*(volatile unsigned *)0x1100000c) /* CSD参数配置寄存器 */ +#define EMI_CSECONF (*(volatile unsigned *)0x11000010) /* CSE参数配置寄存器 */ +#define EMI_CSFCONF (*(volatile unsigned *)0x11000014) /* CSF参数配置寄存器 */ +#define EMI_SDCONF1 (*(volatile unsigned *)0x11000018) /* SDRAM时序配置寄存器1 */ +#define EMI_SDCONF2 (*(volatile unsigned *)0x1100001c) /* SDRAM时序配置寄存器2, SDRAM初始化用到的配置信息 */ +#define EMI_REMAPCONF (*(volatile unsigned *)0x11000020) /* 片选空间及地址映射REMAP配置寄存器 */ +#define EMI_NAND_ADDR1 (*(volatile unsigned *)0x11000100) /* NAND FLASH的地址寄存器1 */ +#define EMI_NAND_COM (*(volatile unsigned *)0x11000104) /* NAND FLASH的控制字寄存器 */ +#define EMI_NAND_STA (*(volatile unsigned *)0x1100010c) /* NAND FLASH的状态寄存器 */ +#define EMI_ERR_ADDR1 (*(volatile unsigned *)0x11000110) /* 读操作出错的地址寄存器1 */ +#define EMI_ERR_ADDR2 (*(volatile unsigned *)0x11000114) /* 读操作出错的地址寄存器2 */ +#define EMI_NAND_CONF1 (*(volatile unsigned *)0x11000118) /* NAND FLASH的配置器存器1 */ +#define EMI_NAND_INTR (*(volatile unsigned *)0x1100011c) /* NAND FLASH中断寄存器 */ +#define EMI_NAND_ECC (*(volatile unsigned *)0x11000120) /* ECC校验完成寄存器 */ +#define EMI_NAND_IDLE (*(volatile unsigned *)0x11000124) /* NAND FLASH空闲寄存器 */ +#define EMI_NAND_CONF2 (*(volatile unsigned *)0x11000128) /* NAND FLASH的配置器存器2 */ +#define EMI_NAND_ADDR2 (*(volatile unsigned *)0x1100012c) /* NAND FLASH的地址寄存器2 */ +#define EMI_NAND_ID (*(volatile unsigned *)0x11000130) /* NAND FLASH的ID寄存器*/ +#define EMI_NAND_DATA (*(volatile unsigned *)0x11000200) /* NAND FLASH的数据寄存器 */ + + +/****************************************************************************************** + * DMAC模块 + * 基址: 0x11001000 + ******************************************************************************************/ + +#define DMAC_INTSTATUS (*(volatile unsigned *)0x11001020) /* DAMC中断状态寄存器。 */ +#define DMAC_INTTCSTATUS (*(volatile unsigned *)0x11001050) /* DMAC传输完成中断状态寄存器 */ +#define DMAC_INTTCCLEAR (*(volatile unsigned *)0x11001060) /* DMAC传输完成中断状态清除寄存器 */ +#define DMAC_INTERRORSTATUS (*(volatile unsigned *)0x11001080) /* DMAC传输错误中断状态寄存器 */ +#define DMAC_INTERRCLR (*(volatile unsigned *)0x11001090) /* DMAC传输错误中断状态清除寄存器 */ +#define DMAC_ENBLDCHNS (*(volatile unsigned *)0x110010b0) /* DMAC通道使能状态寄存器 */ +#define DMAC_C0SRCADDR (*(volatile unsigned *)0x11001000) /* DMAC道0源地址寄存器 */ +#define DMAC_C0DESTADD (*(volatile unsigned *)0x11001004) /* DMAC道0目的地址寄存器 */ +#define DMAC_C0CONTROL (*(volatile unsigned *)0x1100100c) /* DMAC道0控制寄存器 */ +#define DMAC_C0CONFIGURATION (*(volatile unsigned *)0x11001010) /* DMAC道0配置寄存器 */ +#define DMAC_C0DESCRIPTOR (*(volatile unsigned *)0x11001014) /* DMAC道0链表地址寄存器 */ +#define DMAC_C1SRCADDR (*(volatile unsigned *)0x11001100) /* DMAC道1源地址寄存器 */ +#define DMAC_C1DESTADDR (*(volatile unsigned *)0x11001104) /* DMAC道1目的地址寄存器 */ +#define DMAC_C1CONTROL (*(volatile unsigned *)0x1100110c) /* DMAC道1控制寄存器 */ +#define DMAC_C1CONFIGURATION (*(volatile unsigned *)0x11001110) /* DMAC道1配置寄存器 */ +#define DMAC_C1DESCRIPTOR (*(volatile unsigned *)0x11001114) /* DMAC道1链表地址寄存器 */ +#define DMAC_C2SRCADDR (*(volatile unsigned *)0x11001200) /* DMAC道2源地址寄存器 */ +#define DMAC_C2DESTADDR (*(volatile unsigned *)0x11001204) /* DMAC道2目的地址寄存器 */ +#define DMAC_C2CONTROL (*(volatile unsigned *)0x1100120c) /* DMAC道2控制寄存器 */ +#define DMAC_C2CONFIGURATION (*(volatile unsigned *)0x11001210) /* DMAC道2配置寄存器 */ +#define DMAC_C2DESCRIPTOR (*(volatile unsigned *)0x11001214) /* DMAC道2链表地址寄存器 */ +#define DMAC_C3SRCADDR (*(volatile unsigned *)0x11001300) /* DMAC道3源地址寄存器 */ +#define DMAC_C3DESTADDR (*(volatile unsigned *)0x11001304) /* DMAC道3目的地址寄存器 */ +#define DMAC_C3CONTROL (*(volatile unsigned *)0x1100130c) /* DMAC道3控制寄存器 */ +#define DMAC_C3CONFIGURATION (*(volatile unsigned *)0x11001310) /* DMAC道3配置寄存器 */ +#define DMAC_C3DESCRIPTOR (*(volatile unsigned *)0x11001314) /* DMAC道3链表地址寄存器 */ +#define DMAC_C4SRCADDR (*(volatile unsigned *)0x11001400) /* DMAC道4源地址寄存器 */ +#define DMAC_C4DESTADDR (*(volatile unsigned *)0x11001404) /* DMAC道4目的地址寄存器 */ +#define DMAC_C4CONTROL (*(volatile unsigned *)0x1100140c) /* DMAC道4控制寄存器 */ +#define DMAC_C4CONFIGURATION (*(volatile unsigned *)0x11001410) /* DMAC道4配置寄存器 */ +#define DMAC_C4DESCRIPTOR (*(volatile unsigned *)0x11001414) /* DMAC道4链表地址寄存器 */ +#define DMAC_C5SRCADDR (*(volatile unsigned *)0x11001500) /* DMAC道5源地址寄存器 */ +#define DMAC_C5DESTADDR (*(volatile unsigned *)0x11001504) /* DMAC道5目的地址寄存器 */ +#define DMAC_C5CONTROL (*(volatile unsigned *)0x1100150c) /* DMAC道5控制寄存器 */ +#define DMAC_C5CONFIGURATION (*(volatile unsigned *)0x11001510) /* DMAC道5配置寄存器 */ +#define DMAC_C5DESCRIPTOR (*(volatile unsigned *)0x11001514) /* DMAC道5链表地址寄存器 */ + + +/****************************************************************************************** + * LCDC模块 + * 基址: 0x11002000 + ******************************************************************************************/ + +#define LCDC_SSA (*(volatile unsigned *)0x11002000) /* 屏幕起始地址寄存器 */ +#define LCDC_SIZE (*(volatile unsigned *)0x11002004) /* 屏幕尺寸寄存器 */ +#define LCDC_PCR (*(volatile unsigned *)0x11002008) /* 面板配置寄存器 */ +#define LCDC_HCR (*(volatile unsigned *)0x1100200c) /* 水平配置寄存器 */ +#define LCDC_VCR (*(volatile unsigned *)0x11002010) /* 垂直配置寄存器 */ +#define LCDC_PWMR (*(volatile unsigned *)0x11002014) /* PWM对比度控制寄存器 */ +#define LCDC_LECR (*(volatile unsigned *)0x11002018) /* 使能控制寄存器 */ +#define LCDC_DMACR (*(volatile unsigned *)0x1100201c) /* DMA控制寄存器 */ +#define LCDC_LCDISREN (*(volatile unsigned *)0x11002020) /* 中断使能寄存器 */ +#define LCDC_LCDISR (*(volatile unsigned *)0x11002024) /* 中断状态寄存器 */ +#define LCDC_LGPMR (*(volatile unsigned *)0x11002040) /* 灰度调色映射寄存器组 */ + /*(0x40-0x7c 16个32bit寄存器) */ + + +/****************************************************************************************** + * MAC模块 + * 基址: 0x11003000 + ******************************************************************************************/ + +#define MAC_CTRL (*(volatile unsigned *)0x11003000) /* MAC控制寄存器 */ +#define MAC_INTSRC (*(volatile unsigned *)0x11003004) /* MAC中断源寄存器 */ +#define MAC_INTMASK (*(volatile unsigned *)0x11003008) /* MAC中断屏蔽寄存器 */ +#define MAC_IPGT (*(volatile unsigned *)0x1100300c) /* 连续帧间隔寄存器 */ +#define MAC_IPGR1 (*(volatile unsigned *)0x11003010) /* 等待窗口寄存器 */ +#define MAC_IPGR2 (*(volatile unsigned *)0x11003014) /* 等待窗口寄存器 */ +#define MAC_PACKETLEN (*(volatile unsigned *)0x11003018) /* 帧长度寄存器 */ +#define MAC_COLLCONF (*(volatile unsigned *)0x1100301c) /* 碰撞重发寄存器 */ +#define MAC_TXBD_NUM (*(volatile unsigned *)0x11003020) /* 发送描述符寄存器 */ +#define MAC_FLOWCTRL (*(volatile unsigned *)0x11003024) /* 流控寄存器 */ +#define MAC_MII_CTRL (*(volatile unsigned *)0x11003028) /* PHY控制寄存器 */ +#define MAC_MII_CMD (*(volatile unsigned *)0x1100302c) /* PHY命令寄存器 */ +#define MAC_MII_ADDRESS (*(volatile unsigned *)0x11003030) /* PHY地址寄存器 */ +#define MAC_MII_TXDATA (*(volatile unsigned *)0x11003034) /* PHY写数据寄存器 */ +#define MAC_MII_RXDATA (*(volatile unsigned *)0x11003038) /* PHY读数据寄存器 */ +#define MAC_MII_STATUS (*(volatile unsigned *)0x1100303c) /* PHY状态寄存器 */ +#define MAC_ADDR0 (*(volatile unsigned *)0x11003040) /* MAC地址寄存器 */ +#define MAC_ADDR1 (*(volatile unsigned *)0x11003044) /* MAC地址寄存器 */ +#define MAC_HASH0 (*(volatile unsigned *)0x11003048) /* MAC HASH寄存器 */ +#define MAC_HASH1 (*(volatile unsigned *)0x1100304c) /* MAC HASH寄存器 */ +#define MAC_TXPAUSE (*(volatile unsigned *)0x11003050) /* MAC控制帧寄存器 */ +#define MAC_BD /* 0x4*/ + + +#endif + +/*******************END OF FILE*************************/ diff --git a/bsp/sep4020/startup.c b/bsp/sep4020/startup.c new file mode 100644 index 0000000000..e642fcdaf7 --- /dev/null +++ b/bsp/sep4020/startup.c @@ -0,0 +1,132 @@ +/* + * File : startup.c + * This file is part of RT-Thread RTOS + * COPYRIGHT (C) 2006, RT-Thread Develop Team + * + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://openlab.rt-thread.com/license/LICENSE + * + * Change Logs: + * Date Author Notes + * 2006-08-31 Bernard first implementation + */ + +#include +#include + +#include "board.h" + +/** + * @addtogroup STM32 + */ + +/*@{*/ + +extern int rt_application_init(void); + +#ifdef RT_USING_FINSH +extern void finsh_system_init(void); +extern void finsh_set_device(const char* device); +#endif + +#ifdef __CC_ARM +extern int Image$$RW_RAM1$$ZI$$Limit; +#elif __ICCARM__ +#pragma section="HEAP" +#else +extern int __bss_end; +#endif + +#ifdef DEBUG +/******************************************************************************* +* Function Name : assert_failed +* Description : Reports the name of the source file and the source line number +* where the assert error has occurred. +* Input : - file: pointer to the source file name +* - line: assert error line source number +* Output : None +* Return : None +*******************************************************************************/ +void assert_failed(u8* file, u32 line) +{ + rt_kprintf("\n\r Wrong parameter value detected on\r\n"); + rt_kprintf(" file %s\r\n", file); + rt_kprintf(" line %d\r\n", line); + + while (1) ; +} +#endif + +/** + * This function will startup RT-Thread RTOS. + */ +void rtthread_startup(void) +{ + /* init hardware interrupt */ + rt_hw_interrupt_init(); + /* init board */ + rt_hw_board_init(); + + /* show version */ + rt_show_version(); + + /* init tick */ + rt_system_tick_init(); + + /* init kernel object */ + rt_system_object_init(); + + /* init timer system */ + rt_system_timer_init(); + +#ifdef RT_USING_HEAP + #ifdef __CC_ARM + rt_system_heap_init((void*)&Image$$RW_RAM1$$ZI$$Limit, (void*)0x32000000); + #elif __ICCARM__ + rt_system_heap_init(__segment_end("HEAP"), (void*)STM32_SRAM_END); + #else + /* init memory system */ + rt_system_heap_init((void*)&__bss_end, (void*)STM32_SRAM_END); + #endif +#endif + + /* init scheduler system */ + rt_system_scheduler_init(); + + /* init all device */ + rt_device_init_all(); + + /* init application */ + rt_application_init(); + +#ifdef RT_USING_FINSH + /* init finsh */ + finsh_system_init(); + finsh_set_device("uart0"); +#endif + + /* init idle thread */ + rt_thread_idle_init(); + + /* start scheduler */ + rt_system_scheduler_start(); + + /* never reach here */ + return ; +} + +int main(void) +{ + rt_uint32_t UNUSED level; + + /* disable interrupt first */ + level = rt_hw_interrupt_disable(); + + /* startup RT-Thread RTOS */ + rtthread_startup(); + + return 0; +} + +/*@}*/ -- cgit v1.3.1