Skip to content
Permalink
Browse files

boards: qemu_cortex_r5: Add qemu test board for the Cortex-R series

This adds a qemu test board using the Xilinx ZynqMP SoC.

Signed-off-by: Bradley Bolen <bbolen@lexmark.com>
  • Loading branch information...
Bradley Bolen authored and ioannisg committed Jul 22, 2019
1 parent 929dc71 commit 6dd94127ca5e17aaf44c1cae0559e1a1a173ee0c
@@ -0,0 +1,7 @@
# Copyright (c) 2019 Lexmark International, Inc.
#
# SPDX-License-Identifier: Apache-2.0

config BOARD_QEMU_CORTEX_R5
bool "Cortex-R5 Emulation (QEMU)"
depends on SOC_XILINX_ZYNQMP
@@ -0,0 +1,13 @@
# Copyright (c) 2019 Lexmark International, Inc.
#
# SPDX-License-Identifier: Apache-2.0

if BOARD_QEMU_CORTEX_R5

config BUILD_OUTPUT_BIN
default n

config BOARD
default "qemu_cortex_r5"

endif # BOARD_QEMU_CORTEX_R5
@@ -0,0 +1,20 @@
# Copyright (c) 2019 Lexmark International, Inc.
#
# SPDX-License-Identifier: Apache-2.0

set(EMU_PLATFORM qemu)
set(QEMU_ARCH aarch64)

set(QEMU_CPU_TYPE_${ARCH} cortex-r5)
set(QEMU_FLAGS_${ARCH}
-nographic
-machine xlnx-zcu102
-global xlnx,zynqmp.boot-cpu="rpu-cpu[0]"
-smp 6
)

set(QEMU_KERNEL_OPTION
"-device;loader,file=$<TARGET_FILE:zephyr_final>,cpu-num=4"
)

board_set_debugger_ifnset(qemu)
@@ -0,0 +1,32 @@
/*
* Copyright (c) 2019 Lexmark International, Inc.
*
* SPDX-License-Identifier: Apache-2.0
*
*/

/dts-v1/;
#include <arm/xilinx/zynqmp.dtsi>

/ {
model = "QEMU Cortex-R5";
compatible = "xlnx,zynqmp-qemu";

chosen {
zephyr,sram = &sram0;
zephyr,flash = &flash0;
zephyr,console = &uart0;
zephyr,shell-uart = &uart0;
};
};

&uart0 {
status = "okay";
current-speed = <115200>;
clock-frequency = <99999901>;
};

&ttc0 {
status = "okay";
clock-frequency = <100000000>;
};
@@ -0,0 +1,48 @@
identifier: qemu_cortex_r5
name: QEMU Emulation for Cortex-R5
type: qemu
simulation: qemu
arch: arm
toolchain:
- zephyr
- gccarmemb
- xtools
ram: 64
flash: 256
testing:
default: false
ignore_tags:
- base64
- benchmark
- clib
- cmsis_rtos_v1
- cmsis_rtos_v1_philosopher
- cmsis_rtos_v1_synchronization
- cmsis_rtos_v2
- cmsis_rtos_v2_philosopher
- cmsis_rtos_v2_synchronization
- cpp
- crypto
- drivers
- external
- fdtable
- gen_inc_file
- interrupt
- introduction
- json
- libc
- logging
- kernel
- memory_protection
- net
- posix
- rbtree
- ring_buffer
- shell
- sleep
- test_framework
- timeutils
- timer
- userspace
- util
- xip
@@ -0,0 +1,19 @@
CONFIG_ARM=y
CONFIG_SOC_XILINX_ZYNQMP=y
CONFIG_BOARD_QEMU_CORTEX_R5=y
CONFIG_XIP=n

CONFIG_ISR_STACK_SIZE=512
CONFIG_THREAD_STACK_INFO=y

# enable uart driver
CONFIG_SERIAL=y

# enable console
CONFIG_CONSOLE=y
CONFIG_UART_CONSOLE=y

# enable serial port
CONFIG_UART_XLNX_PS=y

CONFIG_SYS_CLOCK_TICKS_PER_SEC=1000

0 comments on commit 6dd9412

Please sign in to comment.
You can’t perform that action at this time.