時(shí)間:2018-07-02 00:00:00 來源:信盈達(dá) 作者:信盈達(dá)
初學(xué)的學(xué)員在學(xué)習(xí)嵌入式Linux經(jīng)常會(huì)遇到一些問題,信盈達(dá)小編整理了一些問題和解答方法,大家可以看看了解一下:
1.Bootloader部分:
a.很多人匯編部分會(huì)自己學(xué)著寫
如果HDIVN非0,則需要將fast bus mode 轉(zhuǎn)換為asynchronous bus mode;為提高啟動(dòng)速度,需開啟ICACHE;都是對(duì)p15協(xié)處理器進(jìn)行操作,很多初學(xué)者容易混淆
正確方式是:
模式轉(zhuǎn)換 mrc p15, 0, r1 ,c1, c0, 0 (換行) orr r1, r1, #0xc0000000 (換行) mcr p15, 0, r1, c1, c0, 0
啟動(dòng)ICACHE mrc p15, 0, r0, c1, c0, 0 (換行) orr r0, r0 ,#(1<<12) (換行)mcr p15, 0, r0, c1, c0, 0
b.編譯時(shí) start.S warning: no newline end of file ---文件末尾要有一個(gè)回車,光標(biāo)到下一行最左
對(duì)于*.c文件的換行,用"\n\r"比較好
c.更新了一個(gè)文件再重新編譯時(shí),出現(xiàn) warning clock skew detected
---make clean后再make可解決(雖然該警告不影響編譯,但解決了比較好)
2.linux操作系統(tǒng)部分:
a.裝在虛擬機(jī)上的linux,若系統(tǒng)文件沒有指定IP,重啟時(shí)需要重新設(shè)定IP, 可在/etc/rc.d/rc.local文件中設(shè)定,加入
ifconfig eth0 *.*.*.* (需要設(shè)定的IP地址)
b.終端下執(zhí)行某些指令,輸出的內(nèi)容太多,卷標(biāo)托到最上也看不到全部,可使用如 ls > /home/print.txt使輸出轉(zhuǎn)移到指定 文件再查看
c.linux退出vi,命令模式下用ctrl+shift+':',輸入wq或q!;有些嵌入式終端卻不行,則可能是設(shè)定成了shift+':'至末尾
3.交叉編譯環(huán)境及工具
a.使用ADS工具及Jlink,AXD有時(shí)會(huì)卡死,需注意make, debug等的節(jié)奏,剛開始使用感覺不太順暢,需先關(guān)閉Jlink再重啟
b.使用Jlink燒寫裸板程序及u-boot,需要找到對(duì)應(yīng)的*.jflash
c.查看u-boot和kernel的代碼,用source insight比較好,要學(xué)會(huì)使用
4.代碼的編寫
a.腳本文件中不能有注釋;類似 . =ALIGN(4);的語句, .和=之間要有空格,不然編譯會(huì)出錯(cuò)
新手查看Makefile比較困難,記住以下常用符號(hào)的涵義:
-c代表只編譯,不鏈接; $@代表目標(biāo); $^代表所有依賴對(duì)象; @<代表第一個(gè)依賴對(duì)象
b.volatile代表編譯時(shí)不優(yōu)化,設(shè)定一些常量時(shí)很有用;C語言中的void類型,代表任意類型,而不是空的意思,需要注意
c.指針與一般整數(shù)變量之間的關(guān)系運(yùn)算沒有意義,但指針可以和零進(jìn)行等于或不等于的關(guān)系運(yùn)算,判斷指針是否為空
信盈達(dá)2008年在深圳特區(qū)南山高新科技園成立。自成立至今近九年來專注為企業(yè)和個(gè)人提供高端方案設(shè)計(jì)、高端嵌入式/Android培訓(xùn)等服務(wù)。公司下設(shè)信盈達(dá)實(shí)訓(xùn)學(xué)院、信盈達(dá)研發(fā)中心、信盈達(dá)教學(xué)儀器三大業(yè)務(wù)板塊。九年來公司堅(jiān)持"技術(shù)領(lǐng)先、服務(wù)領(lǐng)先",以雄厚的實(shí)力和專業(yè)的品質(zhì)成為國內(nèi)唯一有實(shí)力從產(chǎn)品最底層研發(fā)到系統(tǒng)層開發(fā)的嵌入式實(shí)訓(xùn)、產(chǎn)品解決方案提供商。為中國IT行業(yè)提供最具價(jià)值的職業(yè)教育服務(wù)。專業(yè)培訓(xùn)i嵌入式、物聯(lián)網(wǎng)、人工智能、Java、單片機(jī)等課程,想了解更多信息點(diǎn)擊立馬咨詢
免費(fèi)領(lǐng)取試聽卡
申請(qǐng)已經(jīng)提交
老師會(huì)馬上給您安排試聽課程!
申請(qǐng)出錯(cuò)了
您可以加老師QQ:914865590報(bào)名咨詢!