Adding "Reboot" command

based on BDH Shell

Create New Application

Create New Application

Select Board

Select Project

Coding Explained

You can check the cmd functions in the `usrcmd.c` file.

The CLI (Command Line Interface) provides a way for users to interact with the system through text-based commands. Here is the detail of each function:

  • cmd_table_t: This is a struct that includes a command name, a description, and a function that is executed when the command is entered. The CLI (Command Line Interface) provides a way for users to interact with the system through text-based commands. Here is the detail of each function:

  • cmd_table_t: This is a struct that includes a command name, a description, and a function that is executed when the command is entered.

  • cmdlist[]: This is a list of the custom commands available in the shell. Each command corresponds to a specific function that is executed when the command is entered.

  • usrcmd_execute(): This function executes a given command by looking it up in the cmdlist and calling its corresponding function.

  • usrcmd_ntopt_callback(): This is the callback function for the command parsing library. It is invoked when a command is entered, and it executes the appropriate function based on the entered command.

  • Command Functions: Functions like usrcmd_help(), usrcmd_info(), usrcmd_clear(), etc. are the implementations of the custom commands. They are executed when the corresponding command is entered into the shell.

  • usrcmd_task(): This function is where the command line interface starts. It initializes the shell, sets the prompt, and then starts executing commands.

The new commands that we added are usrcmd_history(), usrcmd_reboot(), and usrcmd_kill().

✅ Create the commands of usrcmd_reboot

usrcmd_reboot reboots the system by using the NVIC_SystemReset function which resets the processor and all peripheral devices to their default state.

Step-by-step guide on how to create the usrcmd_reboot

1. Function Prototype:

You have to declare the function prototype for usrcmd_reboot. The prototype of the function is as follows:

2. Function Definition:

Now let's define the usrcmd_reboot function. Here, it will print a message and then call NVIC_SystemReset() to perform a system reboot.

3. Command Registration:

In the cmdlist[] structure, register the reboot command to map it to the usrcmd_reboot function. Add the following line in the cmdlist[] structure:

✅ Create the commands of usrcmd_kill

usrcmd_reboot reboots the system by using the NVIC_SystemReset function which resets the processor and all peripheral devices to their default state.

Step-by-step guide on how to create the usrcmd_reboot

1. Function Prototype:

Declare the function prototype for usrcmd_kill:

2. Function Definition:

Define the usrcmd_kill function. This function will typically take the process ID as a parameter from the command line arguments and terminate that process.

3. Command Registration:

Add the kill command to the cmdlist[] structure to map it to the usrcmd_kill function. Add the following line in the cmdlist[]

This registers the kill command such that it will call the usrcmd_kill function when invoked.

Last updated

Was this helpful?