Skip to content

Commit f70ceb6

Browse files
committed
Initial scorpio shell FS Ramdisk, NET, DEVICE, KERNEL & DATE shells. (#17)
1 parent 0a348a4 commit f70ceb6

File tree

9 files changed

+161
-12
lines changed

9 files changed

+161
-12
lines changed

boards/riscv/genesys2/genesys2_defconfig

Lines changed: 32 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,30 +5,55 @@ CONFIG_PLIC=y
55
CONFIG_GPIO=y
66
CONFIG_GPIO_XLNX_AXI=y
77
CONFIG_PINMUX=y
8+
CONFIG_RISCV_MACHINE_TIMER=y
9+
CONFIG_MAIN_STACK_SIZE=4096
10+
11+
#Console/uart
812
CONFIG_SERIAL=y
913
CONFIG_CONSOLE=y
1014
CONFIG_UART_CONSOLE=y
1115
CONFIG_BOOT_BANNER=y
1216
CONFIG_UART_NS16550=y
1317
CONFIG_UART_NS16550_ACCESS_WORD_ONLY=y
1418
CONFIG_UART_INTERRUPT_DRIVEN=y
15-
CONFIG_RISCV_MACHINE_TIMER=y
19+
20+
1621
# SRAM SIZE (64*1024)
1722
CONFIG_SRAM_SIZE=65536
1823
CONFIG_SRAM_BASE_ADDRESS=0x80060000
1924

2025
# Compile for debugging
2126
CONFIG_DEBUG=y
27+
CONFIG_DEBUG_OPTIMIZATIONS=y
2228

23-
#Enable stats gathering
24-
CONFIG_STATS=y
25-
CONFIG_STATS_NAMES=y
29+
# Ramdisk size (in Kbytes)
30+
CONFIG_DISK_ACCESS_RAM=y
31+
CONFIG_DISK_RAM_VOLUME_SIZE=512
2632

2733
#Enable Filesystems
2834
CONFIG_DISK_ACCESS=y
2935
CONFIG_FILE_SYSTEM=y
36+
CONFIG_FAT_FILESYSTEM_ELM=y
3037

31-
# Ramdisk size (in Kbytes)
32-
CONFIG_DISK_ACCESS_RAM=y
33-
CONFIG_DISK_RAM_VOLUME_SIZE=512
38+
#CONFIG_LOG=y
39+
#CONFIG_PRINTK=y
40+
41+
# Networking
42+
CONFIG_NETWORKING=y
43+
CONFIG_NET_TCP=y
44+
CONFIG_NET_L2_ETHERNET=y
45+
CONFIG_ETH_LOWRISC=y
46+
CONFIG_NET_CONFIG_SETTINGS=y
47+
CONFIG_NET_CONFIG_NEED_IPV4=y
48+
CONFIG_NET_CONFIG_MY_IPV4_ADDR="192.168.1.78"
49+
CONFIG_NET_STATISTICS=y
50+
51+
CONFIG_NEWLIB_LIBC=y
52+
53+
#ping needs a random number generator
54+
CONFIG_TEST_RANDOM_GENERATOR=y
55+
56+
57+
#Logging thread sometimes gets hung up wthout this
58+
CONFIG_LOG_IMMEDIATE=y
3459

samples/net/zperf/README.recogni

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
Build like so:
2+
west build -b genesys2 samples/net/zperf -- -DOVERLAY_CONFIG=overlay-lowrisc.conf
3+
4+
On linux side: iperf -s
5+
In zephy shell: zperf tcp upload 192.168.1.9
6+
7+
Results:
8+
Setting IP address 192.168.1.78
9+
Stting destination IP address 192.0.2.2
10+
11+
Connecting to 192.168.1.9
12+
Duration: 1.00 s
13+
Packet size: 256 bytes
14+
Rate: 10 kbps
15+
Starting...
16+
New session started
17+
-
18+
Upload completed!
19+
Duration: 1.00 s
20+
Num packets: 580
21+
Nm errors: 0 (retry or fail)
22+
Rate: 113 Mbps
23+

samples/subsys/shell/fs/prj.conf

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
CONFIG_FLASH=y
21

32
CONFIG_LOG=y
43
#CONFIG_FS_LOG_LEVEL_DBG=y
@@ -11,7 +10,8 @@ CONFIG_SHELL_LOG_LEVEL_INF=y
1110
CONFIG_FILE_SYSTEM=y
1211
CONFIG_FILE_SYSTEM_SHELL=y
1312

14-
15-
CONFIG_FILE_SYSTEM_LITTLEFS=y
16-
CONFIG_FLASH_MAP=y
17-
CONFIG_FLASH_PAGE_LAYOUT=y
13+
# Settings for Flash based LittleFS
14+
#CONFIG_FILE_SYSTEM_LITTLEFS=y
15+
#CONFIG_FLASH=y
16+
#CONFIG_FLASH_MAP=y
17+
#CONFIG_FLASH_PAGE_LAYOUT=y

scorpio/CMakeLists.txt

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# SPDX-License-Identifier: Apache-2.0
2+
3+
cmake_minimum_required(VERSION 3.13.1)
4+
find_package(Zephyr REQUIRED HINTS $ENV{ZEPHYR_BASE})
5+
project(scorpio_console)
6+
7+
target_sources(app PRIVATE src/main.c)

scorpio/Kconfig

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
2+
source "Kconfig.zephyr"

scorpio/README.recogni

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
2+
To build:
3+
west build -b genesys2 scorpio

scorpio/prj.conf

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
CONFIG_PRINTK=y
2+
CONFIG_LOG=y
3+
CONFIG_INIT_STACKS=y
4+
CONFIG_THREAD_STACK_INFO=y
5+
CONFIG_THREAD_MONITOR=y
6+
CONFIG_BOOT_BANNER=y
7+
CONFIG_THREAD_NAME=y
8+
CONFIG_POSIX_CLOCK=y
9+
CONFIG_THREAD_RUNTIME_STATS=y
10+
11+
#Required for FILE_SYSTEM_SHELL
12+
CONFIG_HEAP_MEM_POOL_SIZE=16384
13+
14+
# Enable some shells
15+
CONFIG_SHELL_CMDS=n
16+
CONFIG_SHELL=y
17+
CONFIG_FILE_SYSTEM_SHELL=y
18+
CONFIG_NET_SHELL=y
19+
CONFIG_DEVICE_SHELL=y
20+
CONFIG_KERNEL_SHELL=y
21+
CONFIG_DATE_SHELL=y

scorpio/sample.yaml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
sample:
2+
name: Scorpio Console
3+
tests:
4+
sample.shell.scorpio_console:
5+
filter: ( CONFIG_SERIAL and CONFIG_UART_SHELL_ON_DEV_NAME )
6+
tags: shell
7+
harness: keyboard
8+
min_ram: 40

scorpio/src/main.c

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
/*
2+
* Copyright (c) 2015 Intel Corporation
3+
*
4+
* SPDX-License-Identifier: Apache-2.0
5+
*/
6+
7+
#include <zephyr.h>
8+
#include <sys/printk.h>
9+
#include <shell/shell.h>
10+
#include <version.h>
11+
#include <logging/log.h>
12+
#include <stdlib.h>
13+
14+
LOG_MODULE_REGISTER(app);
15+
16+
static int cmd_demo_params(const struct shell *shell, size_t argc, char **argv)
17+
{
18+
shell_print(shell, "argc = %d", argc);
19+
for (size_t cnt = 0; cnt < argc; cnt++) {
20+
shell_print(shell, " argv[%d] = %s", cnt, argv[cnt]);
21+
}
22+
23+
return 0;
24+
}
25+
26+
static int cmd_demo_hexdump(const struct shell *shell, size_t argc, char **argv)
27+
{
28+
shell_print(shell, "argc = %d", argc);
29+
for (size_t cnt = 0; cnt < argc; cnt++) {
30+
shell_print(shell, "argv[%d]", cnt);
31+
shell_hexdump(shell, argv[cnt], strlen(argv[cnt]));
32+
}
33+
34+
return 0;
35+
}
36+
37+
static int cmd_version(const struct shell *shell, size_t argc, char **argv)
38+
{
39+
ARG_UNUSED(argc);
40+
ARG_UNUSED(argv);
41+
42+
shell_print(shell, "Zephyr Version: %s", KERNEL_VERSION_STRING);
43+
shell_print(shell, "Build Date: %s, %s\n", __DATE__, __TIME__);
44+
45+
return 0;
46+
}
47+
48+
SHELL_STATIC_SUBCMD_SET_CREATE(utils,
49+
SHELL_CMD(hexdump, NULL, "Hexdump params command.", cmd_demo_hexdump),
50+
SHELL_CMD(params, NULL, "Print params command.", cmd_demo_params),
51+
SHELL_SUBCMD_SET_END /* Array terminated. */
52+
);
53+
SHELL_CMD_REGISTER(utilities, &utils, "Handy Utilities", NULL);
54+
55+
SHELL_CMD_ARG_REGISTER(version, NULL, "Show kernel version", cmd_version, 1, 0);
56+
57+
void main(void)
58+
{
59+
60+
}

0 commit comments

Comments
 (0)