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

注:
* 此處可能會因網絡原因造成卡頓,請耐心等待。
* 如果實在要在gitHub網頁上下載,也要把整個倉庫下載下來,不能單獨下載本實例對應的目錄。
2.2 開發環境搭建
通過adb shell進入板卡開發環境,如下圖所示。
通過以下命令,把nfs目錄掛載上nfs服務器。
mount -t nfs -o nolock ?nfs server ip??>:?nfs path in server??> /home/orin-nano/Desktop/nfs/

2.3 例程編譯
然后定位到nfs的掛載目錄,再在目錄中創建存放源碼倉庫的管理目錄:
cd /home/orin-nano/Desktop/nfs/GitHub
進入到對應的例程目錄執行編譯操作,具體命令如下所示:
cd EASY-EAI-Toolkit-3576/Demos/common-ini/ ./build.sh

2.4 例程運行及效果
進入Release目錄執行下方命令,運行示例程序:
./Release/test-iniWrapper
執行效果如下所示。
API的詳細說明,以及API的調用(本例程源碼),詳細信息見下方說明。
3. INI文件API說明
3.1 引用方式
EASY EAI api庫位于本倉庫的easyeai-api目錄中。為方便客戶在本地工程中直接調用我們的EASY EAI api庫,此處列出工程中需要鏈接的庫以及頭文件等,方便用戶直接添加。
描述 | CMake寫法 | Makefile寫法 |
api.cmake | ${common_root}/ini/api.cmake | 無 |
頭文件目錄 | ${INI_INCLUDE_DIRS} | -I ../../easyeai-api/common/ini |
源文件目錄 | ${INI_SOURCE_DIRS} | ../../easyeai-api/common/ini |
庫文件目錄 | 無 | 無 |
庫鏈接參數 | ${INI_LIBS} | 無 |
API源代碼路徑為EASY-EAI-Toolkit-3576/easyeai-api/common/ini/。用戶可通過源代碼了解接口實現,甚至可對源碼進行修改。
3.2 INI讀取整型數據
函數原型如下所示。
int32_t ini_read_int(const char *file, const char *pcSection, const char *pcKey);
具體介紹如下所示。
函數名:ini_read_int() | |
頭文件 | easyeai-api/common/ini/ini_wrapper.h |
file:配置文件位置 | |
pcSection:參數所在的節 | |
pcKey:參數標簽 | |
返回值 | 成功返回0 |
失敗返回-1 | |
注意事項 | 無 |
3.3 INI寫入整型數據
函數原型如下所示。
int32_t ini_write_int(const char *file, const char *pcSection, const char *pcKey, int Val);
具體介紹如下所示。
函數名:ini_write_int() | |
頭文件 | easyeai-api/common/ini/ini_wrapper.h |
輸入參數 | file:配置文件位置 |
pcSection:參數所在的節 | |
pcKey:參數標簽 | |
Val:int型,寫入的參數值 | |
返回值 | 成功返回0 |
失敗返回-1 | |
注意事項 | 若配置文件不存在,則會自動創建配置文件 |
3.4 INI讀取字符串數據
函數原型如下所示。
int32_t ini_read_string(const char *file, const char *pcSection, const char *pcKey, char *pcStr, int len);
具體介紹如下所示。
函數名:ini_read_string() | |
頭文件 | easyeai-api/common/ini/ini_wrapper.h |
輸入參數 | file:配置文件位置 |
pcSection:參數所在的節 | |
pcKey:參數標簽 | |
pcStr:字符串型指針,用于存放讀取出來的參數值 | |
len:存放讀取參數的字節串內存最大長度 | |
返回值 | 成功返回0 |
失敗返回-1 | |
注意事項 | 無 |
3.5 INI寫入字符串數據
函數原型如下所示。
int32_t ini_write_string(const char *file, const char *pcSection, const char *pcKey, const char *pcStr);
具體介紹如下所示。
函數名:ini_write_string() | |
頭文件 | easyeai-api/common/ini/ini_wrapper.h |
輸入參數 | file:配置文件位置 |
pcSection:參數所在的節 | |
pcKey:參數標簽 | |
pcStr:需要被寫入的字符串數據指針 | |
返回值 | 成功返回0 |
失敗返回-1 | |
注意事項 | 若配置文件不存在,則會自動創建配置文件 |
3.6 INI文件操作函數使用案例
使用代碼為EASY-EAI-Toolkit-3576/Demos/common-ini/test-iniWrapper.c,程序邏輯如下所示。
審核編輯 黃宇
-
開發板
+關注
關注
25文章
5499瀏覽量
102166 -
ini
+關注
關注
0文章
2瀏覽量
1859 -
rk3576
+關注
關注
1文章
145瀏覽量
552
發布評論請先 登錄
基于RK3576開發板的MIPI-DSI使用

評論