sam9x5平台搭建及rt3070驅動移植總結

2021-06-10 11:38:54 字數 2289 閱讀 9137

pc機系統:ubuntu 11.10

linux kerner :  2.6.39

rt3070驅動編譯過程不在多說,如果覺得改的什麼問題也沒有,且核心也進行了相應的配置,在編譯時還是出現很多錯誤。對於這種情況建議從網上從新找個驅動源**進行編譯。我試過個了,對兩個不同版本的3070驅動進行編譯,一樣的改的,乙個可以編譯成功,另乙個卻不行。

>[root@mcuzone /home]#insmod rt3070sta.ko

rt3070sta: unknown symbol __bswapsi2 (err 0)

insmod: can't insert 'rt3070sta.ko': unknown symbol in module or invalid parameter

顯示__bswapsi2沒有定義。因為板子核心是自帶的,考慮是不是核心沒有加相應東西,於是在pc上編譯核心,使用sam-ba燒寫的板子上,重新啟動,出現:

nand read: device 0 offset 0x200000, size 0x300000

atmel_nand : multiple errors detected. unable to correct.

nand read from offset 200000 failed -1

88064 bytes read: error

wrong image format for bootm command

error: can't get kernel image!

u-boot>

仔細閱讀開發資料,發現廠家只建議採用所提供的bat燒寫方式,於是連線上j-link,將檔案中的核心替換成自己編譯的,燒寫完畢啟動,發現終端只列印

roomboot

經過幾次測試,發現個小細節,用bat燒寫方式,完畢後要先關閉板子,拔出j-link,之後再才能重啟。

期間為了燒寫方便,自己弄了個nfs檔案系統,掛載時出現

(unwind_backtrace+0x0/0xe0) from (panic+0x50/0x170)

(panic+0x50/0x170) from (mount_block_root+0x234/0x284)

(mount_block_root+0x234/0x284) from (prepare_namespace

+0x164/0x1b8)

(prepare_namespace+0x164/0x1b8) from (kernel_init+0x10

0/0x13c)

(kernel_init+0x100/0x13c) from (kernel_thread_exit+0x0

/0x8)

類似錯誤資訊,檢視後發現原來是沒mount上,mout格式如下:

>setenv bootargs mem=128m console=ttys0,115200 root=/dev/nfs rw nfsroot=192.168.1.108:/mcuzone/nfsroot/my_rootfs ip=dhcp

當核心替換之後以為驅動可以載入上了,試了之後發現還是會列印—bswapsi2沒定義。自此排除原因為核心導致。上網搜了相關資料,有說是gcc的bug,於是考慮替換gcc。

>rt3070sta: version magic '2.6.39 mod_unload armv5 p2v8 ' should be '2.6.39 mod_unload armv5 '

>insmod: can't insert 'rt3070sta.ko': invalid module format

出現核心版本不匹配,突然想起編譯uimage時是採用2011.03.-41版本的gcc,而驅動是採用2007q1-10版本的gcc。於是用2007-q1-10版本的gcc先對核心進行編譯,並make install,在對驅動**進行編譯。注意這個前後順序不能改變,不然核心雖然改過來了。驅動卻還是用之前編譯的核心,載入驅動就會出現

>rt3070sta: version magic'2.6.39 mod_unload armv5 ' should be'2.6.39 mod_unload armv5 p2v8 '

>insmod: can't insert 'rt3070sta.ko': invalid module format

到現在驅動能載入了

[root@mcuzone /home]#chmod 777 rt3070sta.ko

[root@mcuzone /home]#insmod rt3070sta.ko

rtusb init --->

usbcore: registered new inte***ce driver rt2870

呵呵

關於對x5平台的總結 摘自X5論壇

1.流程管理功能,作為業務流程管理平台,是否能提供對流程全生命週期的全面管理,包括流程定義 流程任務管理 流程實時動態跟蹤 流程執行效率評估 流程持續優化 流程版本管理 複雜業務流程實現 非表單流程 x5的報表採用自有的服務端報表渲染引擎。由於是服務端報表,所以可以借用服務端強大的運算能力,不依賴客...

強健x86平台

最近,聯想的企業級業務頗受關注。雖然與收購ibm x86伺服器業務以及摩托羅拉移動這些大動作相比,聯想宣布與賽門鐵克合作也許不夠勁爆,但從完善聯想企業級解決方案的角度來看,聯想與賽門鐵克的戰略合作同樣舉足輕重。聯想it管理服務及企業級服務業務部總經理林林表示,雙方將基於x86硬體,為中國客戶提供端到...

X86平台和ARM平台

x86和arm都是指cpu的核心。桌面電腦,膝上型電腦中使用的intel amd處理器,就是x86處理器。arm是一家英國的處理器設計公司,其設計的處理器採用了arm核心。arm指令集少,電路規模小,功耗低,發熱低,非常適合於嵌入式 可攜式電子產品,如手機 平板,以及工業嵌入式等。32位系統需要x8...