背景:移植RT-Thread nano,并基于 nano 添加 FinSH/shell 在nano上添加finsh可以有两种方法: 1、移植finsh基于device框架【这个官方文档中心有相关的文章了,链接:https://www.rt-thread.org/document/site/tutorial/nano/nano_finsh/an0033-nano-finsh/】 2、移植finsh不基于device框架【本文讲解这个不基于device框架...
下载,观察是否正常点灯。 四、移植RT-Thread Shell 确保第三步中选择了RT-Thread中的shell模块。 修改rtconfig.h,在最后一行新增 #include "finsh_config.h" 修改finish_port.c文件,增加 UART 接收部分 RT_WEAK char rt_hw_console_getchar(void) { /* Note: the initial value of ch must < 0 */ int...
voidfinsh_thread_entry(void*parameter){char ch;/* normal is echo mode */shell->echo_mode=1;#ifndefFINSH_USING_MSH_ONLYfinsh_init(&shell->parser);#endifrt_kprintf(FINSH_PROMPT);/* set console device as shell device */if(shell->device==RT_NULL){#ifdefRT_USING_CONSOLEshell->device=rt_...
2 shell脚本如何调试 2.1 特别说明 本文中提及的shell脚本,无特殊说明的情况下,指的是bash shell。这里做这个强调的主要原因是,不同的shell的一些基础语法可能有微小的差异,导致在bash shell中可以跑的脚本,但在别的shell上就跑不了。 这种案例可以参见:【Linux Shell】你知道bash shell和dash shell的区别吗? 2.2...
FinSH 是 RT-Thread 的命令行组件(shell),它提供一套供用户在命令行调用的操作接口,主要用于调试或查看系统信息,可以使用串口 /以太网/ USB 等方式与 PC 机进行通信。一般我们默认用串口1和PC机通讯,通过串口我们可以查看单片机运行的情况,也可以通过发送命令控制单片机执行某些操作。关于FinSH更多详细的内容,大家可以...
在使用 RT-Thread 时,需要对两个文件的内容进行比较,顺手写了一个测试的 MSH shell 命令,经过优化,发现功能可以使用 RT-Thread 下支持多种文件系统,如FAT等,可以通过 USB、串口 的 Ymodem 等协议把文件导出到电脑上进行内容的分析,如果文件一时间无法导出,需要确认两个文件内容是否相同,怎么办?就写个简单的文件...
FinSH(Fin Shell)是一款嵌入式Shell(命令行接口),主要用于RT-Thread实时操作系统。RT-Thread是一个开源的轻量级实时操作系统,广泛应用于各种嵌入式设备中。FinSH作为其组件之一,提供了一个非常实用的命令行界面,允许开发者和系统管理员通过命令行直接与操作系统交互,极大地提高了调试和维护的效率。
Finsh 是 RT-Thread 的 shell 组件,通过它能够直接在 shell 中调用系统函数,访问系统变量;接受 C 语言中大多数运算符(包括指针运算符)进行简单计算; 通过定义指针(函数)变量并指向某特 定地址,可以完成匿名函数调用的功能。表面感觉简单,内部实则非常复杂和强大。它包含了 一个可接受 C 语言表达式的 shell 系统,...
最近基于RT-Thread MSH 串口 shell调试一个功能时,shell 命令后面有个较长的参数,无法正确的执行,参数应该是被【截断】了,提示命令找不到 环境 RT-Thread 4.1.0 Keil MDK5 修改方法 通过RT-Thread ENV 工具:menuconfig,修改了串口的buffer长度,发现没有效果 ...
bash_shell_e$ ls test_shell_e.sh bash_shell_e$ bash_shell_e$ echo $? 0 嗯哼?返回1,这个引起了我的注意,证明这条命令执行的返回是失败的。 回头再看看脚本的开始,我习惯上是写 #! /bin/bash -e 至于为啥带上-e,以前压根就没去考虑过,反正看到linux下的好多系统脚本就是这样写的,咱这样是像标...