Browse Source

[BSP][ls1c]Mount sdcard in init_thread.

sundm75 7 years ago
parent
commit
b473c629e9
1 changed files with 37 additions and 12 deletions
  1. 37 12
      bsp/ls1cdev/applications/application.c

+ 37 - 12
bsp/ls1cdev/applications/application.c

@@ -12,6 +12,7 @@
  * 2010-06-25          Bernard        first version
  * 2010-06-25          Bernard        first version
  * 2011-08-08          lgnq           modified for Loongson LS1B
  * 2011-08-08          lgnq           modified for Loongson LS1B
  * 2015-07-06          chinesebear    modified for Loongson LS1C
  * 2015-07-06          chinesebear    modified for Loongson LS1C
+ * 2018-02-08          sundm75    modified for Loongson LS1C SmartLoongV3
  */
  */
 
 
 #include <rtthread.h>
 #include <rtthread.h>
@@ -20,23 +21,47 @@
 
 
 void rt_init_thread_entry(void *parameter)
 void rt_init_thread_entry(void *parameter)
 {
 {
-	/* initialization RT-Thread Components */
-	rt_components_init();
+    /* initialization RT-Thread Components */
+    rt_components_init();
+
+#if defined(RT_USING_DFS) && defined(RT_USING_DFS_ELMFAT)
+
+    /* initialize the device file system */
+    dfs_init();
+
+    /* initialize the elm chan FatFS file system*/
+    elm_init();
+    
+    /* mount sd card fat partition 1 as root directory */
+    if( dfs_mount("sd0", "/", "elm", 0, 0) == 0)
+    {
+        rt_kprintf("File System initialized!\n");
+    }
+    else
+    {
+        rt_kprintf("File System initialzation failed!\n");
+    }
+#endif /* RT_USING_DFS && RT_USING_DFS_ELMFAT */
+
+/*网�EMAC�始化*/
+    rt_hw_eth_init();
+#if defined(RT_USING_RTGUI)
+/*触摸�使用SPI总线SPI1 CS0  �始化*/
+    rtgui_touch_hw_init("spi10");
+#endif
 
 
-    // Íø¿ÚEMAC³õʼ»¯
-	rt_hw_eth_init();
 }
 }
 
 
 int rt_application_init(void)
 int rt_application_init(void)
 {
 {
-	rt_thread_t tid;
+    rt_thread_t tid;
 
 
-	/* create initialization thread */
-	tid = rt_thread_create("init",
-							rt_init_thread_entry, RT_NULL,
-							4096, RT_THREAD_PRIORITY_MAX/3, 20);
-	if (tid != RT_NULL)
-		rt_thread_startup(tid);
+    /* create initialization thread */
+    tid = rt_thread_create("init",
+            rt_init_thread_entry, RT_NULL,
+            4096, RT_THREAD_PRIORITY_MAX/3, 20);
+    if (tid != RT_NULL)
+        rt_thread_startup(tid);
 
 
-	return 0;
+    return 0;
 }
 }