1. INI文件簡(jiǎn)介
INI文件時(shí)Initialization File的縮寫(xiě),即初始化文件。INI文件是Windows系統(tǒng)常見(jiàn)的配置文件存儲(chǔ)格式,當(dāng)前也可作為Linux的配置文件。INI文件由節(jié)、鍵、值組成?!肮?jié)”的表達(dá)方式為[Section1 Name],以中括號(hào)“[]”包圍起來(lái),它用來(lái)表示一個(gè)段落的開(kāi)始,因INI文件可能是整個(gè)項(xiàng)目共用的,所以需要使用“節(jié)”來(lái)區(qū)分不同用途的參數(shù)區(qū)?!版I”與“值”的組合表達(dá)方式為KeyName=value,以等號(hào)“=”分隔。INI文件注釋以分號(hào)“;”表示,在分號(hào)后面的文字直到該行結(jié)尾全部作為注解。例程如下所示,注意value值只有int型和string型。
; comment textINI文件的數(shù)據(jù)格式的例子(配置文件的內(nèi)容) [Section1 Name] KeyName1=value1 KeyName2=value2 ... [Section2 Name] KeyName21=value21 KeyName22=value22
2. 快速上手
如果您初次閱讀此文檔,請(qǐng)閱讀:《入門(mén)指南/源碼管理及編程介紹/源碼工程管理》,按需管理自己工程源碼(注:此文檔必看,并建議采用【遠(yuǎn)程掛載管理】方式,否則有代碼丟失風(fēng)險(xiǎn)?。。。?。
2.1 源碼工程下載
先在PC虛擬機(jī)定位到nfs服務(wù)目錄,再在目錄中創(chuàng)建存放源碼倉(cāng)庫(kù)的管理目錄:
cd ~/nfsroot mkdir GitHub cd GitHub
再通過(guò)git工具,在管理目錄內(nèi)克隆遠(yuǎn)程倉(cāng)庫(kù)(需要設(shè)備能對(duì)外網(wǎng)進(jìn)行訪問(wèn))
git clone https://github.com/EASY-EAI/EASY-EAI-Toolkit-3576.git

注:
* 此處可能會(huì)因網(wǎng)絡(luò)原因造成卡頓,請(qǐng)耐心等待。
* 如果實(shí)在要在gitHub網(wǎng)頁(yè)上下載,也要把整個(gè)倉(cāng)庫(kù)下載下來(lái),不能單獨(dú)下載本實(shí)例對(duì)應(yīng)的目錄。
2.2 開(kāi)發(fā)環(huán)境搭建
通過(guò)adb shell進(jìn)入板卡開(kāi)發(fā)環(huán)境,如下圖所示。
通過(guò)以下命令,把nfs目錄掛載上nfs服務(wù)器。
mount -t nfs -o nolock ?nfs server ip??>:?nfs path in server??> /home/orin-nano/Desktop/nfs/

2.3 例程編譯
然后定位到nfs的掛載目錄,再在目錄中創(chuàng)建存放源碼倉(cāng)庫(kù)的管理目錄:
cd /home/orin-nano/Desktop/nfs/GitHub
進(jìn)入到對(duì)應(yīng)的例程目錄執(zhí)行編譯操作,具體命令如下所示:
cd EASY-EAI-Toolkit-3576/Demos/common-ini/ ./build.sh

2.4 例程運(yùn)行及效果
進(jìn)入Release目錄執(zhí)行下方命令,運(yùn)行示例程序:
./Release/test-iniWrapper
執(zhí)行效果如下所示。
API的詳細(xì)說(shuō)明,以及API的調(diào)用(本例程源碼),詳細(xì)信息見(jiàn)下方說(shuō)明。
3. INI文件API說(shuō)明
3.1 引用方式
EASY EAI api庫(kù)位于本倉(cāng)庫(kù)的easyeai-api目錄中。為方便客戶在本地工程中直接調(diào)用我們的EASY EAI api庫(kù),此處列出工程中需要鏈接的庫(kù)以及頭文件等,方便用戶直接添加。
描述 | CMake寫(xiě)法 | Makefile寫(xiě)法 |
api.cmake | ${common_root}/ini/api.cmake | 無(wú) |
頭文件目錄 | ${INI_INCLUDE_DIRS} | -I ../../easyeai-api/common/ini |
源文件目錄 | ${INI_SOURCE_DIRS} | ../../easyeai-api/common/ini |
庫(kù)文件目錄 | 無(wú) | 無(wú) |
庫(kù)鏈接參數(shù) | ${INI_LIBS} | 無(wú) |
API源代碼路徑為EASY-EAI-Toolkit-3576/easyeai-api/common/ini/。用戶可通過(guò)源代碼了解接口實(shí)現(xiàn),甚至可對(duì)源碼進(jìn)行修改。
3.2 INI讀取整型數(shù)據(jù)
函數(shù)原型如下所示。
int32_t ini_read_int(const char *file, const char *pcSection, const char *pcKey);
具體介紹如下所示。
函數(shù)名:ini_read_int() | |
頭文件 | easyeai-api/common/ini/ini_wrapper.h |
file:配置文件位置 | |
pcSection:參數(shù)所在的節(jié) | |
pcKey:參數(shù)標(biāo)簽 | |
返回值 | 成功返回0 |
失敗返回-1 | |
注意事項(xiàng) | 無(wú) |
3.3 INI寫(xiě)入整型數(shù)據(jù)
函數(shù)原型如下所示。
int32_t ini_write_int(const char *file, const char *pcSection, const char *pcKey, int Val);
具體介紹如下所示。
函數(shù)名:ini_write_int() | |
頭文件 | easyeai-api/common/ini/ini_wrapper.h |
輸入?yún)?shù) | file:配置文件位置 |
pcSection:參數(shù)所在的節(jié) | |
pcKey:參數(shù)標(biāo)簽 | |
Val:int型,寫(xiě)入的參數(shù)值 | |
返回值 | 成功返回0 |
失敗返回-1 | |
注意事項(xiàng) | 若配置文件不存在,則會(huì)自動(dòng)創(chuàng)建配置文件 |
3.4 INI讀取字符串?dāng)?shù)據(jù)
函數(shù)原型如下所示。
int32_t ini_read_string(const char *file, const char *pcSection, const char *pcKey, char *pcStr, int len);
具體介紹如下所示。
函數(shù)名:ini_read_string() | |
頭文件 | easyeai-api/common/ini/ini_wrapper.h |
輸入?yún)?shù) | file:配置文件位置 |
pcSection:參數(shù)所在的節(jié) | |
pcKey:參數(shù)標(biāo)簽 | |
pcStr:字符串型指針,用于存放讀取出來(lái)的參數(shù)值 | |
len:存放讀取參數(shù)的字節(jié)串內(nèi)存最大長(zhǎng)度 | |
返回值 | 成功返回0 |
失敗返回-1 | |
注意事項(xiàng) | 無(wú) |
3.5 INI寫(xiě)入字符串?dāng)?shù)據(jù)
函數(shù)原型如下所示。
int32_t ini_write_string(const char *file, const char *pcSection, const char *pcKey, const char *pcStr);
具體介紹如下所示。
函數(shù)名:ini_write_string() | |
頭文件 | easyeai-api/common/ini/ini_wrapper.h |
輸入?yún)?shù) | file:配置文件位置 |
pcSection:參數(shù)所在的節(jié) | |
pcKey:參數(shù)標(biāo)簽 | |
pcStr:需要被寫(xiě)入的字符串?dāng)?shù)據(jù)指針 | |
返回值 | 成功返回0 |
失敗返回-1 | |
注意事項(xiàng) | 若配置文件不存在,則會(huì)自動(dòng)創(chuàng)建配置文件 |
3.6 INI文件操作函數(shù)使用案例
使用代碼為EASY-EAI-Toolkit-3576/Demos/common-ini/test-iniWrapper.c,程序邏輯如下所示。
審核編輯 黃宇
-
開(kāi)發(fā)板
+關(guān)注
關(guān)注
25文章
6004瀏覽量
110082 -
ini
+關(guān)注
關(guān)注
0文章
2瀏覽量
1873 -
rk3576
+關(guān)注
關(guān)注
1文章
210瀏覽量
1232
發(fā)布評(píng)論請(qǐng)先 登錄
如何移植EtherCAT Igh--基于米爾RK3576開(kāi)發(fā)板

【作品合集】米爾RK3576開(kāi)發(fā)板測(cè)評(píng)
米爾RK3576開(kāi)發(fā)板特惠活動(dòng)!

基于RK3576開(kāi)發(fā)板的MIPI-DSI使用

評(píng)論