瀏覽代碼

add components initialization (draft).

git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1921 bbd45198-f89e-11dd-88c7-29a3b14d5316
bernard.xiong@gmail.com 13 年之前
父節點
當前提交
d74a78795d
共有 3 個文件被更改,包括 91 次插入0 次删除
  1. 8 0
      components/init/SConscript
  2. 68 0
      components/init/components_init.c
  3. 15 0
      components/init/components_init.h

+ 8 - 0
components/init/SConscript

@@ -0,0 +1,8 @@
+from building import *
+
+cwd = GetCurrentDir()
+src	= Glob('*.c')
+CPPPATH = [cwd]
+group = DefineGroup('ComponentsInit', src, depend = ['RT_USING_COMPONENTS_INIT'], CPPPATH = CPPPATH)
+
+Return('group')

+ 68 - 0
components/init/components_init.c

@@ -0,0 +1,68 @@
+#include <rtthread.h>
+#include "components_init.h"
+
+#ifdef RT_USING_LWIP
+#include <lwip/sys.h>
+#include <lwip/api.h>
+#include <netif/ethernetif.h>
+#endif
+
+#ifdef RT_USING_DFS
+#endif
+
+void rt_components_init(void)
+{
+#ifdef RT_USING_LWIP
+	/* initialize lwip stack */
+    extern void lwip_sys_init(void);
+
+    /* register ethernetif device */
+    eth_system_device_init();
+
+    /* initialize lwip system */
+    lwip_sys_init();
+    rt_kprintf("TCP/IP initialized!\n");
+#endif
+
+#ifdef RT_USING_DFS
+	/* initialize the device filesystem */
+	dfs_init();
+
+#ifdef RT_USING_DFS_ELMFAT
+	/* initialize the elm chan FatFS filesystam*/
+	elm_init();
+#endif
+
+#if defined(RT_USING_DFS_NFS) && defined(RT_USING_LWIP)
+	extern void nfs_init(void);
+	/* initialize NFSv3 client filesystem */
+	nfs_init();
+#endif
+
+#ifdef RT_USING_DFS_YAFFS2
+	yaffs2_init();
+#endif
+
+#ifdef RT_USING_DFS_UFFS
+	uffs_init();
+#endif
+
+#ifdef RT_USING_DFS_JFFS2
+	jffs2_init();
+#endif
+
+#ifdef RT_USING_DFS_ROMFS
+	romfs_init();
+#endif
+
+#ifdef RT_USING_DFS_DEVFS
+	devfs_init();
+#endif
+
+#endif
+
+#ifdef RT_USING_RTGUI
+#endif
+
+	return;
+}

+ 15 - 0
components/init/components_init.h

@@ -0,0 +1,15 @@
+/*
+ * components_init.h
+ *
+ */
+
+#ifndef __COMPONENTS_INIT_H__
+#define __COMPONENTS_INIT_H__
+
+/**
+ * Initializes components in RT-Thread
+ * notes: this function must be invoked in thread
+ */
+void rt_components_init(void);
+
+#endif