cdfs檔案是vxworks對於元件進行配置的檔案(components description files).
1,
對去驅動components的巨集:
drv_drviertype_drivername
drv_sio_ns16550
componment include_name
paramter max_trbl
name: 元件的名字
synopsis: 對元件的進步的描述
link-syms:需要鏈如到系統映象的符號(這個符號必須有定義)
archive: 歸檔檔案,也就是需要的二進位制檔案(庫檔案)
init_rtn: 初始化函式
_init_order:把這個元件的初始化指定到乙個特定的乙個初始化組中
init_before: 在某個特定的(被init_before關鍵字指定的函式或其他)函式前呼叫本元件的初始化 函式
configlettes:原始檔(對應的.c 原始檔)
hdr_files: 需要的標頭檔案
cfg_params: 配置引數(每個對應的配置引數需要另外進行定義,如上max_trbl)
requires: 依賴的元件
include_when:當包含某個元件時,就包含本元件
_children: 指示是那個元件的兒子元件
_defaults: 指示本元件是某個特定folder或selection的預設元件
/*對元件中被cfg_params包含的配置元件,進行定義。使之成為乙個可配置選項**/
2,parameter paramter
/*每個有初始化函式的元件,這個函式肯定被分配到了乙個初始化組中。初始化組提供了相關元件的邏輯上的組初始化,並且在系統啟動是順序的初始化系統的工具。
*/3,initgroup initgroup
/**bundlen工程把經常使用的元件繫結在一起,它有利於配置系統一組有用的工具
*/4,bundle bundle_name
/**profile工程用於定義在工程建立時需要所使用的元件
*/5,profile profile_name
/**定義乙個資料夾
*/6,folder folder_name
children: 用於說明都包含那些子元件
_children:用於說明是那個元件的子元件
/**select工程用於顯示可以選擇的相關功能的元件(也就是可以選擇,也可以不選擇)
*/7,selection selection_name
/**bspe工程定義了bsp和他們的屬性,所以在工程中可以進行選擇。
*/8,bsp bsp_name
cpu :支援的cpu
requires :依賴的u元件
fp :浮點操作的模組
endian :大小端
mp_options :多cpu的支援
guest_os_option :用於定義是否支援讓vxworks在風和的虛擬層上作為guest_os執行
example: 這裡進行了部分刪減,便於檢視。
/*定義了乙個名字為folder_shell的資料夾,並說明了是folder_tools的子元件*/
folder folder_shell
/*定義了乙個名字為folder_shell_cmd的目錄,是folder_shell的子元件*/
folder folder_shell_cmd
/**定義了乙個名為include_shell的元件,原始檔是usrshell.c,初始化函式是usrshell (),模組
*是shellremoteaccesslib.o shellcompletionlib.o usrlib.o,以及定義了許多配置選項,
*需要的元件由requires定義,是folder_shell的子元件,缺省會選擇由_defaults定義
*每個配置選項,在後面都有對應的定義
*/component include_shell
component include_debug
component include_shell_banner
selection select_shell_edit_mode
component include_shell_vi_mode
selection select_shell_interp
component include_shell_interp_c
component include_shell_interp_cmd
parameter shell_task_name_base
parameter shell_task_priority
parameter shell_task_options
parameter shell_stack_size
parameter shell_secure
parameter shell_start_at_boot
parameter shell_compatible
parameter shell_default_config
parameter shell_first_config
parameter shell_remote_config
parameter shell_max_sessions
/**包含初始化函式的組成了乙個初始化組,這個不再workbench的gui上顯示
*/initgroup usrshellinit
最後的效果檢視:
VxWorks中修改原有模組編譯方法
以pentium cpu平台上 end.o增強網路驅動模組為例 1 修改原來的驅動程式或者是應用模組後,make cpu pentium tool gnu end.o 2 拷貝 o到lib pentium pentium common下 3 使用命令arpentium d libdrv.a end....
vxWorks中的logMsg機制的實現
vxworks中列印時可以使用log msg來進行列印,當然了這是系統啟動後才可以使用的。這其實就是定義了乙個全域性的資訊佇列,當呼叫log msg時,資訊就寫入到這個佇列中,然後相關的資訊就會被列印出來。先看一下這個佇列被實現的函式呼叫 usrroot loginitstatus loginit ...
VxWorks關於任務建立的幾個函式的概述
對於vxworks 的任務建立可以通過呼叫 taskspawn 或是taskinit taskactivate 兩種方式,以下就對這兩種方式進行說明。taskspawn 實現任務的建立分為兩步 1 分配任務棧的空間,初始化wind tcb 2 啟用任務。taskspawn 函式的定義,int tas...