Browse Source

[BSP] remove RT_USING_VMM in default and let it run in QEMU.

Bernard Xiong 10 years ago
parent
commit
c1f47af9f1

+ 6 - 2
bsp/realview-a8/SConstruct

@@ -31,8 +31,12 @@ if GetDepend('RT_USING_VMM'):
                   ldfile = rtconfig.LINK_SCRIPT)) != 0:
         print 'failed to generate linker script %s' % rtconfig.LINK_SCRIPT
         sys.exit(255)
-# if the linker script changed, relink the target
-Depends(TARGET, rtconfig.LINK_SCRIPT)
+    # if the linker script changed, relink the target
+    Depends(TARGET, rtconfig.LINK_SCRIPT)
+else:
+    # we should use none-vmm link script
+    link_flags = str(env['LINKFLAGS'])
+    env['LINKFLAGS'] = link_flags.replace('_vmm.lds', '.lds')
 
 # make a building
 DoBuilding(TARGET, objs)

+ 6 - 20
bsp/realview-a8/applications/application.c

@@ -15,32 +15,18 @@
 #include <rtthread.h>
 #include <components.h>
 
-#include <pthread.h>
-
-void *test_task(void *parameter)
+void init_thread(void* parameter)
 {
-    int count = 0;
-
-    while (1)
-    {
-        rt_thread_delay(RT_TICK_PER_SECOND);
-        rt_kprintf("count = %d\n", count ++);
-    }
-
-    return RT_NULL;
+    rt_components_init();
 }
 
 int rt_application_init()
 {
-    // pthread_t tid;
-
-    /* do component initialization */
-    rt_components_init();
-#ifdef RT_USING_NEWLIB
-    libc_system_init(RT_CONSOLE_DEVICE_NAME);
-#endif
+    rt_thread_t tid;
 
-    // pthread_create(&tid, RT_NULL, test_task, RT_NULL);
+    tid = rt_thread_create("init", init_thread, RT_NULL, 
+        1024, RT_THREAD_PRIORITY_MAX/3, 10);
+    if (tid != RT_NULL) rt_thread_startup(tid);
 
     return 0;
 }

+ 4 - 4
bsp/realview-a8/drivers/board.c

@@ -38,11 +38,11 @@
 #define SYS_CTRL                         __REG32(REALVIEW_SCTL_BASE)
 
 #ifdef RT_USING_VMM
- #include <vmm.h>
- static rt_uint32_t timer_hw_base = 0;
- #define TIMER_HW_BASE                  (timer_hw_base)
+#include <vmm.h>
+static rt_uint32_t timer_hw_base = 0;
+#define TIMER_HW_BASE                  (timer_hw_base)
 #else
- #define TIMER_HW_BASE                  REALVIEW_TIMER2_3_BASE
+#define TIMER_HW_BASE                  REALVIEW_TIMER2_3_BASE
 #endif
 
 void rt_hw_timer_ack(void)

+ 4 - 4
bsp/realview-a8/drivers/serial.c

@@ -32,7 +32,7 @@
 
 #include "serial.h"
 #ifdef RT_USING_VMM
- #include <vmm.h>
+#include <vmm.h>
 #endif
 
 struct hw_uart_device
@@ -165,8 +165,8 @@ int rt_hw_uart_init(void)
     config.parity    = PARITY_NONE;
     config.stop_bits = STOP_BITS_1;
     config.invert    = NRZ_NORMAL;
-	config.bufsz     = RT_SERIAL_RB_BUFSZ;
-	
+    config.bufsz     = RT_SERIAL_RB_BUFSZ;
+
 #ifdef RT_USING_UART0
     uart = &_uart0_device;
 #ifdef RT_USING_VMM
@@ -194,7 +194,7 @@ int rt_hw_uart_init(void)
 
     /* register UART1 device */
     rt_hw_serial_register(&_serial1, "uart1",
-        RT_DEVICE_FLAG_RDWR | RT_DEVICE_FLAG_INT_RX, uart);
+                          RT_DEVICE_FLAG_RDWR | RT_DEVICE_FLAG_INT_RX, uart);
     /* enable Rx and Tx of UART */
     UART_CR(uart->hw_base) = (1 << 0) | (1 << 8) | (1 << 9);
 #endif

+ 3 - 3
bsp/realview-a8/rtconfig.h

@@ -107,8 +107,8 @@
 // </section>
 
 // <section name="LIBC" description="C Runtime library setting" default="always" >
-// <bool name="RT_USING_NEWLIB" description="Using newlib library, only available under GNU GCC" default="true" />
-#define RT_USING_NEWLIB
+// <bool name="RT_USING_LIBC" description="Using libc library" default="true" />
+#define RT_USING_LIBC
 // <bool name="RT_USING_PTHREADS" description="Using POSIX threads library" default="true" />
 #define RT_USING_PTHREADS
 // </section>
@@ -147,7 +147,7 @@
 #define RT_USING_LOGTRACE
 
 // <section name="RT_USING_VMM" description="Enable RT-Thread hypervisor" default="true" >
-#define RT_USING_VMM
+// #define RT_USING_VMM
 // </section>
 
 #endif

+ 1 - 6
bsp/realview-a8/rtconfig.py

@@ -21,8 +21,6 @@ if os.getenv('RTT_EXEC_PATH'):
 	EXEC_PATH = os.getenv('RTT_EXEC_PATH')
 
 BUILD = 'debug'
-VMM = True
-#VMM = False
 
 if PLATFORM == 'gcc':
     # toolchains
@@ -40,10 +38,7 @@ if PLATFORM == 'gcc':
     DEVICE = ' -march=armv7-a -mtune=cortex-a8 -mfpu=vfpv3-d16 -ftree-vectorize -ffast-math -mfloat-abi=softfp'
     CFLAGS = DEVICE + ' -Wall'
     AFLAGS = ' -c' + DEVICE + ' -x assembler-with-cpp -D__ASSEMBLY__'
-    if VMM:
-        LINK_SCRIPT = 'realview_vmm.lds'
-    else:
-        LINK_SCRIPT = 'realview.lds'
+    LINK_SCRIPT = 'realview_vmm.lds'
     LFLAGS = DEVICE + ' -Wl,--gc-sections,-Map=realview.map,-cref,-u,system_vectors'+\
                       ' -T %s' % LINK_SCRIPT