精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

MSH二級補全API使用示例

冬至子 ? 來源:HelloBye ? 作者:HelloBye ? 2023-10-08 11:19 ? 次閱讀

API/宏 說明

CMD_OPTIONS_STATEMENT(name)
MSH_OPT_ID_GET(name)
MSH_OPT_DUMP(name)
CMD_OPTIONS_NODE_START(name)
CMD_OPTIONS_NODE(id, cmd, desc)
CMD_OPTIONS_NODE_END

以上宏中 name 參數(shù)最好與命令函數(shù)字符串一致, 子選項固定為命令后的第一個字符串(argv[1])。

CMD_OPTIONS_NODE:添加一個子選項, 第一個參數(shù)是子命令的id,這個宏必須在CMD_OPTIONS_NODE_START 和 CMD_OPTIONS_NODE_END之間。

MSH_OPT_ID_GET:用于檢索子選項對應(yīng)的id,也是CMD_OPTIONS_NODE中填寫的id,可以與switch配合使用。

CMD_OPTIONS_STATEMENT:這個宏必須定義在命令函數(shù)實現(xiàn)之前,因為使用這個宏會創(chuàng)建一個結(jié)構(gòu)體參數(shù)。

MSH_OPT_DUMP:用于dump出子命令及命令描述。

MSH_CMD_EXPORT 和 MSH_CMD_EXPORT_ALIAS宏與之前兼容,如需使用二級補全,只需再添加一項參數(shù),內(nèi)容不限。

宏對比:

MSH_CMD_EXPORT(command, desc) or MSH_CMD_EXPORT(command, desc, opt)
MSH_CMD_EXPORT_ALIAS(command, alias, desc) or MSH_CMD_EXPORT_ALIAS(command, alias, desc, opt)

使用二級補全實現(xiàn)一個demo,用于讀寫內(nèi)存

#include
#include
#include
static rt_uint64_t data[100];
int main(void)
{
printf("hello rt-threadn");
printf("data addr: %pn", data);
return 0;
}
CMD_OPTIONS_STATEMENT(memroy_tools)
static int memroy_tools(int argc, char *argv[])
{
rt_uint64_t address, value;
if (argc >= 3)
{
address = strtoul(argv[2], RT_NULL, 0);
switch (MSH_OPT_ID_GET(memroy_tools))
{
case 1:
value = HWREG64(address);
rt_kprintf("addr:%p = %pn", address, value);
break;
case 2:
if (argc >= 4)
{
value = strtoul(argv[3], RT_NULL, 0);
HWREG64(address) = value;
rt_kprintf("addr:%p = %pn", address, value);
}
break;
default:
goto _usage;
break;
}
}
else
{
goto _usage;
}
return 0;
_usage:
rt_kprintf("Usage: mt [options] address [value]n");
rt_kprintf("[options]:n");
MSH_OPT_DUMP(memroy_tools);
return 0;
}
CMD_OPTIONS_NODE_START(memroy_tools)
CMD_OPTIONS_NODE(1, readq, read address)
CMD_OPTIONS_NODE(2, writeq, write address value)
CMD_OPTIONS_NODE_END
MSH_CMD_EXPORT_ALIAS(memroy_tools, mt, memroy tools, options);
測試日志:
| /

RT - Thread Operating System
/ | 5.0.1 build Oct 8 2023 00:09:31
2006 - 2022 Copyright by RT-Thread team
file system initialization fail!
hello rt-threadmsh />
data addr: 0x40101008
msh />
msh />mt
Usage: mt [options] address [value]
[options]:
readq - read address
writeq - write address value
msh />
msh />
msh />mt rea
readq
msh />mt readq 0x40101008
addr:0x0000000040101008 = 0x0000000000000000
msh />
msh />mt w
writeq
msh />mt writeq 0x40101008 0x1234
addr:0x0000000040101008 = 0x0000000000001234
msh />
msh />mt re
readq
msh />mt readq 0x40101008
addr:0x0000000040101008 = 0x0000000000001234

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • CMD命令
    +關(guān)注

    關(guān)注

    0

    文章

    28

    瀏覽量

    8300
  • RT-Thread
    +關(guān)注

    關(guān)注

    31

    文章

    1273

    瀏覽量

    39924
收藏 人收藏

    評論

    相關(guān)推薦

    嵌入式C語言二級指針

    二級指針相對于一指針,顯得更難,難在于指針和數(shù)組的混合,定義不同類型的二級指針,在使用的時候有著很大的區(qū)別。
    發(fā)表于 11-04 10:08 ?580次閱讀

    C二級要點

    C二級要點關(guān)于基礎(chǔ)知識的
    發(fā)表于 03-29 12:47

    全國計算機(jī)二級試題全集

    全國計算機(jī)二級試題含有從,二級筆試試題BASIC,筆試試題FORTRAN,1994-2002年的二級C、二級Pascal、二級QBasic、
    發(fā)表于 12-30 10:20 ?27次下載
    全國計算機(jī)<b class='flag-5'>二級</b>試題全集

    瞬時二級管測試器

    瞬時二級管測試器
    發(fā)表于 04-20 11:34 ?1081次閱讀
    瞬時<b class='flag-5'>二級</b>管測試器

    二級公共基礎(chǔ)速學(xué)教程

    二級公共基礎(chǔ)速學(xué)教程
    發(fā)表于 01-19 16:22 ?0次下載
    <b class='flag-5'>二級</b>公共基礎(chǔ)速學(xué)教程

    二級管管式充電電路

    本文為二級管管式充電電路,為了能夠任意改變工作頻率而不引起充電電壓的變化,在電路中引入一只阻擋二級管。
    發(fā)表于 07-14 18:05 ?1688次閱讀
    <b class='flag-5'>二級</b>管管式充電電路

    計算機(jī)二級C

    計算機(jī)二級C
    發(fā)表于 09-15 17:27 ?0次下載

    計算機(jī)二級C語言程序設(shè)計考試大綱

    計算機(jī)二級計算機(jī)二級計算機(jī)二級計算機(jī)二級計算機(jī)二級計算機(jī)二級
    發(fā)表于 11-18 17:30 ?0次下載

    二級C語言上機(jī)題庫

    計算機(jī)二級C語言考試上機(jī)題庫,包含大題和答案。
    發(fā)表于 03-22 18:04 ?0次下載

    15002401計算機(jī)二級

    計算機(jī)二級的題庫
    發(fā)表于 02-15 23:40 ?0次下載

    怎樣啟用CPU的二級緩存 如何查看二級緩存的參數(shù)

    提到二級緩存容量的差距,還得從兩大CPU巨頭對一緩存的理解說起。對,沒看錯,就是平常曝光率遠(yuǎn)遜于二級緩存的“一緩存”!它才是造成上面提到巨大差異的“罪魁禍?zhǔn)住薄?/div>
    的頭像 發(fā)表于 08-14 10:20 ?1.2w次閱讀

    二級c語言無紙化考試模擬軟件(二級c語言模擬考試系統(tǒng))免費下載

    二級C無紙化考試模擬軟件(二級c語言模擬考試系統(tǒng))是由官方專門為計算機(jī)二級考試推出的一款非常好用的C語言打造的考試模擬練習(xí)軟件。二級c語言模擬考試的軟件非常多,你是不是不知道用哪款?那
    發(fā)表于 09-27 14:49 ?27次下載
    <b class='flag-5'>二級</b>c語言無紙化考試模擬軟件(<b class='flag-5'>二級</b>c語言模擬考試系統(tǒng))免費下載

    C語言二級指針的用法與原理

    提到指針,我們都知道指針是用來存儲一個變量的地址。所以,當(dāng)我們定義了一個指向指針的指針的時候(pointer to pointer),我們也稱之為二級指針,那針對于這個二級指針來說,第一指針存放的是指向的變量的地址,第
    發(fā)表于 07-02 14:52 ?3788次閱讀
    C語言<b class='flag-5'>二級</b>指針的用法與原理

    C進(jìn)階技巧:二級指針問題

    這里重點看看一、二級,畢竟二級指針與我們的維數(shù)據(jù)結(jié)合使用,維素組在圖形、矩陣、算法等等方面還是使用非常廣泛的。
    的頭像 發(fā)表于 09-08 15:00 ?1843次閱讀
    C進(jìn)階技巧:<b class='flag-5'>二級</b>指針問題

    二級電源和II電源的區(qū)別

    二級電源和II電源的區(qū)別 隨著電力需求的不斷增長,人們對電源的要求也越來越高。二級電源和II電源是兩種常見的電源等級,它們在一些關(guān)鍵的技術(shù)規(guī)范上存在一些區(qū)別。 首先,我們來了解一下
    的頭像 發(fā)表于 01-19 13:51 ?1941次閱讀