uclinux很久前筆記6

2021-07-22 17:57:25 字數 1500 閱讀 1991

【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...