<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                新建一個名為:cmd_menu.c的文件,放到common目錄下,修改同目錄下的Makefile文件,加入編譯選項: COBJS-$(CONFIG_CMD_MENU) += cmd_menu.o 編寫cmd_menu.c的內容: 定義一個uboot cmd: ~~~ U_BOOT_CMD( ????menu,?3,?0,?do_menu, ????"menu - display a menu, to select the items to do something\n", ????" - display a menu, to select the items to do something" ); ~~~ cmd的名為?menu???? 執行的動作是do_menu函數 實現do_menu ~~~ int?do_menu?(cmd_tbl_t?*cmdtp,?int?flag,?int?argc,?char?*argv[]) { ????menu_shell(); ????return 0; } ~~~ ? 這里調用menu_shell函數 ~~~ void menu_shell(void) { ????char cmd_buf[200]; ????while?(1) ????{ ??????????main_menu_usage();?//打印菜單 ??????????c?=?awaitkey(-1,?NULL); ??????????printf("%c\n",?c); ??????????switch?(c) ??????????{ ????????????????case?'1':?//輸入‘1’執行的動作 ????????????????{ ????????????????????..... ????????????????????break; ????????????????} ????????????????case?'2':?//輸入‘2’執行的動作 ????????????????{ ????????????????????break; ????????????????} ????????????????case?'3':?//輸入‘3’執行的動作 ????????????????{ ????????????????????break; ????????????????} ??????????}? ????} } ~~~ ? menu_shell就是一個while循環,調用main_menu_usage打印菜單,然后awaitkey,再switch輸入的鍵值, 執行相應的case 我的main_menu_usage如下: ~~~ void main_menu_usage(void) { ????printf("[1] 燒寫bootloader到nandflash\r\n"); ????printf("[2] 燒寫Linux Kernel到nandflash\r\n"); ????printf("[3] 燒寫yaffs2文件系統到nandflash\r\n"); ????printf("[4] 下載程序在SDRAM中運行\r\n"); ????printf("[5] 設置uboot參數\r\n"); ????printf("[6] 格式化Nandflash\r\n"); ????printf("[7] 啟動Linux系統\r\n"); ????printf("[8] 進入Shell模式\r\n"); ????printf("[9] 重啟uboot\r\n"); ????if?(bBootFrmNORFlash?==?1) ????????printf("[0] 下載bootloader到NorFlash\r\n"); ????printf("Enter your selection: "); } ~~~ ? 以燒寫uboot到nandflash為例,case 1:中的內容為: ~~~ strcpy(cmd_buf,?"usbslave 1 0x30000000; nand erase bios; nand write.jffs2 0x30000000 bios 0x100000"); run_command(cmd_buf,?0); break; ~~~ ? 按照這個依次寫每個case 再main.c中調用menu命令: main_loop函數中在abortboot (bootdelay) 結束后加入: ~~~ #ifdef CONFIG_CMD_MENU ????run_command("menu",?0); #endif ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看