[--------------点击下面,进入总目录索引--------------]
STM32系列精品Demo集 - 总目录
图示:Letter Shell效果演示
一、为什么要移植Letter shell
- Linux下强大的命令行工具用起来即为顺手,所以移植一款命令行工具到STM平台非常有意义 。
- 工程中集成一款交互式shell,为项目开发调试提供便捷,开发者自定义测试命令,使得更加灵活。
二、移植步骤
2.1、获取Letter Shell源码
https://github.com/NevermindZZT/letter-shell
图示:Letter Shell源码结构
上述源码结构中,若不想深入了解实现机制,只想简单使用起来,后续移植只需关心上述框出文件即可!
2.2、shell_port.c数据源移植
shell_port.c主要用于配置Uart数据通道,说白了就是将shell_port.c中的读写接口移植为STM32平台的Uart发送接收接口。
Shell shell;
char shellBuffer[512];
/**
* @brief 用户shell写
*
* @param data 数据
*/
void userShellWrite(char data)
{
ControlUartSendData(UART0_CHANNEL, data);
}
/**
* @brief 用户shell读
*
* @param data 数据
* @return char 状态
*/
signed char userShellRead(char *data)
{
*data = 0;
while (!(USART_GetFlagStatus(USART1, USART_FLAG_RXNE) == SET))
{
}
*data = USART_ReceiveData(USART1);
return 0; //返回0标识数据已经准备OK
}
/**
* @brief 用户shell初始化
*
*/
void userShellInit(void)
{
char data = 0;
shell.write = userShellWrite

本文档详细介绍了如何将Linux下的LetterShell命令行工具移植到STM32平台,包括源码获取、数据接口移植、平台配置及启动任务的方法。通过移植,可以在STM32上实现交互式shell,方便项目开发和调试。此外,还展示了如何编写自定义命令和注册命令,以实现功能扩展。




289

被折叠的 条评论
为什么被折叠?



