歡迎來(lái)到 常識(shí)詞典網(wǎng) , 一個(gè)專(zhuān)業(yè)的常識(shí)知識(shí)學(xué)習(xí)網(wǎng)站!
[ Ctrl + D 鍵 ]收藏本站
答案 1:
直接操作吧,只不過(guò)LINUX下的話要按照LINUX提供的“框”寫(xiě),比如open,read,ioctl等函數(shù)都要寫(xiě)。答案 2:
系統(tǒng)操作GPIO的方式與WIN差不多 底層都是匯編語(yǔ)言所編寫(xiě),而且LINUX的GCC會(huì)支持一些拓展的標(biāo)準(zhǔn)以達(dá)到操作底層的目的。作為程序員,想要操作GPIO只能遵循POXIS規(guī)范,使用linux的模塊機(jī)制進(jìn)行操作 具體可以買(mǎi)linux驅(qū)動(dòng)相關(guān)書(shū)籍答案 3:
提問(wèn)者是不是寫(xiě)單片機(jī)程序?寫(xiě)單片機(jī)C程序的時(shí)候會(huì)include一個(gè)頭文件,那個(gè)頭文件里會(huì)定義特殊功能寄存器地址等等,在其他嵌入式處理器里(ARM,DSP等)同樣有那些文件,在處理器復(fù)位后還沒(méi)有進(jìn)入到C程序-in()之前做好一切準(zhǔn)備工作。比如S3C2410就有2410init.s,2410addr.s,memcfg.s,option.s等等一堆文件。在未用操作系統(tǒng)的項(xiàng)目里,這些文件都是要添加到工程里的,這部分代碼就是所說(shuō)的“啟動(dòng)代碼”。而若你要移植上操作系統(tǒng),則在操作系統(tǒng)啟動(dòng)時(shí),會(huì)先有一個(gè)引導(dǎo)系統(tǒng)啟動(dòng)的程序Bootloader啟動(dòng),相當(dāng)于X86PC的BIOS程序,而B(niǎo)ootloader里,就包含了前面所說(shuō)的啟動(dòng)代碼文件。只要有了那些文件,無(wú)論你是寫(xiě)在操作系統(tǒng)下的驅(qū)動(dòng),還是寫(xiě)-機(jī)程序,都可以不用像匯編里那樣非要寫(xiě)地址或者定義地址才能操作IO,而是直接用定義好的名字,比如rGPFDAT=0x0f(S3C2410舉例)。不知道你明白了沒(méi)有?一開(kāi)始寫(xiě)的答案很簡(jiǎn)單,但是知乎上的同學(xué)都很認(rèn)真的回答問(wèn)題,我就靜下心來(lái)回答一下。我不是高手,好久沒(méi)接觸這方面東西了,回答之中不恰當(dāng)之處,歡迎大家指正。下一篇:魔獸帳號(hào)被盜,但是我半年沒(méi)玩了,請(qǐng)教被盜的可能的途徑? 下一篇 【方向鍵 ( → )下一篇】
上一篇:對(duì)論壇(discuz和p-pwind架構(gòu)等)研究的人不多,是不是這個(gè)形式?jīng)]有什么商業(yè)前途? 上一篇 【方向鍵 ( ← )上一篇】
快搜