【u-boot新增命令】
在u-boot/common/main.c中
void main_loop(void)
int run_command(const char *cmd, int flag)
……}cmd_tbl_t *find_cmd(const char *cmd)
}……}
u-boot.lds:
__u_boot_cmd_start = .;
.u_boot_cmd : // .u_boot_cmd段
__u_boot_cmd_end =.;
command.h
中定義了
.u_boot_cmd段
#define struct_section __attribute__ ((unused,section(".u_boot_cmd")))
#define u_boot_cmd(name,maxargs,rep,cmd,usage,help)\
cmd_tbl_t __u_boot_cmd_##name struct_section =
如:u_boot_cmd(bootm,cfg_maxargs,1,do_bootm,」***」 ,」*** ***」);
展開該巨集定義:
cmd_tbl_t __u_boot_cmd_bootm __attribute__((unused,section (".u_boot_cmd"))) =
在u-boot/include/command.h中定義了命令結構體:
struct cmd_tbl_s;
typedef struct cmd_tbl_s cmd_tbl_t;
新增乙個test命令:
1、 在common目錄下新建乙個cmd_test.c
內容為:
#include#include#include#include#include#include#include#include#includeint do_test(cmd_tbl_t *cmdtp, int flag, int argc, char*argv)
return 0;}
u_boot_cmd(
test, cfg_maxargs, 1, do_test,
"test - u-boot command test\n",
"\n"
" - *** *** *** test\n"
" *** test.\n"
);
編譯:在當前目錄下的makefile中加入編譯資訊:
cobjs = main.o
cmd_test.o
在燒寫啟動
u-boot
後,將在
help
中顯示test
命令,並且可以執行
test
命令。
很久前設計的webs管理器
webshell管理分為控制端和受控端,受控端使用指令碼實現,很簡單,就是乙個一句話木馬,控制端可以向受控端傳送指令碼命令來使受控端執行特定的程式。所以,比較重要的就是指令碼的編寫了,因此,程式的可擴充套件性要求就比較高了,所以,我想的也簡單,程式只做出一些介面方法,剩下的所有功能交給指令碼去實現,...
很久前寫的乙份計畫書
軟體行業的簡單分析 21世紀是資訊化的世紀,當前軟體行業風起雲湧,競爭激烈,各種新舊概念此起彼伏,氣勢如巨集。工業經濟時代競爭的特點就是產品生產成本上的競爭,但是發展到今天,由於生產的發展和技術的進步,市場變化越來越快,需求日新月異,舊有的通過規模化大生產 mass production 降低生產成...
python 很久以前的筆記儲存
批量替換請求頭 1 2 用法 kwargs demo a exception,requesthandler name demo kwargs 結果為 a name print kwargs 呼叫父類方式 def handle request exception self,e baseexceptio...