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

This commit is contained in:
Bernard Xiong 2015-01-21 14:17:36 +08:00
parent 86358d0830
commit c1f47af9f1
6 changed files with 24 additions and 39 deletions

View File

@ -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)

View File

@ -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;
rt_thread_t tid;
/* do component initialization */
rt_components_init();
#ifdef RT_USING_NEWLIB
libc_system_init(RT_CONSOLE_DEVICE_NAME);
#endif
// 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;
}

View File

@ -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)

View File

@ -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

View File

@ -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

View File

@ -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