diff options
| author | [email protected] <[email protected]> | 2010-11-30 14:22:18 +0000 |
|---|---|---|
| committer | [email protected] <[email protected]> | 2010-11-30 14:22:18 +0000 |
| commit | 98492b7344f659cfdef0a34d218026e08599ae82 (patch) | |
| tree | 6538c118e0f330115f1d46623c85e42c60dca4c9 /bsp/dev3210 | |
| parent | 753de2064321e558268ba046d1dea5add52ac6e2 (diff) | |
cleanup 3210 branch code.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1163 bbd45198-f89e-11dd-88c7-29a3b14d5316
Diffstat (limited to 'bsp/dev3210')
| -rw-r--r-- | bsp/dev3210/application.c | 137 | ||||
| -rw-r--r-- | bsp/dev3210/rtconfig.h | 10 | ||||
| -rw-r--r-- | bsp/dev3210/startup.c | 14 |
3 files changed, 91 insertions, 70 deletions
diff --git a/bsp/dev3210/application.c b/bsp/dev3210/application.c index 0d2fe9cbdf..5791d6eaa1 100644 --- a/bsp/dev3210/application.c +++ b/bsp/dev3210/application.c @@ -12,43 +12,19 @@ * 2010-06-25 Bernard first version */ -/** - * @addtogroup Loongson SoC3210 - */ -/*@{*/ #include <rtthread.h> #include <soc3210.h> -struct rt_thread thread; -ALIGN(4) -rt_uint8_t thread_stack[1024]; - -#include <finsh.h> -void thread_entry(void* parameter) -{ - int i = 0; - - while (1) - { - rt_kprintf("i = %d, cause: 0x%08x, config: 0x%08x\n", i++, read_c0_cause(), read_c0_config()); - rt_kprintf("HSB_MISC_CFG 0x%08x\n", HSB_MISC_REG); - rt_thread_delay(100); - } -} -void thread_test() -{ - rt_err_t result = rt_thread_init(&thread, - "tid", - thread_entry, RT_NULL, - &thread_stack, sizeof(thread_stack), - 200, - 5); - if (result == RT_EOK) - rt_thread_startup(&thread); - else - rt_kprintf("init thread failed\n"); -} -FINSH_FUNCTION_EXPORT(thread_test, test thread!!); +#ifdef RT_USING_DFS +#include <dfs.h> +#include <dfs_elm.h> +#ifdef RT_USING_DFS_ROMFS +#include <dfs_romfs.h> +#endif +#ifdef RT_USING_DFS_DEVFS +#include <devfs.h> +#endif +#endif #ifdef RT_USING_RTGUI #include <rtgui/rtgui.h> @@ -56,32 +32,87 @@ FINSH_FUNCTION_EXPORT(thread_test, test thread!!); #include <rtgui/rtgui_server.h> #endif -int rt_application_init() +void rt_init_thread_entry(void* parameter) { + /* Filesystem Initialization */ +#ifdef RT_USING_DFS + { + /* init the device filesystem */ + dfs_init(); + +#if defined(RT_USING_DFS_ROMFS) + dfs_romfs_init(); + if (dfs_mount(RT_NULL, "/", "rom", 0, &romfs_root) == 0) + { + rt_kprintf("ROM File System initialized!\n"); + } + else + rt_kprintf("ROM File System initialzation failed!\n"); +#endif + +#if defined(RT_USING_DFS_ELMFAT) + /* init the elm chan FatFs filesystam*/ + elm_init(); + /* mount sd card fat partition 1 as root directory */ + if (dfs_mount("sd0", "/sd", "elm", 0, 0) == 0) + { + rt_kprintf("File System initialized!\n"); + } + else + rt_kprintf("File System initialzation failed!\n"); +#endif + +#if defined(RT_USING_DFS_DEVFS) + devfs_init(); + if (dfs_mount(RT_NULL, "/dev", "devfs", 0, 0) == 0) + rt_kprintf("Device File System initialized!\n"); + else + rt_kprintf("Device File System initialzation failed!\n"); + + #ifdef RT_USING_NEWLIB + /* init libc */ + libc_system_init("uart"); + rt_kprintf("libc init done\n"); + #endif +#endif + } +#endif + #ifdef RT_USING_RTGUI - rtgui_rect_t rect; + { + rtgui_rect_t rect; - rtgui_system_server_init(); + rtgui_system_server_init(); - /* register dock panel */ - rect.x1 = 0; - rect.y1 = 0; - rect.x2 = 400; - rect.y2 = 480; - rtgui_panel_register("panel", &rect); + /* register dock panel */ + rect.x1 = 0; + rect.y1 = 0; + rect.x2 = 400; + rect.y2 = 480; + rtgui_panel_register("panel", &rect); - /* register main panel */ - rect.x1 = 400; - rect.y1 = 0; - rect.x2 = 800; - rect.y2 = 480; - rtgui_panel_register("main", &rect); - rtgui_panel_set_default_focused("main"); + /* register main panel */ + rect.x1 = 400; + rect.y1 = 0; + rect.x2 = 800; + rect.y2 = 480; + rtgui_panel_register("main", &rect); + rtgui_panel_set_default_focused("main"); - rt_hw_lcd_init(); + rt_hw_lcd_init(); + } #endif +} + +int rt_application_init() +{ + rt_thread_t tid; + + /* create initialization thread */ + tid = rt_thread_create("init", + rt_init_thread_entry, RT_NULL, + 4096, 8, 20); + if (tid != RT_NULL) rt_thread_startup(tid); return 0; } - -/*@}*/ diff --git a/bsp/dev3210/rtconfig.h b/bsp/dev3210/rtconfig.h index 9b507d266b..945affa405 100644 --- a/bsp/dev3210/rtconfig.h +++ b/bsp/dev3210/rtconfig.h @@ -53,6 +53,7 @@ /* Using SLAB MM */
#define RT_USING_SLAB
+/* #define RT_USING_SMALL_MEM */
/* SECTION: Device System */
/* Using Device System */
@@ -68,8 +69,8 @@ /* SECTION: the runtime libc library */
/* the runtime libc library */
-#define RT_USING_NEWLIB
-#define RT_USING_PTHREADS
+/* #define RT_USING_NEWLIB */
+/* #define RT_USING_PTHREADS */
/* SECTION: finsh, a C-Express shell */
/* Using FinSH as Shell*/
@@ -81,8 +82,9 @@ /* SECTION: device filesystem support */
#define RT_USING_DFS
-#define RT_USING_DFS_ELMFAT
+/* #define RT_USING_DFS_ELMFAT */
#define RT_USING_DFS_ROMFS
+/* #define RT_USING_DFS_DEVFS */
/* the max number of mounted filesystem */
#define DFS_FILESYSTEMS_MAX 2
@@ -90,6 +92,8 @@ #define DFS_FD_MAX 4
/* the max number of cached sector */
#define DFS_CACHE_MAX_NUM 4
+/* Using working directory */
+#define DFS_USING_WORKDIR
/* SECTION: lwip, a lighwight TCP/IP protocol stack */
/* #define RT_USING_LWIP */
diff --git a/bsp/dev3210/startup.c b/bsp/dev3210/startup.c index 8b38099c6f..5312814582 100644 --- a/bsp/dev3210/startup.c +++ b/bsp/dev3210/startup.c @@ -29,20 +29,6 @@ extern unsigned char __bss_end; extern int rt_application_init(void); -void dump_mem(const unsigned char* addr) -{ - int size; - rt_kprintf("---- memory: 0x%08x ----\n", addr); - for (size = 0; size < 32 * 4; size ++) - { - rt_kprintf("%02x ", (*addr) & 0xff); - addr ++; - if ((size + 1) % 16 == 0) - rt_kprintf("\n"); - } - rt_kprintf("\n"); -} - extern void tlb_refill_exception(void); extern void general_exception(void); extern void irq_exception(void); |
