summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBernard Xiong <[email protected]>2015-01-21 14:17:36 +0800
committerBernard Xiong <[email protected]>2015-01-21 14:17:36 +0800
commitc1f47af9f14f9e5fa346a4ed8c52fd0c83e1b0fd (patch)
treec5d8f4b94db18b4cff349f77ea15cd75cd8121ac
parent86358d08302559d4787e314e3384ad8f3ce5f927 (diff)
[BSP] remove RT_USING_VMM in default and let it run in QEMU.
-rw-r--r--bsp/realview-a8/SConstruct8
-rw-r--r--bsp/realview-a8/applications/application.c26
-rw-r--r--bsp/realview-a8/drivers/board.c8
-rw-r--r--bsp/realview-a8/drivers/serial.c8
-rw-r--r--bsp/realview-a8/rtconfig.h6
-rw-r--r--bsp/realview-a8/rtconfig.py7
6 files changed, 24 insertions, 39 deletions
diff --git a/bsp/realview-a8/SConstruct b/bsp/realview-a8/SConstruct
index e67d72291f..6d57bc4025 100644
--- a/bsp/realview-a8/SConstruct
+++ b/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)
diff --git a/bsp/realview-a8/applications/application.c b/bsp/realview-a8/applications/application.c
index e65878bce5..1b7cb790a3 100644
--- a/bsp/realview-a8/applications/application.c
+++ b/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;
}
diff --git a/bsp/realview-a8/drivers/board.c b/bsp/realview-a8/drivers/board.c
index 8312a4e85f..fd64075456 100644
--- a/bsp/realview-a8/drivers/board.c
+++ b/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)
diff --git a/bsp/realview-a8/drivers/serial.c b/bsp/realview-a8/drivers/serial.c
index 011d10fb99..7df953a282 100644
--- a/bsp/realview-a8/drivers/serial.c
+++ b/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
diff --git a/bsp/realview-a8/rtconfig.h b/bsp/realview-a8/rtconfig.h
index b32ae454ce..9ef916998e 100644
--- a/bsp/realview-a8/rtconfig.h
+++ b/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
diff --git a/bsp/realview-a8/rtconfig.py b/bsp/realview-a8/rtconfig.py
index 85f36831b3..f921c68217 100644
--- a/bsp/realview-a8/rtconfig.py
+++ b/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