vxWorks中關於cdfs檔案的使用

2021-08-01 11:26:28 字數 2927 閱讀 2332

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