Shell¶
Overview¶
The Shell sample shows you how to register custom commands into the Zephyr Shell. The following custom commands will be registered:
bootloader
: Enter the UF2 Bootloader at runtime.erase_app
: Erase the entire application at runtime.
Ensure UF2 Bootloader is present
This sample requires the UF2 Bootloader running on the board. If the UF2 Bootloader is not present or gets corrupted somehow, you can re-install the UF2 Bootloader by following the UF2 Bootloader Installation section.
Requirements¶
Before you start, check that you have the required hardware and software:
- 1x iMX RT1011 Nano Kit
- 1x USB-C Cable
- A computer running macOS, Linux, or Windows 7 or newer
Building the sample¶
Before you start building, remember to set up the environment first.
Use the following steps to build the Shell sample on the command line.
-
Open a terminal window.
-
Go to
zephyrproject/imxrt1011-nanokit
directory created in the Setting up the environment section. -
Build the sample using the
west build
command, specifying the board (following the-b
option) asimxrt1011_nanokit
.Tip
The
-p always
option forces a pristine build, and is recommended for new users. Users may also use the-p auto
option, which will use heuristics to determine if a pristine build is required, such as when building another sample. -
After running the
west build
command, the build files can be found inbuild/zephyr
.
Flashing the firmware¶
This sample should work with the UF2 Bootloader. The firmware can be found in build/zephyr
.
To flash the firmware, complete the following steps:
- Plug your board into the USB port of your computer.
- Double-click the RST button to enter UF2 Bootloader mode.
- The board will mount as a Mass Storage Device called UF2BOOT and the Red LED blinks slow.
- Drag and drop
build/zephyr/zephyr.uf2
onto the UF2BOOT volume. The RGB LED blinks red fast during flashing. - Press RST button on the board and the sample will start running.
Testing¶
After flashing the firmware to your board, complete the following steps to test it:
- Plug the board into the USB port of your computer.
-
Open up a serial terminal, specifying the correct serial port that your computer uses to communicate with the board:
-
After connecting to the shell you should see the following output::
-
The
bootloader
command can now be used:After this command is executed, the board will reset and run into the UF2 Bootloader mode.
-
Press RST button to exit the UF2 Bootloader mode and run into the Shell application. Connect to the shell again.
-
The
erase_app
command can now be used:After this command is executed, the board will reset and start erasing the application memory. The Red LED will blink fast, and once erasing completed, the board will run in UF2 Bootloader mode as there is no application to boot.