源碼路徑
- https://gitee.com/nrush/nr_micro_shell.git
git clone https://gitee.com/nrush/nr_micro_shell.git
移植
1、源碼文件拷貝
- 只需要 inc 以及 src 兩個文件夾內容
2、將兩個文件夾中的c、h文件添加到工程中
3、修改配置文件 nr_micro_shell_config.h
- 可見源碼中readme.md說明
- 因為裸機下移植,需要定義
#define NR_MICRO_SHELL_SIMULATOR
- 開啟
#define NR_SHELL_USING_EXPORT_CMD
可更好的使用該shell
4、使用(main.c)中調用
- 初始化必要的串口驅動(可見 【國民技術N32項目移植】N32L43XRL-STB 串口調試 使用printf打印日志)
- 定義自己需要的調試命令,如下:我定義了兩個命令用來打開 led和關閉led的命令(命令為 on和off)
void led_on_command_funtion(char argc, char *argv) { log_func(); GPIO_SetBits(GPIOB, GPIO_PIN_4); } void led_off_command_funtion(char argc, char *argv) { log_func(); GPIO_ResetBits(GPIOB, GPIO_PIN_4); } NR_SHELL_CMD_EXPORT(on, led_on_command_funtion); NR_SHELL_CMD_EXPORT(off, led_off_command_funtion); NR_SHELL_CMD_EXPORT(off, led_off_command_funtion);
NR_SHELL_CMD_EXPORT(off, led_off_command_funtion);
- 主函數中調用如下
int main(void) { log_init(); //uart驅動初始化 shell_init();//shell初始化 unsigned int i = 0; while (1) { if (USART_GetFlagStatus(USART1, USART_FLAG_RXDNE) != RESET) { char ch = USART_ReceiveData(USART1);//讀取一個字節 // log_debug("recv %x", ch); shell(ch);//shell執行 } } } }
}
使用
-
編譯下載 后,通過串口工具我查看到初始化打印
-
開源代碼,初始化打印,以及提示符可以自己修改
-
配合上 shell工具使用更 happy
-
支持tab補全,查看命令等
審核編輯:湯梓紅
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
移植
+關注
關注
1文章
379瀏覽量
28137 -
N32
+關注
關注
0文章
18瀏覽量
7219 -
串口調試
+關注
關注
2文章
268瀏覽量
24722 -
國民技術
+關注
關注
2文章
308瀏覽量
20405
發布評論請先 登錄
相關推薦
nr_micro_shell的優點是什么
nr_micro_shell — 在單片機上體驗linux shell命令行,自動補全,歷史命令,自定義命令單片機在進行實際調試和維護時,常常需要與單片機進行交互,獲取或設置某些參數,以了解系統工作
發表于 01-12 06:58
N32L43XRL-STB開發板硬件使用指南
N32L43XRL-STB開發板硬件使用指南開發板用于國民技術股份有限公司32位N32L43XRL系列MCU的開發。本文檔詳細描述了N32L43XR
發表于 11-01 06:48
【國民技術N32項目移植】N32L43XRL-STB項目移植之基于IIC接口的OLED
IIC接口的OLED是平時實驗中常用的顯示設備,和開發板只需要四根線連接,VCC、GND、SDA、SCL。而且所使用的IIC經常采用軟件模擬的方式實現。本次移植就是利用N32L436的兩個IO口模擬
發表于 12-23 08:35
【國民技術N32項目移植】easypower 結論
經過簡單的移植和調試,比較順利的完成。本設計比較簡單,國民技術的軟件庫和例程也比較完善。所以還是容易的。只是在原來設計的板子上做移植和驗證。
發表于 02-28 23:49
評論