board: nsim: add nsim.props and fix libraries
Signed-off-by: Jingru <jingru@synopsys.com>
This commit is contained in:
@@ -1,28 +1,7 @@
|
||||
#include "cmsis_os.h"
|
||||
#include "embARC.h"
|
||||
#include "embARC_debug.h"
|
||||
|
||||
static uint32_t cyc_hz_count = (BOARD_CPU_CLOCK / BOARD_SYS_TIMER_HZ);
|
||||
#define APPLICATION_TASK_STK_SIZE 1024*64
|
||||
|
||||
static void board_timer_isr(void *ptr)
|
||||
{
|
||||
timer_int_clear(BOARD_SYS_TIMER_ID);
|
||||
|
||||
board_timer_update(BOARD_SYS_TIMER_HZ);
|
||||
}
|
||||
|
||||
static void board_timer_init(void)
|
||||
{
|
||||
if (timer_present(BOARD_SYS_TIMER_ID)) {
|
||||
int_disable(BOARD_SYS_TIMER_INTNO); /* disable first then enable */
|
||||
int_handler_install(BOARD_SYS_TIMER_INTNO, board_timer_isr);
|
||||
timer_start(BOARD_SYS_TIMER_ID, TIMER_CTRL_IE | TIMER_CTRL_NH, cyc_hz_count); /* start 1ms timer interrupt */
|
||||
|
||||
int_enable(BOARD_SYS_TIMER_INTNO);
|
||||
}
|
||||
}
|
||||
|
||||
#define APPLICATION_TASK_STK_SIZE 4096
|
||||
extern void application_entry(void *arg);
|
||||
osThreadDef(application_entry, osPriorityNormal, 1, APPLICATION_TASK_STK_SIZE);
|
||||
|
||||
@@ -36,14 +15,8 @@ EMBARC_WEAK void application_entry(void *arg)
|
||||
|
||||
int main(void)
|
||||
{
|
||||
exc_int_init();
|
||||
arc_cache_init();
|
||||
board_init();
|
||||
board_timer_init();
|
||||
xprintf_setup();
|
||||
printf("Welcome to TencentOS tiny\r\n");
|
||||
osKernelInitialize(); // TOS Tiny kernel initialize
|
||||
osThreadCreate(osThread(application_entry), NULL); // Create TOS Tiny task
|
||||
osKernelStart(); // Start TOS Tiny
|
||||
}
|
||||
|
||||
|
@@ -178,8 +178,8 @@ CFLAGS += -MMD -MP -MF"$(@:%.o=%.d)"
|
||||
# link script
|
||||
LDSCRIPT = linker_template_gnu.ldf
|
||||
|
||||
# libraries
|
||||
LIBS = -lc -lm -lnosys
|
||||
# libraries -lc -lm -lnosys
|
||||
LIBS = -lc -lgcc
|
||||
LIBDIR =
|
||||
LDFLAGS = --specs=nsim.specs -mcpu=em4_dmips -mlittle-endian -mcode-density -mdiv-rem -mswap -mnorm -mmpy-option=6 -mbarrel-shifter --param l1-cache-size=16384 --param l1-cache-line-size=32 $(LIBDIR) $(LIBS) -mno-sdata -nostartfiles -Wl,-M,-Map=$(BUILD_DIR)/$(TARGET).map -lm -Wl,--script=$(LDSCRIPT)
|
||||
|
||||
@@ -226,7 +226,9 @@ $(BUILD_DIR):
|
||||
#######################################
|
||||
clean:
|
||||
-rm -fR $(BUILD_DIR)
|
||||
|
||||
|
||||
run : build/TencentOS_tiny.elf
|
||||
nsimdrv -p nsim_emt=1 -propsfile nsim.props build/TencentOS_tiny.elf
|
||||
#######################################
|
||||
# dependencies
|
||||
#######################################
|
||||
|
68
board/ARC_NSIM_EM/GCC/hello_world/nsim.props
Normal file
68
board/ARC_NSIM_EM/GCC/hello_world/nsim.props
Normal file
@@ -0,0 +1,68 @@
|
||||
nsim_isa_family=av2em
|
||||
nsim_isa_core=3
|
||||
arcver=0x3
|
||||
nsim_isa_rgf_num_banks=2
|
||||
nsim_isa_rgf_banked_regs=32
|
||||
nsim_isa_rgf_num_regs=32
|
||||
nsim_isa_rgf_num_wr_ports=2
|
||||
nsim_isa_big_endian=0
|
||||
nsim_isa_lpc_size=32
|
||||
nsim_isa_pc_size=32
|
||||
nsim_isa_addr_size=32
|
||||
nsim_isa_code_density_option=2
|
||||
nsim_isa_div_rem_option=1
|
||||
nsim_isa_turbo_boost=1
|
||||
nsim_isa_swap_option=1
|
||||
nsim_isa_bitscan_option=1
|
||||
nsim_isa_mpy_option=8
|
||||
nsim_isa_shift_option=3
|
||||
mpu_regions=16
|
||||
mpu_version=2
|
||||
nsim_isa_dsp_option=2
|
||||
nsim_isa_dsp_complex_option=1
|
||||
nsim_isa_dsp_divsqrt_option=1
|
||||
nsim_isa_dsp_itu_option=1
|
||||
nsim_isa_dsp_itu_option=1
|
||||
nsim_isa_dsp_accshift_option=2
|
||||
nsim_isa_agu_size=large
|
||||
nsim_isa_agu_wb_depth=4
|
||||
nsim_isa_agu_accord=1
|
||||
nsim_isa_xy=1
|
||||
nsim_isa_xy_config=dccm_y
|
||||
nsim_isa_xy_size=8K
|
||||
nsim_isa_xy_interleave=1
|
||||
nsim_isa_xy_y_base=0xe0000000
|
||||
nsim_isa_fpus_div_option=1
|
||||
nsim_isa_fpu_mac_option=1
|
||||
nsim_isa_fpuda_option=1
|
||||
nsim_isa_fpu_fast_mpy_option=0
|
||||
nsim_isa_fpu_fast_div_option=0
|
||||
nsim_isa_bitstream_option=1
|
||||
nsim_isa_enable_timer_0=1
|
||||
nsim_isa_timer_0_int_level=1
|
||||
nsim_isa_enable_timer_1=1
|
||||
nsim_isa_timer_1_int_level=0
|
||||
nsim_isa_num_actionpoints=2
|
||||
nsim_isa_stack_checking=1
|
||||
nsim_isa_has_dmp_peripheral=1
|
||||
nsim_isa_smart_stack_entries=8
|
||||
nsim_isa_number_of_interrupts=20
|
||||
nsim_isa_number_of_levels=4
|
||||
nsim_isa_number_of_external_interrupts=16
|
||||
nsim_isa_fast_irq=1
|
||||
nsim_isa_intvbase_preset=0x0
|
||||
dcache=16384,32,2,a
|
||||
nsim_isa_dc_feature_level=2
|
||||
icache=16384,32,2,a
|
||||
nsim_isa_ic_feature_level=2
|
||||
dccm_size=0x80000
|
||||
dccm_base=0x80000000
|
||||
nsim_isa_dccm_interleave=1
|
||||
iccm0_size=0x80000
|
||||
iccm0_base=0x00000000
|
||||
nsim_isa_pct_counters=8
|
||||
nsim_isa_dmac_option=1
|
||||
nsim_isa_dmac_channels=2
|
||||
nsim_isa_dmac_registers=0
|
||||
nsim_isa_dmac_fifo_depth=2
|
||||
nsim_isa_dmac_int_config=single_internal
|
Reference in New Issue
Block a user