Merge pull request #991 from enkiller/x1000_dev_update

[BSP] Update X1000 bsp.
This commit is contained in:
Bernard Xiong 2017-11-13 21:11:44 +08:00 committed by GitHub
commit dcf175b285
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 100 additions and 93 deletions

View File

@ -7,15 +7,18 @@
# RT-Thread Kernel # RT-Thread Kernel
# #
CONFIG_RT_NAME_MAX=8 CONFIG_RT_NAME_MAX=8
CONFIG_RT_ALIGN_SIZE=4 CONFIG_RT_ALIGN_SIZE=8
# CONFIG_RT_THREAD_PRIORITY_8 is not set
CONFIG_RT_THREAD_PRIORITY_32=y
# CONFIG_RT_THREAD_PRIORITY_256 is not set
CONFIG_RT_THREAD_PRIORITY_MAX=32 CONFIG_RT_THREAD_PRIORITY_MAX=32
CONFIG_RT_TICK_PER_SECOND=100 CONFIG_RT_TICK_PER_SECOND=1000
CONFIG_RT_DEBUG=y CONFIG_RT_DEBUG=y
CONFIG_RT_USING_OVERFLOW_CHECK=y CONFIG_RT_USING_OVERFLOW_CHECK=y
CONFIG_RT_DEBUG_INIT=0 CONFIG_RT_DEBUG_INIT=0
CONFIG_RT_DEBUG_THREAD=0 CONFIG_RT_DEBUG_THREAD=0
CONFIG_RT_USING_HOOK=y CONFIG_RT_USING_HOOK=y
CONFIG_IDLE_THREAD_STACK_SIZE=256 CONFIG_IDLE_THREAD_STACK_SIZE=512
# CONFIG_RT_USING_TIMER_SOFT is not set # CONFIG_RT_USING_TIMER_SOFT is not set
# #
@ -33,9 +36,10 @@ CONFIG_RT_USING_MESSAGEQUEUE=y
# #
CONFIG_RT_USING_MEMPOOL=y CONFIG_RT_USING_MEMPOOL=y
# CONFIG_RT_USING_MEMHEAP is not set # CONFIG_RT_USING_MEMHEAP is not set
CONFIG_RT_USING_HEAP=y # CONFIG_RT_USING_NOHEAP is not set
CONFIG_RT_USING_SMALL_MEM=y CONFIG_RT_USING_SMALL_MEM=y
# CONFIG_RT_USING_SLAB is not set # CONFIG_RT_USING_SLAB is not set
CONFIG_RT_USING_HEAP=y
# #
# Kernel Device Object # Kernel Device Object
@ -44,7 +48,7 @@ CONFIG_RT_USING_DEVICE=y
# CONFIG_RT_USING_INTERRUPT_INFO is not set # CONFIG_RT_USING_INTERRUPT_INFO is not set
CONFIG_RT_USING_CONSOLE=y CONFIG_RT_USING_CONSOLE=y
CONFIG_RT_CONSOLEBUF_SIZE=128 CONFIG_RT_CONSOLEBUF_SIZE=128
CONFIG_RT_CONSOLE_DEVICE_NAME="uart" CONFIG_RT_CONSOLE_DEVICE_NAME="uart2"
# CONFIG_RT_USING_MODULE is not set # CONFIG_RT_USING_MODULE is not set
CONFIG_ARCH_MIPS=y CONFIG_ARCH_MIPS=y
CONFIG_ARCH_MIPS_XBURST=y CONFIG_ARCH_MIPS_XBURST=y
@ -80,7 +84,7 @@ CONFIG_FINSH_USING_MSH_DEFAULT=y
# #
CONFIG_RT_USING_DFS=y CONFIG_RT_USING_DFS=y
CONFIG_DFS_USING_WORKDIR=y CONFIG_DFS_USING_WORKDIR=y
CONFIG_DFS_FILESYSTEMS_MAX=2 CONFIG_DFS_FILESYSTEMS_MAX=4
CONFIG_DFS_FD_MAX=4 CONFIG_DFS_FD_MAX=4
CONFIG_RT_USING_DFS_ELMFAT=y CONFIG_RT_USING_DFS_ELMFAT=y
@ -89,14 +93,14 @@ CONFIG_RT_USING_DFS_ELMFAT=y
# #
CONFIG_RT_DFS_ELM_CODE_PAGE=437 CONFIG_RT_DFS_ELM_CODE_PAGE=437
CONFIG_RT_DFS_ELM_WORD_ACCESS=y CONFIG_RT_DFS_ELM_WORD_ACCESS=y
CONFIG_RT_DFS_ELM_USE_LFN_0=y # CONFIG_RT_DFS_ELM_USE_LFN_0 is not set
# CONFIG_RT_DFS_ELM_USE_LFN_1 is not set # CONFIG_RT_DFS_ELM_USE_LFN_1 is not set
# CONFIG_RT_DFS_ELM_USE_LFN_2 is not set # CONFIG_RT_DFS_ELM_USE_LFN_2 is not set
# CONFIG_RT_DFS_ELM_USE_LFN_3 is not set CONFIG_RT_DFS_ELM_USE_LFN_3=y
CONFIG_RT_DFS_ELM_USE_LFN=0 CONFIG_RT_DFS_ELM_USE_LFN=3
CONFIG_RT_DFS_ELM_MAX_LFN=255 CONFIG_RT_DFS_ELM_MAX_LFN=255
CONFIG_RT_DFS_ELM_DRIVES=2 CONFIG_RT_DFS_ELM_DRIVES=4
CONFIG_RT_DFS_ELM_MAX_SECTOR_SIZE=512 CONFIG_RT_DFS_ELM_MAX_SECTOR_SIZE=4096
# CONFIG_RT_DFS_ELM_USE_ERASE is not set # CONFIG_RT_DFS_ELM_USE_ERASE is not set
CONFIG_RT_DFS_ELM_REENTRANT=y CONFIG_RT_DFS_ELM_REENTRANT=y
CONFIG_RT_USING_DFS_DEVFS=y CONFIG_RT_USING_DFS_DEVFS=y
@ -114,7 +118,7 @@ CONFIG_RT_USING_SERIAL=y
# CONFIG_RT_USING_HWTIMER is not set # CONFIG_RT_USING_HWTIMER is not set
# CONFIG_RT_USING_I2C is not set # CONFIG_RT_USING_I2C is not set
CONFIG_RT_USING_PIN=y CONFIG_RT_USING_PIN=y
# CONFIG_RT_USING_MTD_NOR is not set CONFIG_RT_USING_MTD_NOR=y
# CONFIG_RT_USING_MTD_NAND is not set # CONFIG_RT_USING_MTD_NAND is not set
# CONFIG_RT_USING_RTC is not set # CONFIG_RT_USING_RTC is not set
# CONFIG_RT_USING_SDIO is not set # CONFIG_RT_USING_SDIO is not set
@ -194,12 +198,14 @@ CONFIG_RT_USING_POSIX=y
# #
# multimedia packages # multimedia packages
# #
# CONFIG_PKG_USING_FASTLZ is not set
# #
# tools packages # tools packages
# #
# CONFIG_PKG_USING_CMBACKTRACE is not set # CONFIG_PKG_USING_CMBACKTRACE is not set
# CONFIG_PKG_USING_EASYLOGGER is not set # CONFIG_PKG_USING_EASYLOGGER is not set
# CONFIG_PKG_USING_SYSTEMVIEW is not set
# #
# miscellaneous packages # miscellaneous packages

View File

@ -29,11 +29,11 @@ Export('rtconfig')
# prepare building environment # prepare building environment
objs = PrepareBuilding(env, RTT_ROOT, has_libcpu=False) objs = PrepareBuilding(env, RTT_ROOT, has_libcpu=False)
if not GetDepend('RT_USING_HARD_FLOAT'): if GetDepend('RT_USING_HARD_FLOAT'):
env['CCFLAGS'] = env['CCFLAGS'].replace('-mhard-float', '-msoft-float') env['CCFLAGS'] = env['CCFLAGS'].replace('-msoft-float', '-mhard-float')
env['ASFLAGS'] = env['ASFLAGS'].replace('-mhard-float', '-msoft-float') env['ASFLAGS'] = env['ASFLAGS'].replace('-msoft-float', '-mhard-float')
env['CXXFLAGS'] = env['CXXFLAGS'].replace('-mhard-float', '-msoft-float') env['CXXFLAGS'] = env['CXXFLAGS'].replace('-msoft-float', '-mhard-float')
env['LINKFLAGS'] = env['LINKFLAGS'].replace('-mhard-float', '-msoft-float') env['LINKFLAGS'] = env['LINKFLAGS'].replace('-msoft-float', '-mhard-float')
# make a building # make a building
DoBuilding(TARGET, objs) DoBuilding(TARGET, objs)

View File

@ -50,7 +50,7 @@ static void rt_gui_demo_entry(void *parameter)
DEBUG_PRINTF("gui demo entry\n"); DEBUG_PRINTF("gui demo entry\n");
/* create gui app */ /* create gui app */
app = rtgui_app_create("gui_demo"); app = rtgui_app_create("gui_demo");
if (app == RT_NULL) if (app == RT_NULL)
{ {
@ -58,9 +58,9 @@ static void rt_gui_demo_entry(void *parameter)
return; return;
} }
/* create main window */ /* create main window */
main_win = rtgui_mainwin_create(RT_NULL, main_win = rtgui_mainwin_create(RT_NULL,
"UiWindow", RTGUI_WIN_STYLE_NO_TITLE | RTGUI_WIN_STYLE_NO_BORDER); "UiWindow", RTGUI_WIN_STYLE_NO_TITLE | RTGUI_WIN_STYLE_NO_BORDER);
if (main_win == RT_NULL) if (main_win == RT_NULL)
{ {
DEBUG_PRINTF("main_win is null\n"); DEBUG_PRINTF("main_win is null\n");
@ -68,19 +68,19 @@ static void rt_gui_demo_entry(void *parameter)
return; return;
} }
rtgui_object_set_event_handler(RTGUI_OBJECT(main_win), dc_event_handler); rtgui_object_set_event_handler(RTGUI_OBJECT(main_win), dc_event_handler);
DEBUG_PRINTF("rtgui_win_show\n"); DEBUG_PRINTF("rtgui_win_show\n");
rtgui_win_show(main_win, RT_FALSE); rtgui_win_show(main_win, RT_FALSE);
DEBUG_PRINTF("rtgui_app_run\n"); DEBUG_PRINTF("rtgui_app_run\n");
rtgui_app_run(app); rtgui_app_run(app);
DEBUG_PRINTF("rtgui_win_destroy\n"); DEBUG_PRINTF("rtgui_win_destroy\n");
rtgui_win_destroy(main_win); rtgui_win_destroy(main_win);
DEBUG_PRINTF("rtgui_app_destroy\n"); DEBUG_PRINTF("rtgui_app_destroy\n");
rtgui_app_destroy(app); rtgui_app_destroy(app);
} }
rt_bool_t dc_event_handler(struct rtgui_object *object, rtgui_event_t *event) rt_bool_t dc_event_handler(struct rtgui_object *object, rtgui_event_t *event)
@ -92,30 +92,30 @@ rt_bool_t dc_event_handler(struct rtgui_object *object, rtgui_event_t *event)
struct rtgui_dc *dc; struct rtgui_dc *dc;
rtgui_rect_t rect; rtgui_rect_t rect;
rt_kprintf("\r\n RTGUI_EVENT_PAINT \r\n"); DEBUG_PRINTF("\r\n RTGUI_EVENT_PAINT \r\n");
rtgui_win_event_handler(RTGUI_OBJECT(widget), event); rtgui_win_event_handler(RTGUI_OBJECT(widget), event);
rtgui_widget_get_rect(widget, &rect); rtgui_widget_get_rect(widget, &rect);
DEBUG_PRINTF("widget react x1: %d, y1: %d, x2: %d, y2: %d\r\n", DEBUG_PRINTF("widget react x1: %d, y1: %d, x2: %d, y2: %d\r\n",
rect.x1, rect.y1, rect.x2, rect.y2); rect.x1, rect.y1, rect.x2, rect.y2);
dc = rtgui_dc_begin_drawing(widget); dc = rtgui_dc_begin_drawing(widget);
if(dc == RT_NULL) if (dc == RT_NULL)
{ {
DEBUG_PRINTF("\r\n dc is null \r\n"); DEBUG_PRINTF("\r\n dc is null \r\n");
return RT_FALSE; return RT_FALSE;
} }
rtgui_dc_draw_line(dc, rect.x1, rect.y1, rect.x2, rect.y2); rtgui_dc_draw_line(dc, rect.x1, rect.y1, rect.x2, rect.y2);
rtgui_dc_draw_line(dc, rect.x1, rect.y2, rect.x2, rect.y1); rtgui_dc_draw_line(dc, rect.x1, rect.y2, rect.x2, rect.y1);
rect.x1 += (rect.x2 - rect.x1) / 2; rect.x1 += (rect.x2 - rect.x1) / 2;
rect.y1 += (rect.y2 - rect.y1) / 2; rect.y1 += (rect.y2 - rect.y1) / 2;
rtgui_dc_draw_text_stroke(dc, __DATE__"--"__TIME__, &rect, HIGH_LIGHT, BLUE); rtgui_dc_draw_text_stroke(dc, __DATE__"--"__TIME__, &rect, HIGH_LIGHT, BLUE);
rtgui_dc_end_drawing(dc,RT_TRUE); rtgui_dc_end_drawing(dc,RT_TRUE);
} }
return RT_FALSE; return RT_FALSE;
} }
int rt_gui_demo_init(void) int rt_gui_demo_init(void)
@ -125,7 +125,7 @@ int rt_gui_demo_init(void)
rt_err_t err; rt_err_t err;
device = rt_device_find("lcd"); device = rt_device_find("lcd");
if(device == RT_NULL) if (device == RT_NULL)
{ {
rt_kprintf("Not found LCD driver\n"); rt_kprintf("Not found LCD driver\n");
return RT_ERROR; return RT_ERROR;

View File

@ -46,6 +46,20 @@ if RT_USING_SDIO
default 2048 default 2048
endif endif
if RT_USING_I2C
config RT_USING_I2C0
bool "Using iic0 bus"
default y
config RT_USING_I2C1
bool "Using iic1 bus"
default n
config RT_USING_I2C2
bool "Using iic2 bus"
default n
endif
if RT_USING_GUIENGINE if RT_USING_GUIENGINE
config RT_USING_SLCD config RT_USING_SLCD
bool "Using LCD display" bool "Using LCD display"
@ -70,9 +84,9 @@ if RT_USING_GUIENGINE
endchoice endchoice
endif endif
if RT_USING_I2C if RT_USING_I2C0
config RT_USING_TOUCH config RT_USING_TOUCH
bool "Using touch" bool "Using LCD touch"
default y default y
if RT_USING_TOUCH if RT_USING_TOUCH
@ -89,25 +103,13 @@ if RT_USING_GUIENGINE
config RT_TOUCH_THREAD_PRIORITY config RT_TOUCH_THREAD_PRIORITY
int "Set touch thread priority" int "Set touch thread priority"
range 2 32 range 2 30
default 10 default 10
endif endif
endif endif
endif endif
if RT_USING_I2C
config RT_USING_I2C0
bool "Using iic0 bus"
default y
config RT_USING_I2C1
bool "Using iic1 bus"
default n
config RT_USING_I2C2
bool "Using iic2 bus"
default n
endif
config RT_USING_ICODEC config RT_USING_ICODEC
default n default n

View File

@ -7,15 +7,18 @@
/* RT-Thread Kernel */ /* RT-Thread Kernel */
#define RT_NAME_MAX 8 #define RT_NAME_MAX 8
#define RT_ALIGN_SIZE 4 #define RT_ALIGN_SIZE 8
/* RT_THREAD_PRIORITY_8 is not set */
#define RT_THREAD_PRIORITY_32
/* RT_THREAD_PRIORITY_256 is not set */
#define RT_THREAD_PRIORITY_MAX 32 #define RT_THREAD_PRIORITY_MAX 32
#define RT_TICK_PER_SECOND 100 #define RT_TICK_PER_SECOND 1000
#define RT_DEBUG #define RT_DEBUG
#define RT_USING_OVERFLOW_CHECK #define RT_USING_OVERFLOW_CHECK
#define RT_DEBUG_INIT 0 #define RT_DEBUG_INIT 0
#define RT_DEBUG_THREAD 0 #define RT_DEBUG_THREAD 0
#define RT_USING_HOOK #define RT_USING_HOOK
#define IDLE_THREAD_STACK_SIZE 256 #define IDLE_THREAD_STACK_SIZE 512
/* RT_USING_TIMER_SOFT is not set */ /* RT_USING_TIMER_SOFT is not set */
/* Inter-Thread communication */ /* Inter-Thread communication */
@ -31,9 +34,10 @@
#define RT_USING_MEMPOOL #define RT_USING_MEMPOOL
/* RT_USING_MEMHEAP is not set */ /* RT_USING_MEMHEAP is not set */
#define RT_USING_HEAP /* RT_USING_NOHEAP is not set */
#define RT_USING_SMALL_MEM #define RT_USING_SMALL_MEM
/* RT_USING_SLAB is not set */ /* RT_USING_SLAB is not set */
#define RT_USING_HEAP
/* Kernel Device Object */ /* Kernel Device Object */
@ -41,7 +45,7 @@
/* RT_USING_INTERRUPT_INFO is not set */ /* RT_USING_INTERRUPT_INFO is not set */
#define RT_USING_CONSOLE #define RT_USING_CONSOLE
#define RT_CONSOLEBUF_SIZE 128 #define RT_CONSOLEBUF_SIZE 128
#define RT_CONSOLE_DEVICE_NAME "uart" #define RT_CONSOLE_DEVICE_NAME "uart2"
/* RT_USING_MODULE is not set */ /* RT_USING_MODULE is not set */
#define ARCH_MIPS #define ARCH_MIPS
#define ARCH_MIPS_XBURST #define ARCH_MIPS_XBURST
@ -73,7 +77,7 @@
#define RT_USING_DFS #define RT_USING_DFS
#define DFS_USING_WORKDIR #define DFS_USING_WORKDIR
#define DFS_FILESYSTEMS_MAX 2 #define DFS_FILESYSTEMS_MAX 4
#define DFS_FD_MAX 4 #define DFS_FD_MAX 4
#define RT_USING_DFS_ELMFAT #define RT_USING_DFS_ELMFAT
@ -81,14 +85,14 @@
#define RT_DFS_ELM_CODE_PAGE 437 #define RT_DFS_ELM_CODE_PAGE 437
#define RT_DFS_ELM_WORD_ACCESS #define RT_DFS_ELM_WORD_ACCESS
#define RT_DFS_ELM_USE_LFN_0 /* RT_DFS_ELM_USE_LFN_0 is not set */
/* RT_DFS_ELM_USE_LFN_1 is not set */ /* RT_DFS_ELM_USE_LFN_1 is not set */
/* RT_DFS_ELM_USE_LFN_2 is not set */ /* RT_DFS_ELM_USE_LFN_2 is not set */
/* RT_DFS_ELM_USE_LFN_3 is not set */ #define RT_DFS_ELM_USE_LFN_3
#define RT_DFS_ELM_USE_LFN 0 #define RT_DFS_ELM_USE_LFN 3
#define RT_DFS_ELM_MAX_LFN 255 #define RT_DFS_ELM_MAX_LFN 255
#define RT_DFS_ELM_DRIVES 2 #define RT_DFS_ELM_DRIVES 4
#define RT_DFS_ELM_MAX_SECTOR_SIZE 512 #define RT_DFS_ELM_MAX_SECTOR_SIZE 4096
/* RT_DFS_ELM_USE_ERASE is not set */ /* RT_DFS_ELM_USE_ERASE is not set */
#define RT_DFS_ELM_REENTRANT #define RT_DFS_ELM_REENTRANT
#define RT_USING_DFS_DEVFS #define RT_USING_DFS_DEVFS
@ -105,7 +109,7 @@
/* RT_USING_HWTIMER is not set */ /* RT_USING_HWTIMER is not set */
/* RT_USING_I2C is not set */ /* RT_USING_I2C is not set */
#define RT_USING_PIN #define RT_USING_PIN
/* RT_USING_MTD_NOR is not set */ #define RT_USING_MTD_NOR
/* RT_USING_MTD_NAND is not set */ /* RT_USING_MTD_NAND is not set */
/* RT_USING_RTC is not set */ /* RT_USING_RTC is not set */
/* RT_USING_SDIO is not set */ /* RT_USING_SDIO is not set */
@ -170,10 +174,13 @@
/* multimedia packages */ /* multimedia packages */
/* PKG_USING_FASTLZ is not set */
/* tools packages */ /* tools packages */
/* PKG_USING_CMBACKTRACE is not set */ /* PKG_USING_CMBACKTRACE is not set */
/* PKG_USING_EASYLOGGER is not set */ /* PKG_USING_EASYLOGGER is not set */
/* PKG_USING_SYSTEMVIEW is not set */
/* miscellaneous packages */ /* miscellaneous packages */

View File

@ -18,13 +18,8 @@ else:
if os.getenv('RTT_EXEC_PATH'): if os.getenv('RTT_EXEC_PATH'):
EXEC_PATH = os.getenv('RTT_EXEC_PATH') EXEC_PATH = os.getenv('RTT_EXEC_PATH')
# BUILD = 'debug' # BUILD = 'debug'
# BUILD = 'release' BUILD = 'release'
BUILD = 'release_O3'
# FLOAT = 'soft'
FLOAT = 'hard'
if PLATFORM == 'gcc': if PLATFORM == 'gcc':
# toolchains # toolchains
@ -40,11 +35,7 @@ if PLATFORM == 'gcc':
OBJCPY = PREFIX + 'objcopy' OBJCPY = PREFIX + 'objcopy'
STRIP = PREFIX + 'strip' STRIP = PREFIX + 'strip'
if FLOAT == 'soft': DEVICE = ' -mips32r2 -msoft-float -mfp32'
DEVICE = ' -mips32r2 -msoft-float -mfp32'
else:
DEVICE = ' -mips32r2 -mhard-float -mfp32'
CFLAGS = DEVICE + ' -EL -G0 -mno-abicalls -fno-pic -fno-builtin -fno-exceptions -ffunction-sections -fno-omit-frame-pointer' CFLAGS = DEVICE + ' -EL -G0 -mno-abicalls -fno-pic -fno-builtin -fno-exceptions -ffunction-sections -fno-omit-frame-pointer'
AFLAGS = ' -c' + DEVICE + ' -EL -x assembler-with-cpp' AFLAGS = ' -c' + DEVICE + ' -EL -x assembler-with-cpp'
LFLAGS = DEVICE + ' -EL -Wl,--gc-sections,-Map=rtthread_x1000.map,-cref,-u,Reset_Handler -T x1000_ram.lds' LFLAGS = DEVICE + ' -EL -Wl,--gc-sections,-Map=rtthread_x1000.map,-cref,-u,Reset_Handler -T x1000_ram.lds'
@ -54,8 +45,6 @@ if PLATFORM == 'gcc':
if BUILD == 'debug': if BUILD == 'debug':
CFLAGS += ' -O0 -gdwarf-2' CFLAGS += ' -O0 -gdwarf-2'
AFLAGS += ' -gdwarf-2' AFLAGS += ' -gdwarf-2'
elif BUILD == 'release_O3':
CFLAGS += ' -O3'
else: else:
CFLAGS += ' -O2' CFLAGS += ' -O2'

View File

@ -59,7 +59,10 @@ rt_err_t rt_audio_pipe_init(struct rt_audio_pipe *pipe,
enum rt_audio_pipe_flag flag, enum rt_audio_pipe_flag flag,
rt_uint8_t *buf, rt_uint8_t *buf,
rt_size_t size); rt_size_t size);
rt_err_t rt_audio_pipe_detach(struct rt_audio_pipe *pipe);
#ifdef RT_USING_HEAP
rt_err_t rt_audio_pipe_create(const char *name, enum rt_audio_pipe_flag flag, rt_size_t size);
void rt_audio_pipe_destroy(struct rt_audio_pipe *pipe);
#endif
#endif #endif