File tree Expand file tree Collapse file tree 7 files changed +231
-0
lines changed
boards/arm/qemu_cortex_a9 Expand file tree Collapse file tree 7 files changed +231
-0
lines changed Original file line number Diff line number Diff line change 1+ #
2+ # Kconfig - Cortex-A9 QEMU Emulation
3+ #
4+ # Copyright (c) 2021, Weidmueller Interface GmbH & Co. KG
5+ # SPDX-License-Identifier: Apache-2.0
6+ #
7+
8+ config BOARD_QEMU_CORTEX_A9
9+ bool "Cortex-A9 Emulation (QEMU)"
10+ depends on SOC_XILINX_ZYNQ7000
11+ select QEMU_TARGET
Original file line number Diff line number Diff line change 1+ #
2+ # Kconfig - Cortex-A9 (Zynq-7000) QEMU Emulation
3+ #
4+ # Copyright (c) 2021, Weidmueller Interface GmbH & Co. KG
5+ # SPDX-License-Identifier: Apache-2.0
6+ #
7+
8+ if BOARD_QEMU_CORTEX_A9
9+
10+ config BUILD_OUTPUT_BIN
11+ default n
12+
13+ config BOARD
14+ default "qemu_cortex_a9"
15+
16+ config SYS_CLOCK_HW_CYCLES_PER_SEC
17+ int
18+ default 100000000
19+
20+ config SYS_CLOCK_TICKS_PER_SEC
21+ default 100
22+
23+ if CONSOLE
24+
25+ config UART_CONSOLE
26+ default y
27+
28+ endif # CONSOLE
29+
30+ if LOG
31+
32+ if LOG_PROCESS_THREAD
33+
34+ config LOG_PROCESS_THREAD_STACK_SIZE
35+ default 8192
36+
37+ endif # LOG_PROCESS_THREAD
38+
39+ endif # LOG
40+
41+ if NETWORKING
42+
43+ config NET_L2_ETHERNET
44+ default y
45+
46+ config NET_TX_STACK_SIZE
47+ default 8192
48+
49+ config NET_RX_STACK_SIZE
50+ default 8192
51+
52+ if NET_TCP
53+
54+ config NET_TCP_WORKQ_STACK_SIZE
55+ default 8192
56+
57+ endif # NET_TCP
58+
59+ if NET_MGMT_EVENT
60+
61+ config NET_MGMT_EVENT_STACK_SIZE
62+ default 8192
63+
64+ endif # NET_MGMT_EVENT
65+
66+ config TEST_RANDOM_GENERATOR
67+ default y
68+
69+ endif # NETWORKING
70+
71+ if QEMU_ICOUNT
72+
73+ config QEMU_ICOUNT_SHIFT
74+ default 3
75+
76+ endif # QEMU_ICOUNT
77+
78+ if SERIAL
79+
80+ config UART_XLNX_PS
81+ default y
82+
83+ endif # SERIAL
84+
85+ if SHELL
86+
87+ config SHELL_STACK_SIZE
88+ default 8192
89+
90+ endif # SHELL
91+
92+ if UART_PIPE
93+
94+ config UART_PIPE_ON_DEV_NAME
95+ default "uart1"
96+
97+ endif # UART_PIPE
98+
99+ endif # BOARD_QEMU_CORTEX_A9
Original file line number Diff line number Diff line change 1+ #
2+ # Copyright (c) 2021, Weidmueller Interface GmbH & Co. KG
3+ # SPDX-License-Identifier: Apache-2.0
4+ #
5+
6+ set (EMU_PLATFORM qemu)
7+ set (QEMU_ARCH xilinx-aarch64)
8+
9+ set (QEMU_CPU_TYPE_${ARCH} cortex-a9)
10+
11+ set (QEMU_FLAGS_${ARCH}
12+ -nographic
13+ -machine arm-generic-fdt-7series
14+ -dtb ${ZEPHYR_BASE} /boards/${ARCH} /${BOARD} /fdt-zynq7000s.dtb
15+ )
16+
17+ set (QEMU_KERNEL_OPTION
18+ "-device;loader,file=\$ <TARGET_FILE:\$ {logical_target_for_zephyr_elf}>,cpu-num=0"
19+ )
20+
21+ board_set_debugger_ifnset(qemu)
Original file line number Diff line number Diff line change 1+ /*
2+ * Copyright (c) 2021 Weidmueller Interface GmbH & Co. KG
3+ * SPDX-License-Identifier: Apache-2.0
4+ */
5+
6+ /dts-v1/;
7+
8+ #include <xilinx/zynq7000.dtsi>
9+ #include <dt-bindings/ethernet/xlnx_gem.h>
10+
11+ / {
12+ model = "QEMU Cortex-A9";
13+ compatible = "xlnx,zynq7000";
14+ interrupt-parent = <&gic>;
15+
16+ sram0: memory@100000 {
17+ compatible = "mmio-sram";
18+ reg = <0x00100000 DT_SIZE_M(512)>;
19+ };
20+
21+ flash0: flash@0 {
22+ reg = <0x00000000 DT_SIZE_M(256)>;
23+ };
24+
25+ chosen {
26+ zephyr,flash = &flash0;
27+ zephyr,sram = &sram0;
28+ zephyr,console = &uart0;
29+ zephyr,shell-uart = &uart0;
30+ zephyr,ocm = &ocm_low;
31+ };
32+ };
33+
34+ &uart0 {
35+ status = "okay";
36+ current-speed = <115200>;
37+ clock-frequency = <50000000>;
38+ };
39+
40+ &uart1 {
41+ status = "okay";
42+ current-speed = <115200>;
43+ clock-frequency = <50000000>;
44+ };
45+
46+ &gem0 {
47+ status = "okay";
48+ clock-frequency = <1000000000>;
49+ mdc-divider = <XLNX_GEM_MDC_DIVIDER_224>;
50+ local-mac-address = [00 00 00 01 02 03];
51+ };
Original file line number Diff line number Diff line change 1+ #
2+ # Copyright (c) 2018, Diego Sueiro
3+ # Copyright (c) 2021, Weidmueller Interface GmbH & Co. KG
4+ #
5+ # SPDX-License-Identifier: Apache-2.0
6+ #
7+
8+ identifier : qemu_cortex_a9
9+ name : QEMU Emulation for Cortex-A9
10+ type : qemu
11+ simulation : qemu
12+ arch : arm
13+ toolchain :
14+ - zephyr
15+ - gnuarmemb
16+ - xtools
17+ supported :
18+ - net
19+ - netif:eth
20+ ram : 524288
21+ flash : 262144
22+ testing :
23+ default : true
24+ ignore_tags :
25+ - bluetooth
26+ - gpio
Original file line number Diff line number Diff line change 1+ #
2+ # Copyright (c) 2021, Weidmueller Interface GmbH & Co. KG
3+ #
4+ # SPDX-License-Identifier: Apache-2.0
5+ #
6+
7+ CONFIG_SOC_SERIES_XILINX_ZYNQ7000=y
8+ CONFIG_SOC_XILINX_ZYNQ7000=y
9+ CONFIG_BOARD_QEMU_CORTEX_A9=y
10+
11+ CONFIG_ARM_ARCH_TIMER=y
12+
13+ CONFIG_SERIAL=y
14+ CONFIG_CONSOLE=y
15+
16+ CONFIG_ARMV7_EXCEPTION_STACK_SIZE=8192
17+ CONFIG_ARMV7_FIQ_STACK_SIZE=8192
18+ CONFIG_ARMV7_SVC_STACK_SIZE=8192
19+ CONFIG_ARMV7_SYS_STACK_SIZE=8192
20+ CONFIG_IDLE_STACK_SIZE=8192
21+ CONFIG_ISR_STACK_SIZE=8192
22+ CONFIG_MAIN_STACK_SIZE=8192
23+ CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=8192
You can’t perform that action at this time.
0 commit comments