update mini4020 project

git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2185 bbd45198-f89e-11dd-88c7-29a3b14d5316
This commit is contained in:
dzzxzz@gmail.com 2012-06-26 03:30:07 +00:00
parent 594ccd799a
commit aea59143b5
18 changed files with 468 additions and 420 deletions

View File

@ -1,9 +1,12 @@
import rtconfig
Import('RTT_ROOT')
from building import * from building import *
src = Glob('*.c') cwd = GetCurrentDir()
CPPPATH = [RTT_ROOT + '/bsp/mini4020'] objs = []
group = DefineGroup('Startup', src, depend = [''], CPPPATH = CPPPATH) list = os.listdir(cwd)
Return('group') for d in list:
path = os.path.join(cwd, d)
if os.path.isfile(os.path.join(path, 'SConscript')):
objs = objs + SConscript(os.path.join(d, 'SConscript'))
Return('objs')

View File

@ -0,0 +1,9 @@
from building import *
cwd = GetCurrentDir()
src = Glob('*.c')
CPPPATH = [cwd, str(Dir('#'))]
group = DefineGroup('Applications', src, depend = [''], CPPPATH = CPPPATH)
Return('group')

View File

@ -1,7 +1,7 @@
/* /*
* File : application.c * File : application.c
* This file is part of RT-Thread RTOS * This file is part of RT-Thread RTOS
* COPYRIGHT (C) 2006, RT-Thread Development Team * COPYRIGHT (C) 2006 - 2012, RT-Thread Development Team
* *
* The license and distribution terms for this file may be * The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at * found in the file LICENSE in this distribution or at
@ -14,8 +14,9 @@
*/ */
/** /**
* @addtogroup mini2440 * @addtogroup mini4020
*/ */
/*@{*/ /*@{*/
#include <board.h> #include <board.h>
@ -27,10 +28,12 @@
#include <dfs_fs.h> #include <dfs_fs.h>
#include <dfs_posix.h> #include <dfs_posix.h>
#endif #endif
#ifdef RT_USING_RTGUI #ifdef RT_USING_RTGUI
#include <rtgui/rtgui.h> #include <rtgui/rtgui.h>
extern void radio_rtgui_init(void); extern void radio_rtgui_init(void);
#endif #endif
#define RT_INIT_THREAD_STACK_SIZE (2*1024) #define RT_INIT_THREAD_STACK_SIZE (2*1024)
void rt_init_thread_entry(void *parameter) void rt_init_thread_entry(void *parameter)
@ -103,12 +106,11 @@ void rt_led_thread_entry(void* parameter)
} }
int rt_application_init() int rt_application_init(void)
{ {
rt_thread_t init_thread; rt_thread_t init_thread;
rt_thread_t led_thread; rt_thread_t led_thread;
init_thread = rt_thread_create("init", init_thread = rt_thread_create("init",
rt_init_thread_entry, RT_NULL, rt_init_thread_entry, RT_NULL,
RT_INIT_THREAD_STACK_SIZE, 8, 20); RT_INIT_THREAD_STACK_SIZE, 8, 20);
@ -121,6 +123,7 @@ int rt_application_init()
if (led_thread != RT_NULL) if (led_thread != RT_NULL)
rt_thread_startup(led_thread); rt_thread_startup(led_thread);
return 0; return 0;
} }

View File

@ -1,3 +1,16 @@
/*
* File : application.c
* This file is part of RT-Thread RTOS
* COPYRIGHT (C) 2009 - 2012, 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
*/
#include <rthw.h> #include <rthw.h>
#include <rtthread.h> #include <rtthread.h>

View File

@ -0,0 +1,19 @@
from building import *
cwd = GetCurrentDir()
src = Glob('*.c')
# remove no need file.
if GetDepend('RT_USING_LWIP') == False:
SrcRemove(src, 'dm9161.c')
if GetDepend('RT_USING_DFS') == False:
SrcRemove(src, 'sdcard.c')
if GetDepend('RT_USING_RTGUI') == False:
SrcRemove(src, 'lcd.c')
SrcRemove(src, 'lcdc.c')
CPPPATH = [cwd]
group = DefineGroup('Drivers', src, depend = [''], CPPPATH = CPPPATH)
Return('group')

View File

@ -1,7 +1,7 @@
/* /*
* File : board.c * File : board.c
* This file is part of RT-Thread RTOS * This file is part of RT-Thread RTOS
* COPYRIGHT (C) 2006 - 2009 RT-Thread Develop Team * COPYRIGHT (C) 2006 - 2012 RT-Thread Develop Team
* *
* The license and distribution terms for this file may be * The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at * found in the file LICENSE in this distribution or at
@ -12,6 +12,7 @@
* 2009-05-16 Bernard first implementation * 2009-05-16 Bernard first implementation
* 2010-10-5 Wangmeng sep4020 implementation * 2010-10-5 Wangmeng sep4020 implementation
*/ */
#include <rthw.h> #include <rthw.h>
#include <rtthread.h> #include <rtthread.h>
@ -30,7 +31,6 @@ struct serial_device uart0 =
RT_NULL RT_NULL
}; };
/** /**
* This function will handle rtos timer * This function will handle rtos timer
*/ */
@ -56,9 +56,7 @@ void rt_serial_handler(int vector)
/*Received data*/ /*Received data*/
if (((stat & 0x0E) >> 1) == 0x02) if (((stat & 0x0E) >> 1) == 0x02)
{ {
rt_hw_serial_isr(&uart0_device); rt_hw_serial_isr(&uart0_device);
} }
else else
{ {
@ -67,6 +65,7 @@ void rt_serial_handler(int vector)
c = uart0.uart_device->dlbl_fifo.rxfifo; c = uart0.uart_device->dlbl_fifo.rxfifo;
} }
} }
/** /**
* This function will init led on the board * This function will init led on the board
*/ */
@ -82,7 +81,7 @@ static void rt_hw_board_led_init(void)
/** /**
* This function will init timer4 for system ticks * This function will init timer4 for system ticks
*/ */
void rt_hw_timer_init() void rt_hw_timer_init(void)
{ {
/*Set timer1*/ /*Set timer1*/
*(RP)TIMER_T1LCR = 880000; *(RP)TIMER_T1LCR = 880000;
@ -128,7 +127,7 @@ void rt_hw_uart_init(void)
&uart0); &uart0);
} }
void rt_hw_board_init() void rt_hw_board_init(void)
{ {
/* initialize uart */ /* initialize uart */
rt_hw_uart_init(); rt_hw_uart_init();
@ -143,9 +142,11 @@ void rt_hw_serial_putc(const char c)
to be polite with serial console add a line feed to be polite with serial console add a line feed
to the carriage return character to the carriage return character
*/ */
if (c=='\n')rt_hw_serial_putc('\r'); if (c=='\n')
rt_hw_serial_putc('\r');
while (!((*(RP)UART0_LSR) & 0x40)); while (!((*(RP)UART0_LSR) & 0x40));
*(RP)(UART0_BASE) = c; *(RP)(UART0_BASE) = c;
} }

View File

@ -1,7 +1,7 @@
/* /*
* File : board.h * File : board.h
* This file is part of RT-Thread RTOS * This file is part of RT-Thread RTOS
* COPYRIGHT (C) 2006, RT-Thread Develop Team * COPYRIGHT (C) 2009 - 2012, RT-Thread Development Team
* *
* The license and distribution terms for this file may be * The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at * found in the file LICENSE in this distribution or at

View File

@ -1,3 +1,16 @@
/*
* File : dm9161.c
* This file is part of RT-Thread RTOS
* COPYRIGHT (C) 2009 - 2012, 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
*/
#include <rtthread.h> #include <rtthread.h>
#include <netif/ethernetif.h> #include <netif/ethernetif.h>
@ -73,6 +86,7 @@ void rt_dm9161_isr(int irqno);
static void udelay(unsigned long ns) static void udelay(unsigned long ns)
{ {
unsigned long i; unsigned long i;
while (ns--) while (ns--)
{ {
i = 100; i = 100;
@ -83,6 +97,7 @@ static void udelay(unsigned long ns)
static __inline unsigned long sep_emac_read(unsigned int reg) static __inline unsigned long sep_emac_read(unsigned int reg)
{ {
void __iomem *emac_base = (void __iomem *)reg; void __iomem *emac_base = (void __iomem *)reg;
return read_reg(emac_base); return read_reg(emac_base);
} }
@ -109,6 +124,7 @@ static void enable_mdi(void) //need think more
ctl = sep_emac_read(MAC_CTRL); ctl = sep_emac_read(MAC_CTRL);
sep_emac_write(MAC_CTRL, ctl&(~0x3)); /* enable management port */ sep_emac_write(MAC_CTRL, ctl&(~0x3)); /* enable management port */
return; return;
} }
@ -121,6 +137,7 @@ static void disable_mdi(void)
ctl = sep_emac_read(MAC_CTRL); ctl = sep_emac_read(MAC_CTRL);
sep_emac_write(MAC_CTRL, ctl|(0x3)); /* disable management port */ sep_emac_write(MAC_CTRL, ctl|(0x3)); /* disable management port */
return; return;
} }
@ -140,6 +157,7 @@ static __inline void sep_phy_wait(void)
break; break;
} }
} }
return; return;
} }
@ -158,6 +176,7 @@ static void write_phy(unsigned char phy_addr, unsigned char address, unsigned in
udelay(40); udelay(40);
sep_phy_wait(); sep_phy_wait();
return; return;
} }
@ -177,12 +196,10 @@ static void read_phy(unsigned char phy_addr, unsigned char address, unsigned int
mii_rxdata = sep_emac_read(MAC_MII_RXDATA); mii_rxdata = sep_emac_read(MAC_MII_RXDATA);
*value = mii_rxdata; *value = mii_rxdata;
return; return;
} }
/* interrupt service routine */ /* interrupt service routine */
void rt_dm9161_isr(int irqno) void rt_dm9161_isr(int irqno)
{ {
@ -219,7 +236,6 @@ void rt_dm9161_isr(int irqno)
else if (intstatus & 0x10) else if (intstatus & 0x10)
{ {
rt_kprintf("ROVER ERROR\n"); rt_kprintf("ROVER ERROR\n");
} }
while(intstatus) while(intstatus)
@ -229,7 +245,6 @@ void rt_dm9161_isr(int irqno)
} }
unmask_irq(INTSRC_MAC); unmask_irq(INTSRC_MAC);
} }
static rt_err_t update_mac_address() static rt_err_t update_mac_address()
@ -252,12 +267,12 @@ static rt_err_t update_mac_address()
static int mii_link_ok(unsigned long phy_id) static int mii_link_ok(unsigned long phy_id)
{ {
/* first, a dummy read, needed to latch some MII phys */ /* first, a dummy read, needed to latch some MII phys */
unsigned int value; unsigned int value;
read_phy(phy_id, MII_BMSR,&value); read_phy(phy_id, MII_BMSR,&value);
if (value & BMSR_LSTATUS) if (value & BMSR_LSTATUS)
return 1; return 1;
return 0; return 0;
} }
@ -326,6 +341,7 @@ static void update_link_speed(unsigned short phy_addr)
result: result:
mac_cfg = sep_emac_read(MAC_CTRL); mac_cfg = sep_emac_read(MAC_CTRL);
DBOUT("After mac_cfg=%d\n",mac_cfg); DBOUT("After mac_cfg=%d\n",mac_cfg);
return; return;
} }
@ -383,14 +399,12 @@ static rt_err_t rt_dm9161_init(rt_device_t dev)
return RT_EOK; return RT_EOK;
} }
/* ................................ MAC ................................ */ /* ................................ MAC ................................ */
/* /*
* Initialize and start the Receiver and Transmit subsystems * Initialize and start the Receiver and Transmit subsystems
*/ */
static void sepether_start() static void sepether_start(void)
{ {
int i; int i;
unsigned int tempaddr; unsigned int tempaddr;
@ -425,7 +439,6 @@ static void sepether_start()
tempaddr=(MAC_TX_BD + MAX_TX_DESCR*8+i*8-8); tempaddr=(MAC_TX_BD + MAX_TX_DESCR*8+i*8-8);
sep_emac_write(tempaddr,0xe000); sep_emac_write(tempaddr,0xe000);
for (i = 0; i < MAX_TX_DESCR; i++) for (i = 0; i < MAX_TX_DESCR; i++)
{ {
tempaddr=(MAC_TX_BD+i*8); tempaddr=(MAC_TX_BD+i*8);
@ -440,12 +453,12 @@ static void sepether_start()
static rt_err_t rt_dm9161_open(rt_device_t dev, rt_uint16_t oflag) static rt_err_t rt_dm9161_open(rt_device_t dev, rt_uint16_t oflag)
{ {
unsigned int dsintr; unsigned int dsintr;
enable_mdi(); enable_mdi();
mask_irq(28); mask_irq(28);
sep_emac_write(MAC_INTMASK,0x0); //Ê×ÏÈÆÁ±ÎÖÐ¶Ï sep_emac_write(MAC_INTMASK,0x0); //Ê×ÏÈÆÁ±ÎÖжÏ
sepether_start(); sepether_start();
/* Enable PHY interrupt */ /* Enable PHY interrupt */
@ -475,6 +488,7 @@ static rt_err_t rt_dm9161_open(rt_device_t dev, rt_uint16_t oflag)
disable_mdi(); disable_mdi();
rt_kprintf("SEP4020 ethernet interface open!\n\r"); rt_kprintf("SEP4020 ethernet interface open!\n\r");
return RT_EOK; return RT_EOK;
} }
@ -493,7 +507,6 @@ static rt_err_t rt_dm9161_close(rt_device_t dev)
/* Disable MAC interrupts */ /* Disable MAC interrupts */
sep_emac_write(MAC_INTMASK,0); //ÆÁ±ÎÖÐ¶Ï sep_emac_write(MAC_INTMASK,0); //ÆÁ±ÎÖжÏ
// INT_DISABLE(28); // INT_DISABLE(28);
return RT_EOK; return RT_EOK;
@ -502,18 +515,19 @@ static rt_err_t rt_dm9161_close(rt_device_t dev)
static rt_size_t rt_dm9161_read(rt_device_t dev, rt_off_t pos, void* buffer, rt_size_t size) static rt_size_t rt_dm9161_read(rt_device_t dev, rt_off_t pos, void* buffer, rt_size_t size)
{ {
rt_set_errno(-RT_ENOSYS); rt_set_errno(-RT_ENOSYS);
return 0; return 0;
} }
static rt_size_t rt_dm9161_write (rt_device_t dev, rt_off_t pos, const void* buffer, rt_size_t size) static rt_size_t rt_dm9161_write (rt_device_t dev, rt_off_t pos, const void* buffer, rt_size_t size)
{ {
rt_set_errno(-RT_ENOSYS); rt_set_errno(-RT_ENOSYS);
return 0; return 0;
} }
static rt_err_t rt_dm9161_control(rt_device_t dev, rt_uint8_t cmd, void *args) static rt_err_t rt_dm9161_control(rt_device_t dev, rt_uint8_t cmd, void *args)
{ {
return RT_EOK; return RT_EOK;
} }
@ -642,11 +656,9 @@ struct pbuf *rt_dm9161_rx(rt_device_t dev)
rt_sem_release(&sem_lock); rt_sem_release(&sem_lock);
return p; return p;
} }
void rt_hw_dm9161_init() void rt_hw_dm9161_init()
{ {
rt_sem_init(&sem_ack, "tx_ack", 1, RT_IPC_FLAG_FIFO); rt_sem_init(&sem_ack, "tx_ack", 1, RT_IPC_FLAG_FIFO);

View File

@ -1,3 +1,16 @@
/*
* File : dm9161.h
* This file is part of RT-Thread RTOS
* COPYRIGHT (C) 2009 - 2012, 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
*/
#ifndef __DM9000_H__ #ifndef __DM9000_H__
#define __DM9000_H__ #define __DM9000_H__

View File

@ -0,0 +1,74 @@
/*
* File : lcd.c
* This file is part of RT-Thread RTOS
* COPYRIGHT (C) 2009 - 2012, 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
*/
#include "lcdc.h"
#include "rtthread.h"
#include "board.h"
#include <rtgui/rtgui.h>
#include <rtgui/driver.h>
#include <rtgui/rtgui_server.h>
#include <rtgui/rtgui_system.h>
extern rt_err_t sep4020_lcd_init(void);
extern unsigned long pVideoBuffer;
struct rtgui_graphic_driver _rtgui_lcd_driver;
struct rtgui_graphic_driver_ops _rtgui_graphic_driver_ops;
void radio_rtgui_init(void)
{
rtgui_rect_t rect;
rtgui_system_server_init();
/* register dock panel */
rect.x1 = 0;
rect.y1 = 0;
rect.x2 = 320;
rect.y2 = 25;
rtgui_panel_register("info", &rect);
rtgui_panel_set_nofocused("info");
/* register main panel */
rect.x1 = 0;
rect.y1 = 25;
rect.x2 = 320;
rect.y2 = 240;
rtgui_panel_register("main", &rect);
rtgui_panel_set_default_focused("main");
_rtgui_graphic_driver_ops.set_pixel=lcd_set_pixel;
_rtgui_graphic_driver_ops.get_pixel=lcd_get_pixel;
_rtgui_graphic_driver_ops.draw_hline=lcd_draw_hline;
_rtgui_graphic_driver_ops.draw_vline=lcd_draw_vline;
_rtgui_graphic_driver_ops.draw_raw_hline=lcd_draw_raw_hline;
_rtgui_lcd_driver.bits_per_pixel = 16;
_rtgui_lcd_driver.width = 320;
_rtgui_lcd_driver.height = 240;
_rtgui_lcd_driver.ops = &_rtgui_graphic_driver_ops;
//_rtgui_lcd_driver.screen_update = lcd_update;
//_rtgui_lcd_driver.get_framebuffer = lcd_get_framebuffer;
sep4020_lcd_init();
rt_memset((char*)pVideoBuffer,0xff,320*240*2);
//rt_memcpy((char*)pVideoBuffer,pic,320*240*2); //TESTING IMAGE
//´Ë´¦´ýÐÞÕý
/* add lcd driver into graphic driver */
// rtgui_graphic_driver_add(&_rtgui_lcd_driver);
}

View File

@ -1,24 +1,32 @@
/*
* File : lcdc.c
* This file is part of RT-Thread RTOS
* COPYRIGHT (C) 2009 - 2012, 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
*/
#include "lcdc.h" #include "lcdc.h"
#include <sep4020.h> #include <sep4020.h>
#define writel(DATA,ADDRESS) *((volatile rt_off_t *) ADDRESS)= DATA; #define writel(DATA,ADDRESS) *((volatile rt_off_t *) ADDRESS)= DATA;
unsigned long pVideoBuffer; unsigned long pVideoBuffer;
rt_err_t sep4020_lcd_init(void) rt_err_t sep4020_lcd_init(void)
{ {
pVideoBuffer =(unsigned long)rt_malloc(LCDWIDTH * LCDHEIGHT * 2); pVideoBuffer =(unsigned long)rt_malloc(LCDWIDTH * LCDHEIGHT * 2);
*(RP)GPIO_PORTC_SEL |= 0X0008; //Portc8设置为通用口 *(RP)GPIO_PORTC_SEL |= 0X0008; //Portc8设置为通用口
*(RP)GPIO_PORTC_DIR &= (~0X0008); //Portc8设置为输出 *(RP)GPIO_PORTC_DIR &= (~0X0008); //Portc8设置为输出
*(RP)GPIO_PORTC_DATA |= 0X0008; //Portc8输出高电平 *(RP)GPIO_PORTC_DATA |= 0X0008; //Portc8输出高电平
writel(0x00000000,LCDC_LECR); //禁用LCDC writel(0x00000000,LCDC_LECR); //禁用LCDC
writel(pVideoBuffer,LCDC_SSA); //lcd数据帧的起始地址 writel(pVideoBuffer,LCDC_SSA); //lcd数据帧的起始地址
writel(YMAX | XMAX,LCDC_SIZE); writel(YMAX | XMAX,LCDC_SIZE);
@ -33,7 +41,6 @@ rt_err_t sep4020_lcd_init(void)
return RT_EOK; return RT_EOK;
} }
void lcd_set_pixel(rtgui_color_t *c, int x, int y) void lcd_set_pixel(rtgui_color_t *c, int x, int y)
{ {
unsigned short p; unsigned short p;
@ -41,14 +48,11 @@ rt_err_t sep4020_lcd_init(void)
/* get color pixel */ /* get color pixel */
p = rtgui_color_to_565p(*c); p = rtgui_color_to_565p(*c);
*(unsigned short *)(pVideoBuffer + 2*y*LCDWIDTH + 2*x) = p; *(unsigned short *)(pVideoBuffer + 2*y*LCDWIDTH + 2*x) = p;
} }
void lcd_get_pixel(rtgui_color_t *c, int x, int y) void lcd_get_pixel(rtgui_color_t *c, int x, int y)
{ {
*c = rtgui_color_from_565p( *(unsigned short *)(pVideoBuffer+2*y*LCDWIDTH+2*x)); *c = rtgui_color_from_565p( *(unsigned short *)(pVideoBuffer+2*y*LCDWIDTH+2*x));
} }
@ -59,12 +63,10 @@ void lcd_draw_hline(rtgui_color_t *c, int x1, int x2, int y)
/* get color pixel */ /* get color pixel */
p = rtgui_color_to_565p(*c); p = rtgui_color_to_565p(*c);
while (x1 < x2) while (x1 < x2)
{ {
*(unsigned short *)(pVideoBuffer+2*y*LCDWIDTH+2*x1)=p; *(unsigned short *)(pVideoBuffer+2*y*LCDWIDTH+2*x1)=p;
x1 ++; x1 ++;
} }
} }
@ -75,10 +77,8 @@ void lcd_draw_vline(rtgui_color_t *c, int x, int y1, int y2)
/* get color pixel */ /* get color pixel */
p = rtgui_color_to_565p(*c); p = rtgui_color_to_565p(*c);
while (y1 < y2) while (y1 < y2)
{ {
*(unsigned short *)(pVideoBuffer+2*y1*LCDWIDTH+2*x)=p; *(unsigned short *)(pVideoBuffer+2*y1*LCDWIDTH+2*x)=p;
y1 ++; y1 ++;
} }
@ -91,7 +91,6 @@ void lcd_draw_raw_hline(rt_uint8_t *pixels, int x1, int x2, int y)
/* get pixel */ /* get pixel */
ptr = (rt_uint16_t*) pixels; ptr = (rt_uint16_t*) pixels;
while (x1 < x2) while (x1 < x2)
{ {
*(unsigned short *)(pVideoBuffer+2*y*LCDWIDTH+2*x1)=*ptr; *(unsigned short *)(pVideoBuffer+2*y*LCDWIDTH+2*x1)=*ptr;

View File

@ -1,3 +1,16 @@
/*
* File : lcdc.h
* This file is part of RT-Thread RTOS
* COPYRIGHT (C) 2009 - 2012, 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
*/
#ifndef LCD_GENERAL_H_INCLUDED #ifndef LCD_GENERAL_H_INCLUDED
#define LCD_GENERAL_H_INCLUDED #define LCD_GENERAL_H_INCLUDED

View File

@ -1,3 +1,15 @@
/*
* File : mii.h
* This file is part of RT-Thread RTOS
* COPYRIGHT (C) 2009 - 2012, 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
*/
#ifndef __MII_H__ #ifndef __MII_H__
#define __MII_H__ #define __MII_H__

View File

@ -1,7 +1,7 @@
/* /*
* File : sdcard.c * File : sdcard.c
* This file is part of RT-Thread RTOS * This file is part of RT-Thread RTOS
* COPYRIGHT (C) 2006, 2007, RT-Thread Develop Team * COPYRIGHT (C) 2007 - 2012, RT-Thread Development Team
* *
* The license and distribution terms for this file may be * The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at * found in the file LICENSE in this distribution or at

View File

@ -1,3 +1,15 @@
/*
* File : sdcard.h
* This file is part of RT-Thread RTOS
* COPYRIGHT (C) 2009 - 2012, 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
*/
#ifndef __SDCARD_H #ifndef __SDCARD_H
#define __SDCARD_H #define __SDCARD_H
@ -44,8 +56,6 @@ struct sd_device
rt_uint32_t buf_size; /*buffer size*/ rt_uint32_t buf_size; /*buffer size*/
}; };
#endif #endif
#endif #endif

View File

@ -1,69 +0,0 @@
#include "lcdc.h"
#include "rtthread.h"
#include "board.h"
#include <rtgui/rtgui.h>
#include <rtgui/driver.h>
#include <rtgui/rtgui_server.h>
#include <rtgui/rtgui_system.h>
extern rt_err_t sep4020_lcd_init(void);
extern unsigned long pVideoBuffer;
struct rtgui_graphic_driver _rtgui_lcd_driver;
struct rtgui_graphic_driver_ops _rtgui_graphic_driver_ops;
void radio_rtgui_init(void)
{
rtgui_rect_t rect;
// rtgui_color_t c=0xff;
rtgui_system_server_init();
/* register dock panel */
rect.x1 = 0;
rect.y1 = 0;
rect.x2 = 320;
rect.y2 = 25;
rtgui_panel_register("info", &rect);
rtgui_panel_set_nofocused("info");
/* register main panel */
rect.x1 = 0;
rect.y1 = 25;
rect.x2 = 320;
rect.y2 = 240;
rtgui_panel_register("main", &rect);
rtgui_panel_set_default_focused("main");
_rtgui_graphic_driver_ops.set_pixel=lcd_set_pixel;
_rtgui_graphic_driver_ops.get_pixel=lcd_get_pixel;
_rtgui_graphic_driver_ops.draw_hline=lcd_draw_hline;
_rtgui_graphic_driver_ops.draw_vline=lcd_draw_vline;
_rtgui_graphic_driver_ops.draw_raw_hline=lcd_draw_raw_hline;
_rtgui_lcd_driver.bits_per_pixel = 16;
_rtgui_lcd_driver.width = 320;
_rtgui_lcd_driver.height = 240;
_rtgui_lcd_driver.ops = &_rtgui_graphic_driver_ops;
// _rtgui_lcd_driver.screen_update = lcd_update;
// _rtgui_lcd_driver.get_framebuffer = lcd_get_framebuffer;
sep4020_lcd_init();
rt_memset((char*)pVideoBuffer,0xff,320*240*2);
// rt_memcpy((char*)pVideoBuffer,pic,320*240*2); //TESTING IMAGE
//´Ë´¦´ýÐÞÕý
/* add lcd driver into graphic driver */
// rtgui_graphic_driver_add(&_rtgui_lcd_driver);
}

View File

@ -3,160 +3,96 @@
Target (RT-Thread_Mini4020), 0x0004 // Tools: 'ARM-ADS' Target (RT-Thread_Mini4020), 0x0004 // Tools: 'ARM-ADS'
Group (Startup) Group (Applications)
Group (Drivers)
Group (Kernel) Group (Kernel)
Group (SEP4020) Group (SEP4020)
Group (Filesystem) Group (Filesystem)
Group (finsh) Group (finsh)
Group (LwIP) Group (LwIP)
Group (RTGUI)
File 1,1,<.\application.c><application.c> File 1,1,<applications\application.c><application.c>
File 1,1,<.\board.c><board.c> File 1,1,<applications\startup.c><startup.c>
File 1,1,<.\dm9161.c><dm9161.c> File 2,1,<drivers\board.c><board.c>
File 1,1,<.\lcd.c><lcd.c> File 2,1,<drivers\dm9161.c><dm9161.c>
File 1,1,<.\lcdc.c><lcdc.c> File 2,1,<drivers\sdcard.c><sdcard.c>
File 1,1,<.\sdcard.c><sdcard.c> File 3,1,<..\..\src\clock.c><clock.c>
File 1,1,<.\startup.c><startup.c> File 3,1,<..\..\src\device.c><device.c>
File 2,1,<..\..\src\clock.c><clock.c> File 3,1,<..\..\src\idle.c><idle.c>
File 2,1,<..\..\src\device.c><device.c> File 3,1,<..\..\src\ipc.c><ipc.c>
File 2,1,<..\..\src\idle.c><idle.c> File 3,1,<..\..\src\irq.c><irq.c>
File 2,1,<..\..\src\ipc.c><ipc.c> File 3,1,<..\..\src\kservice.c><kservice.c>
File 2,1,<..\..\src\irq.c><irq.c> File 3,1,<..\..\src\mempool.c><mempool.c>
File 2,1,<..\..\src\kservice.c><kservice.c> File 3,1,<..\..\src\object.c><object.c>
File 2,1,<..\..\src\memheap.c><memheap.c> File 3,1,<..\..\src\scheduler.c><scheduler.c>
File 2,1,<..\..\src\mempool.c><mempool.c> File 3,1,<..\..\src\slab.c><slab.c>
File 2,1,<..\..\src\object.c><object.c> File 3,1,<..\..\src\thread.c><thread.c>
File 2,1,<..\..\src\scheduler.c><scheduler.c> File 3,1,<..\..\src\timer.c><timer.c>
File 2,1,<..\..\src\slab.c><slab.c> File 4,1,<..\..\libcpu\arm\sep4020\clk.c><clk.c>
File 2,1,<..\..\src\thread.c><thread.c> File 4,1,<..\..\libcpu\arm\sep4020\cpu.c><cpu.c>
File 2,1,<..\..\src\timer.c><timer.c> File 4,1,<..\..\libcpu\arm\sep4020\interrupt.c><interrupt.c>
File 3,1,<..\..\libcpu\arm\sep4020\clk.c><clk.c> File 4,1,<..\..\libcpu\arm\sep4020\serial.c><serial.c>
File 3,1,<..\..\libcpu\arm\sep4020\cpu.c><cpu.c> File 4,1,<..\..\libcpu\arm\sep4020\stack.c><stack.c>
File 3,1,<..\..\libcpu\arm\sep4020\interrupt.c><interrupt.c> File 4,1,<..\..\libcpu\arm\sep4020\trap.c><trap.c>
File 3,1,<..\..\libcpu\arm\sep4020\serial.c><serial.c> File 4,2,<..\..\libcpu\arm\sep4020\context_rvds.S><context_rvds.S>
File 3,1,<..\..\libcpu\arm\sep4020\stack.c><stack.c> File 4,2,<..\..\libcpu\arm\sep4020\start_rvds.S><start_rvds.S>
File 3,1,<..\..\libcpu\arm\sep4020\trap.c><trap.c> File 4,1,<..\..\libcpu\arm\common\backtrace.c><backtrace.c>
File 3,2,<..\..\libcpu\arm\sep4020\context_rvds.S><context_rvds.S> File 4,1,<..\..\libcpu\arm\common\div0.c><div0.c>
File 3,2,<..\..\libcpu\arm\sep4020\start_rvds.S><start_rvds.S> File 4,1,<..\..\libcpu\arm\common\showmem.c><showmem.c>
File 3,1,<..\..\libcpu\arm\common\backtrace.c><backtrace.c> File 5,1,<..\..\components\dfs\src\dfs.c><dfs.c>
File 3,1,<..\..\libcpu\arm\common\div0.c><div0.c> File 5,1,<..\..\components\dfs\src\dfs_fs.c><dfs_fs.c>
File 3,1,<..\..\libcpu\arm\common\showmem.c><showmem.c> File 5,1,<..\..\components\dfs\src\dfs_file.c><dfs_file.c>
File 4,1,<..\..\components\dfs\src\dfs.c><dfs.c> File 5,1,<..\..\components\dfs\src\dfs_posix.c><dfs_posix.c>
File 4,1,<..\..\components\dfs\src\dfs_fs.c><dfs_fs.c> File 5,1,<..\..\components\dfs\filesystems\elmfat\dfs_elm.c><dfs_elm.c>
File 4,1,<..\..\components\dfs\src\dfs_file.c><dfs_file.c> File 5,1,<..\..\components\dfs\filesystems\elmfat\ff.c><ff.c>
File 4,1,<..\..\components\dfs\src\dfs_posix.c><dfs_posix.c> File 6,1,<..\..\components\finsh\cmd.c><cmd.c>
File 4,1,<..\..\components\dfs\filesystems\elmfat\dfs_elm.c><dfs_elm.c> File 6,1,<..\..\components\finsh\finsh_compiler.c><finsh_compiler.c>
File 4,1,<..\..\components\dfs\filesystems\elmfat\ff.c><ff.c> File 6,1,<..\..\components\finsh\finsh_error.c><finsh_error.c>
File 5,1,<..\..\components\finsh\cmd.c><cmd.c> File 6,1,<..\..\components\finsh\finsh_heap.c><finsh_heap.c>
File 5,1,<..\..\components\finsh\finsh_compiler.c><finsh_compiler.c> File 6,1,<..\..\components\finsh\finsh_init.c><finsh_init.c>
File 5,1,<..\..\components\finsh\finsh_error.c><finsh_error.c> File 6,1,<..\..\components\finsh\finsh_node.c><finsh_node.c>
File 5,1,<..\..\components\finsh\finsh_heap.c><finsh_heap.c> File 6,1,<..\..\components\finsh\finsh_ops.c><finsh_ops.c>
File 5,1,<..\..\components\finsh\finsh_init.c><finsh_init.c> File 6,1,<..\..\components\finsh\finsh_parser.c><finsh_parser.c>
File 5,1,<..\..\components\finsh\finsh_node.c><finsh_node.c> File 6,1,<..\..\components\finsh\finsh_token.c><finsh_token.c>
File 5,1,<..\..\components\finsh\finsh_ops.c><finsh_ops.c> File 6,1,<..\..\components\finsh\finsh_var.c><finsh_var.c>
File 5,1,<..\..\components\finsh\finsh_parser.c><finsh_parser.c> File 6,1,<..\..\components\finsh\finsh_vm.c><finsh_vm.c>
File 5,1,<..\..\components\finsh\finsh_token.c><finsh_token.c> File 6,1,<..\..\components\finsh\shell.c><shell.c>
File 5,1,<..\..\components\finsh\finsh_var.c><finsh_var.c> File 6,1,<..\..\components\finsh\symbol.c><symbol.c>
File 5,1,<..\..\components\finsh\finsh_vm.c><finsh_vm.c> File 7,1,<..\..\components\net\lwip\src\api\api_lib.c><api_lib.c>
File 5,1,<..\..\components\finsh\shell.c><shell.c> File 7,1,<..\..\components\net\lwip\src\api\api_msg.c><api_msg.c>
File 5,1,<..\..\components\finsh\symbol.c><symbol.c> File 7,1,<..\..\components\net\lwip\src\api\err.c><err.c>
File 6,1,<..\..\components\net\lwip\src\api\api_lib.c><api_lib.c> File 7,1,<..\..\components\net\lwip\src\api\netbuf.c><netbuf.c>
File 6,1,<..\..\components\net\lwip\src\api\api_msg.c><api_msg.c> File 7,1,<..\..\components\net\lwip\src\api\netdb.c><netdb.c>
File 6,1,<..\..\components\net\lwip\src\api\err.c><err.c> File 7,1,<..\..\components\net\lwip\src\api\netifapi.c><netifapi.c>
File 6,1,<..\..\components\net\lwip\src\api\netbuf.c><netbuf.c> File 7,1,<..\..\components\net\lwip\src\api\sockets.c><sockets.c>
File 6,1,<..\..\components\net\lwip\src\api\netdb.c><netdb.c> File 7,1,<..\..\components\net\lwip\src\api\tcpip.c><tcpip.c>
File 6,1,<..\..\components\net\lwip\src\api\netifapi.c><netifapi.c> File 7,1,<..\..\components\net\lwip\src\arch\sys_arch.c><sys_arch.c>
File 6,1,<..\..\components\net\lwip\src\api\sockets.c><sockets.c> File 7,1,<..\..\components\net\lwip\src\core\def.c><def.c>
File 6,1,<..\..\components\net\lwip\src\api\tcpip.c><tcpip.c> File 7,1,<..\..\components\net\lwip\src\core\dhcp.c><dhcp.c>
File 6,1,<..\..\components\net\lwip\src\arch\sys_arch.c><sys_arch.c> File 7,1,<..\..\components\net\lwip\src\core\dns.c><dns.c>
File 6,1,<..\..\components\net\lwip\src\core\def.c><def.c> File 7,1,<..\..\components\net\lwip\src\core\init.c><init.c>
File 6,1,<..\..\components\net\lwip\src\core\dhcp.c><dhcp.c> File 7,1,<..\..\components\net\lwip\src\core\memp.c><memp.c>
File 6,1,<..\..\components\net\lwip\src\core\dns.c><dns.c> File 7,1,<..\..\components\net\lwip\src\core\netif.c><netif.c>
File 6,1,<..\..\components\net\lwip\src\core\init.c><init.c> File 7,1,<..\..\components\net\lwip\src\core\pbuf.c><pbuf.c>
File 6,1,<..\..\components\net\lwip\src\core\memp.c><memp.c> File 7,1,<..\..\components\net\lwip\src\core\raw.c><raw.c>
File 6,1,<..\..\components\net\lwip\src\core\netif.c><netif.c> File 7,1,<..\..\components\net\lwip\src\core\stats.c><stats.c>
File 6,1,<..\..\components\net\lwip\src\core\pbuf.c><pbuf.c> File 7,1,<..\..\components\net\lwip\src\core\sys.c><sys.c>
File 6,1,<..\..\components\net\lwip\src\core\raw.c><raw.c> File 7,1,<..\..\components\net\lwip\src\core\tcp.c><tcp.c>
File 6,1,<..\..\components\net\lwip\src\core\stats.c><stats.c> File 7,1,<..\..\components\net\lwip\src\core\tcp_in.c><tcp_in.c>
File 6,1,<..\..\components\net\lwip\src\core\sys.c><sys.c> File 7,1,<..\..\components\net\lwip\src\core\tcp_out.c><tcp_out.c>
File 6,1,<..\..\components\net\lwip\src\core\tcp.c><tcp.c> File 7,1,<..\..\components\net\lwip\src\core\timers.c><timers.c>
File 6,1,<..\..\components\net\lwip\src\core\tcp_in.c><tcp_in.c> File 7,1,<..\..\components\net\lwip\src\core\udp.c><udp.c>
File 6,1,<..\..\components\net\lwip\src\core\tcp_out.c><tcp_out.c> File 7,1,<..\..\components\net\lwip\src\core\ipv4\autoip.c><autoip.c>
File 6,1,<..\..\components\net\lwip\src\core\timers.c><timers.c> File 7,1,<..\..\components\net\lwip\src\core\ipv4\icmp.c><icmp.c>
File 6,1,<..\..\components\net\lwip\src\core\udp.c><udp.c> File 7,1,<..\..\components\net\lwip\src\core\ipv4\igmp.c><igmp.c>
File 6,1,<..\..\components\net\lwip\src\core\ipv4\autoip.c><autoip.c> File 7,1,<..\..\components\net\lwip\src\core\ipv4\inet.c><inet.c>
File 6,1,<..\..\components\net\lwip\src\core\ipv4\icmp.c><icmp.c> File 7,1,<..\..\components\net\lwip\src\core\ipv4\inet_chksum.c><inet_chksum.c>
File 6,1,<..\..\components\net\lwip\src\core\ipv4\igmp.c><igmp.c> File 7,1,<..\..\components\net\lwip\src\core\ipv4\ip.c><ip.c>
File 6,1,<..\..\components\net\lwip\src\core\ipv4\inet.c><inet.c> File 7,1,<..\..\components\net\lwip\src\core\ipv4\ip_addr.c><ip_addr.c>
File 6,1,<..\..\components\net\lwip\src\core\ipv4\inet_chksum.c><inet_chksum.c> File 7,1,<..\..\components\net\lwip\src\core\ipv4\ip_frag.c><ip_frag.c>
File 6,1,<..\..\components\net\lwip\src\core\ipv4\ip.c><ip.c> File 7,1,<..\..\components\net\lwip\src\netif\etharp.c><etharp.c>
File 6,1,<..\..\components\net\lwip\src\core\ipv4\ip_addr.c><ip_addr.c> File 7,1,<..\..\components\net\lwip\src\netif\ethernetif.c><ethernetif.c>
File 6,1,<..\..\components\net\lwip\src\core\ipv4\ip_frag.c><ip_frag.c> File 7,1,<..\..\components\net\lwip\src\netif\slipif.c><slipif.c>
File 6,1,<..\..\components\net\lwip\src\netif\etharp.c><etharp.c>
File 6,1,<..\..\components\net\lwip\src\netif\ethernetif.c><ethernetif.c>
File 6,1,<..\..\components\net\lwip\src\netif\slipif.c><slipif.c>
File 7,1,<..\..\components\rtgui\common\blit.c><blit.c>
File 7,1,<..\..\components\rtgui\common\color.c><color.c>
File 7,1,<..\..\components\rtgui\common\region.c><region.c>
File 7,1,<..\..\components\rtgui\common\rtgui_object.c><rtgui_object.c>
File 7,1,<..\..\components\rtgui\common\rtgui_system.c><rtgui_system.c>
File 7,1,<..\..\components\rtgui\common\rtgui_theme.c><rtgui_theme.c>
File 7,1,<..\..\components\rtgui\common\rtgui_xml.c><rtgui_xml.c>
File 7,1,<..\..\components\rtgui\common\dc.c><dc.c>
File 7,1,<..\..\components\rtgui\common\dc_hw.c><dc_hw.c>
File 7,1,<..\..\components\rtgui\common\dc_buffer.c><dc_buffer.c>
File 7,1,<..\..\components\rtgui\common\dc_client.c><dc_client.c>
File 7,1,<..\..\components\rtgui\common\filerw.c><filerw.c>
File 7,1,<..\..\components\rtgui\common\image.c><image.c>
File 7,1,<..\..\components\rtgui\common\image_xpm.c><image_xpm.c>
File 7,1,<..\..\components\rtgui\common\image_hdc.c><image_hdc.c>
File 7,1,<..\..\components\rtgui\common\image_bmp.c><image_bmp.c>
File 7,1,<..\..\components\rtgui\common\image_png.c><image_png.c>
File 7,1,<..\..\components\rtgui\common\image_jpg.c><image_jpg.c>
File 7,1,<..\..\components\rtgui\common\image_container.c><image_container.c>
File 7,1,<..\..\components\rtgui\common\font.c><font.c>
File 7,1,<..\..\components\rtgui\common\font_bmp.c><font_bmp.c>
File 7,1,<..\..\components\rtgui\common\font_hz_file.c><font_hz_file.c>
File 7,1,<..\..\components\rtgui\common\font_hz_bmp.c><font_hz_bmp.c>
File 7,1,<..\..\components\rtgui\common\asc12font.c><asc12font.c>
File 7,1,<..\..\components\rtgui\common\asc16font.c><asc16font.c>
File 7,1,<..\..\components\rtgui\common\hz12font.c><hz12font.c>
File 7,1,<..\..\components\rtgui\common\hz16font.c><hz16font.c>
File 7,1,<..\..\components\rtgui\common\framebuffer_driver.c><framebuffer_driver.c>
File 7,1,<..\..\components\rtgui\common\pixel_driver.c><pixel_driver.c>
File 7,1,<..\..\components\rtgui\server\driver.c><driver.c>
File 7,1,<..\..\components\rtgui\server\mouse.c><mouse.c>
File 7,1,<..\..\components\rtgui\server\panel.c><panel.c>
File 7,1,<..\..\components\rtgui\server\server.c><server.c>
File 7,1,<..\..\components\rtgui\server\topwin.c><topwin.c>
File 7,1,<..\..\components\rtgui\widgets\box.c><box.c>
File 7,1,<..\..\components\rtgui\widgets\button.c><button.c>
File 7,1,<..\..\components\rtgui\widgets\checkbox.c><checkbox.c>
File 7,1,<..\..\components\rtgui\widgets\container.c><container.c>
File 7,1,<..\..\components\rtgui\widgets\combobox.c><combobox.c>
File 7,1,<..\..\components\rtgui\widgets\iconbox.c><iconbox.c>
File 7,1,<..\..\components\rtgui\widgets\label.c><label.c>
File 7,1,<..\..\components\rtgui\widgets\textview.c><textview.c>
File 7,1,<..\..\components\rtgui\widgets\listctrl.c><listctrl.c>
File 7,1,<..\..\components\rtgui\widgets\menu.c><menu.c>
File 7,1,<..\..\components\rtgui\widgets\progressbar.c><progressbar.c>
File 7,1,<..\..\components\rtgui\widgets\radiobox.c><radiobox.c>
File 7,1,<..\..\components\rtgui\widgets\slider.c><slider.c>
File 7,1,<..\..\components\rtgui\widgets\scrollbar.c><scrollbar.c>
File 7,1,<..\..\components\rtgui\widgets\staticline.c><staticline.c>
File 7,1,<..\..\components\rtgui\widgets\textbox.c><textbox.c>
File 7,1,<..\..\components\rtgui\widgets\listbox.c><listbox.c>
File 7,1,<..\..\components\rtgui\widgets\title.c><title.c>
File 7,1,<..\..\components\rtgui\widgets\toplevel.c><toplevel.c>
File 7,1,<..\..\components\rtgui\widgets\notebook.c><notebook.c>
File 7,1,<..\..\components\rtgui\widgets\view.c><view.c>
File 7,1,<..\..\components\rtgui\widgets\list_view.c><list_view.c>
File 7,1,<..\..\components\rtgui\widgets\about_view.c><about_view.c>
File 7,1,<..\..\components\rtgui\widgets\filelist_view.c><filelist_view.c>
File 7,1,<..\..\components\rtgui\widgets\widget.c><widget.c>
File 7,1,<..\..\components\rtgui\widgets\window.c><window.c>
File 7,1,<..\..\components\rtgui\widgets\workbench.c><workbench.c>
@ -219,7 +155,7 @@ Options 1,0,0 // Target 'RT-Thread_Mini4020'
ADSCMISC (-g) ADSCMISC (-g)
ADSCDEFN () ADSCDEFN ()
ADSCUDEF () ADSCUDEF ()
ADSCINCD (..\..\components\rtgui\server;..\..\include;..\..\libcpu\arm\sep4020;..\..\components\rtgui\widgets;..\..\components\net\lwip\src\include;.;..\..\components\net\lwip\src\include\ipv4;..\..\components\dfs;..\..\components\rtgui\include;..\..\components\net\lwip\src\arch\include;..\..\components\dfs\include;..\..\components\net\lwip\src;..\..\libcpu\arm\common;..\..\components\rtgui\common;..\..\components\finsh;..\..\components\net\lwip\src\include\netif) ADSCINCD (..\..\include;..\..\libcpu\arm\sep4020;drivers;..\..\components\dfs;..\..\components\net\lwip\src\include;.;..\..\components\net\lwip\src\include\ipv4;applications;..\..\components\net\lwip\src\arch\include;..\..\components\dfs\include;..\..\components\net\lwip\src;..\..\libcpu\arm\common;..\..\components\finsh;..\..\components\net\lwip\src\include\netif)
ADSASFLG { 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 } ADSASFLG { 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 }
ADSAMISC () ADSAMISC ()
ADSADEFN () ADSADEFN ()

View File

@ -174,7 +174,7 @@
/* SECTION: RTGUI support */ /* SECTION: RTGUI support */
/* using RTGUI support */ /* using RTGUI support */
#define RT_USING_RTGUI /* #define RT_USING_RTGUI */
/* name length of RTGUI object */ /* name length of RTGUI object */
#define RTGUI_NAME_MAX 16 #define RTGUI_NAME_MAX 16