Aliosコンソールコンポーネント(cli)の使用法と移植

概要概要

シリアルポートは、シリアルポートの書き込み、シリアルポートの中断、シリアルポートの印刷などの組み込み開発で特に使用されます。Linuxシステムのシェルは、人間とコンピューターのコマンドラインの相互作用を十分に実現でき、シングルチップまたは組み込みの小さなシステムはシリアルポートを使用します。この機能を実現することができます。AliosのCLIコンポーネントは、シリアルポートの入力を解析することにより、事前にバインドされたコマンド実行機能を実装します。

CLIAPIの紹介

#include“ cli_api.h”

//cli命令结构体
struct cli_command {
    
    
    const char *name;            // 命令字符串
    const char *help;            // 帮助文本,类似linux中的man命令帮助
    void (*function)(char *pcWriteBuffer, int xWriteBufferLen, int argc, char **argv);
    // 命令执行函数
};

aos_cli_init  初始化CLI模块(只需系统启动时初始化一次即可)
aos_cli_stop  停止并释放CLI模块系统资源
aos_cli_get_tag 获取特殊的CLI打印标识符
aos_cli_register_command CLI命令绑定
​aos_cli_unregister_command CLI命令解绑
​aos_cli_register_commands CLI命令集绑定(多个CLI命令)
aos_cli_unregister_commands CLI命令集解绑(多个CLI命令)
aos_cli_chg_passwd 更改CLI登陆密码(需要先打开CLI密码登陆功能)

構成ファイル:
#include“ cli_conf.h”

CLI_CONFIG_INBUF_SIZECLI着信バッファサイズ
CLI_CONFIG_OUTBUF_SIZE発信バッファサイズ
CLI_CONFIG_MAX_COMMANDSは最大数のコマンド
をサポートできますCLI_CONFIG_MAX_ARG_NUMは最大数のコマンドパラメータ
をサポートできますCLI_CONFIG_MAX_ONCECMD_NUMCLIは最大(単一実行)コマンド
サイズをサポートできますC

公式リファレンスリンク

CLIは他のプロジェクトに移植されました

適応インターフェースファイルcli_adapt.c

インターフェース 移植方法
int32_t cli_task_create(const char * name、void(* fn)(void *)、void * arg、uint32_t stack、uint32_t priority) スレッドを作成します。ベアメタルは関数ポインタを使用してfnを指すことができます
cli_task_exit スレッドが削除され、ベアメタル関数ポインターがNULLを指す
cli_task_cancel cliタスクをキャンセルする
cli_task_cancel_check cliタスクが有効な状態に設定されているかどうかを確認します
cli_getchar シリアルポートから文字を取得し、読み取った文字の長さを返します
cli_putstr シリアルポート送信文字列
cli_malloc メモリを割り当てる
cli_free メモリを解放する

総括する

移植と使用は比較的簡単で、基本的には移植完了後もAPIインターフェースが正常に使用できます。イージーフラッシュなどのパスワード機能が必要な場合は、KVストレージを移植する必要があります。
808/872移植成功パッケージ

おすすめ

転載: blog.csdn.net/tulongyongshi/article/details/108855206