1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00

sys/shell: Add coreclk command to shell_cmd_sys

The coreclk shell command now prints the CPU frequency in Hz, which
can be useful for boards with RC generated CPU frequency (e.g.
RP2040, FE310, or MPS430Fx1xx MCUs allow this) which may quite a bit
off the target frequency.
This commit is contained in:
Marian Buschsieweke 2023-05-16 10:58:06 +02:00
parent 77b15473ae
commit 0747f5816c
No known key found for this signature in database
GPG Key ID: CB8E3238CE715A94
3 changed files with 42 additions and 0 deletions

View File

@ -448,6 +448,7 @@ PSEUDOMODULES += shell_cmd_benchmark_udp
PSEUDOMODULES += shell_cmd_ccn-lite-utils
PSEUDOMODULES += shell_cmd_conn_can
PSEUDOMODULES += shell_cmd_cord_ep
PSEUDOMODULES += shell_cmd_coreclk
PSEUDOMODULES += shell_cmd_cryptoauthlib
PSEUDOMODULES += shell_cmd_dfplayer
PSEUDOMODULES += shell_cmd_fib

View File

@ -308,6 +308,11 @@ config MODULE_SHELL_CMD_SYS
default y if MODULE_SHELL_CMDS_DEFAULT
depends on MODULE_SHELL_CMDS
config MODULE_SHELL_CMD_CORECLK
bool "Shell command printing the CPU frequency"
default n
depends on MODULE_SHELL_CMDS
config MODULE_SHELL_CMD_VFS
bool "Commands for the VFS module (ls, vfs)"
default y if MODULE_SHELL_CMDS_DEFAULT

36
sys/shell/cmds/coreclk.c Normal file
View File

@ -0,0 +1,36 @@
/*
* Copyright (C) 2023 Otto-von-Guericke Universität Magdeburg
*
* This file is subject to the terms and conditions of the GNU Lesser
* General Public License v2.1. See the file LICENSE in the top level
* directory for more details.
*/
/**
* @ingroup sys_shell_commands
* @{
*
* @file
* @brief Shell command printing the CPU frequency
*
* @author Marian Buschsieweke <marian.buschsieweke@ovgu.de>
*
* @}
*/
#include <inttypes.h>
#include <stdint.h>
#include <stdio.h>
#include "clk.h"
#include "shell.h"
static int _coreclk(int argc, char **argv)
{
(void)argc;
(void)argv;
printf("core clock: %" PRIu32 " Hz\n", coreclk());
return 0;
}
SHELL_COMMAND(coreclk, "Print the CPU frequency", _coreclk);