Skip to content

Commit 9a62280

Browse files
committed
scripts: Add xtensa-dc233c scripts
These can build and run picolibc tests on an xtensa target. Signed-off-by: Keith Packard <[email protected]>
1 parent 9a4c8e2 commit 9a62280

File tree

3 files changed

+132
-0
lines changed

3 files changed

+132
-0
lines changed
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
[binaries]
2+
c = ['xtensa-dc233c_zephyr-elf-gcc', '-nostdlib']
3+
ar = 'xtensa-dc233c_zephyr-elf-ar'
4+
as = 'xtensa-dc233c_zephyr-elf-as'
5+
nm = 'xtensa-dc233c_zephyr-elf-nm'
6+
strip = 'xtensa-dc233c_zephyr-elf-strip'
7+
exe_wrapper = ['sh', '-c', 'test -z "$PICOLIBC_TEST" || run-xtensa-dc233c "$@"', 'run-xtensa-dc233c']
8+
9+
[host_machine]
10+
system = 'unknown'
11+
cpu_family = 'xtensa'
12+
cpu = 'xtensa'
13+
endian = 'little'
14+
15+
[properties]
16+
skip_sanity_check = true
17+
default_flash_addr = '0x00004000'
18+
default_flash_size = '0x007fc000'
19+
default_ram_addr = '0x00800000'
20+
default_ram_size = '0x00800000'
21+
22+
additional_sections_ = [ 'vectors', 'reset' ]
23+
default_vectors_addr = '0x00002000'
24+
default_vectors_size = '0x00002000'
25+
default_vectors_contents = [ 'KEEP(*(.vectors .vectors.*))' ]
26+
27+
default_reset_addr = '0xfe000000'
28+
default_reset_size = '0x00001000'
29+
default_reset_contents = [ 'KEEP(*(.reset.entry))', 'KEEP(*(.reset.literal))', 'KEEP(*(.reset.text))' ]

scripts/do-xtensa-dc233c-configure

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
#!/bin/sh
2+
#
3+
# SPDX-License-Identifier: BSD-3-Clause
4+
#
5+
# Copyright © 2019 Keith Packard
6+
#
7+
# Redistribution and use in source and binary forms, with or without
8+
# modification, are permitted provided that the following conditions
9+
# are met:
10+
#
11+
# 1. Redistributions of source code must retain the above copyright
12+
# notice, this list of conditions and the following disclaimer.
13+
#
14+
# 2. Redistributions in binary form must reproduce the above
15+
# copyright notice, this list of conditions and the following
16+
# disclaimer in the documentation and/or other materials provided
17+
# with the distribution.
18+
#
19+
# 3. Neither the name of the copyright holder nor the names of its
20+
# contributors may be used to endorse or promote products derived
21+
# from this software without specific prior written permission.
22+
#
23+
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
24+
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
25+
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
26+
# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
27+
# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
28+
# INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
29+
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
30+
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
31+
# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
32+
# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
33+
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
34+
# OF THE POSSIBILITY OF SUCH DAMAGE.
35+
#
36+
exec "$(dirname "$0")"/do-configure xtensa-dc233c_zephyr-elf -Dtests-enable-stack-protector=false -Dtests=true "$@"

scripts/run-xtensa-dc233c

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
#!/bin/sh
2+
#
3+
# SPDX-License-Identifier: BSD-3-Clause
4+
#
5+
# Copyright © 2024 Keith Packard
6+
#
7+
# Redistribution and use in source and binary forms, with or without
8+
# modification, are permitted provided that the following conditions
9+
# are met:
10+
#
11+
# 1. Redistributions of source code must retain the above copyright
12+
# notice, this list of conditions and the following disclaimer.
13+
#
14+
# 2. Redistributions in binary form must reproduce the above
15+
# copyright notice, this list of conditions and the following
16+
# disclaimer in the documentation and/or other materials provided
17+
# with the distribution.
18+
#
19+
# 3. Neither the name of the copyright holder nor the names of its
20+
# contributors may be used to endorse or promote products derived
21+
# from this software without specific prior written permission.
22+
#
23+
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
24+
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
25+
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
26+
# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
27+
# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
28+
# INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
29+
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
30+
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
31+
# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
32+
# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
33+
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
34+
# OF THE POSSIBILITY OF SUCH DAMAGE.
35+
#
36+
37+
qemu="qemu-system-xtensa"
38+
39+
# select the program
40+
elf="$1"
41+
shift
42+
43+
# Map stdio to a multiplexed character device so we can use it
44+
# for the monitor and serial output
45+
46+
chardev=stdio,mux=on,id=con
47+
48+
# Disable monitor
49+
50+
mon=none
51+
52+
# Point serial port at new chardev
53+
54+
serial=chardev:con
55+
56+
$qemu \
57+
-chardev stdio,mux=on,id=con \
58+
-monitor none \
59+
-serial chardev:con \
60+
-machine sim \
61+
-cpu dc233c \
62+
-semihosting \
63+
-net none \
64+
-rtc clock=vm \
65+
-icount shift=6,align=off,sleep=off \
66+
-nographic \
67+
-kernel "$elf" "$@"

0 commit comments

Comments
 (0)