|
開(kāi)發(fā)Hi3516第一個(gè)驅(qū)動(dòng)程序示例, 本節(jié)指導(dǎo)開(kāi)發(fā)者在單板上運(yùn)行第一個(gè)驅(qū)動(dòng)程序,其中包括驅(qū)動(dòng)程序介紹、編譯、燒寫(xiě)、運(yùn)行等步驟。
驅(qū)動(dòng)程序介紹 下面基于HDF框架,提供一個(gè)簡(jiǎn)單的UART(Universal AsynchronousReceiver/Transmitter)平臺(tái)驅(qū)動(dòng)開(kāi)發(fā)樣例,包含配置文件的添加,驅(qū)動(dòng)代碼的實(shí)現(xiàn)以及用戶態(tài)程序和驅(qū)動(dòng)交互的流程。驅(qū)動(dòng)程序源碼位于vendor/huawei/hdf/sample目錄。
在HDF框架的驅(qū)動(dòng)配置文件(例如vendor/hisi/hi35xx/hi3516dv300/config/uart/uart_config.hcs)中添加該驅(qū)動(dòng)的配置信息,如下所示: root { platform { uart_sample { num = 5; // UART設(shè)備編號(hào) base = 0x120a0000; // UART 寄存器基地址 irqNum = 38; baudrate = 115200; uartClk = 24000000; wlen = 0x60; parity = 0; stopBit = 0; match_attr =“sample_uart_5“; } } } 在HDF框架的設(shè)備配置文件(例如vendor/hisi/hi35xx/hi3516dv300/config/device_info/device_info.hcs)中添加該驅(qū)動(dòng)的設(shè)備節(jié)點(diǎn)信息,如下所示: root { device_info { platform :: host { hostName = “platform_host“; priority = 50; device_uart :: device { device5 :: deviceNode { policy = 2; priority = 10; permission = 0644; moduleName =“UART_SAMPLE“; serviceName =“HDF_PLATFORM_UART_5“; deviceMatchAttr =“sample_uart_5“; } } } } }
說(shuō)明: 配置文件與UART驅(qū)動(dòng)示例的源碼在同一個(gè)路徑,需要手動(dòng)添加到Hi3516DV300單板路徑下。
作者:瘋殼 注:文檔和視頻中所有的圖片及代碼截圖皆為示意圖,具體以HarmonyOS官網(wǎng)發(fā)布內(nèi)容為準(zhǔn)。 |
|