移植內核與文件系方面的總結

轉自http://www.armbbs.net/forum.php?mod=viewthread&tid=10202&extra=page%3D1%26filter%3Dtypeid%26typeid%3D89%26typeid%3D89


一,交叉編譯器階段問題總結:
1.如果按照天嵌的教程來做的話,肯定會有問題的哦。第一個就是 在bin/  下建立若干可執行腳本的時候,
應該這樣寫,教材上少了一句話  exec
#!/bin/sh
exec arm-one-linux-gnueabi-xxx -march-armv4t$*

如果不佳exec ,很有可能會出 cc1文件不能找到的情況,如果你真的找不到。那麼我告訴你它的位置,把他的權限改成777.用命令:chmod 777 cc1
具體位置,比如你解壓交叉編譯器後文件夾命名爲4.3.3.那麼位置就是4.3.3/libexec/gcc/arm-none-linux-gnueabi/4.3.3目錄下就是了。
--------------------------------------------------------------------------------
QT庫文件
下載地址,推薦這個    http://download.chinaunix.net/search/?q=&frmid=22
--------------------------------------------------------------------------------
2.安裝libpng,安裝zlib (注:在安裝libpng前必須先安裝zlib,否則出錯)
http://blog.csdn.net/scut1135/article/details/5897890

3.jpegsrc.v6b.tar.gz安裝方法
http://hi.baidu.com/king50659285 ... 9ece6ed1164e4d.html
--------------------------------------------------------------------------------
二.內核編譯
http://www.kernel.org/pub/linux/kernel)內爲下載地址
1。當然推薦這個同志的。^_^,只能這麼叫了。很犀利。按着這個做,不需要手冊。
http://blog.csdn.net/yjp19871013/article/details/6927535
有些問題還是要看手冊的哦。。。
內核編譯問題最多了。。

2,內核選項詳解
http://blog.csdn.net/defeattroy/article/details/5650094

三。文件系統http://www.cnblogs.com/fly-fish/archive/2011/04/12/2014038.html

1,yaffs2image文件製作工具,手冊上的網站已經無效了,貼一個新的網址吧。
http://yaffs2utils.googlecode.com/files/yaffs2utils.tar.gz

這個文件編譯後生成一個mkyaff2的文件。然後當你用Busybox1做出文件系統後,用這個命令就可以了。
./mkyaffs2 root-2.6.30.4 root-2.6.30.4.bin

2.yaffs2文件系統補丁cvs-root.tar.gz,同樣,也給個下載網址吧,省得大家麻煩。。
http://ishare.iask.sina.com.cn/f/20672777.html?from=like

3.Kernel panic - not syncing: No init found. Try passing init= option to kernel.
剛開始我一直有這個問題,在網上搜索了很多方法,但是都不行。但是後來,重新分區後就可以了。也就是按照天嵌手冊的分區。然後就可以了,很奇怪,可能是天嵌的U——BOOT,下載地址範圍問題吧。

4.手冊,43頁的修改,大家千萬注意啊。  後面有個0(數字)哦。s3c24xx_serial0

5.step by step 手冊的第49夜。把.dev_name=“tq2440_seril” ,大家不要改,用默認的,省的麻煩哦。默認爲s3c24xx_serial.


四。。網卡驅動移植。
1.手冊,57頁,修改1278行內容,其實是在1378行左右。

2,出現下面錯誤

drivers/net/dm9000.c: In function 'dm9000_probe':
drivers/net/dm9000.c:1195: error: 'oldval_bwscon' undeclared (first use in this function)
drivers/net/dm9000.c:1195: error: (Each undeclared identifier is reported only once
drivers/net/dm9000.c:1195: error: for each function it appears in.)
drivers/net/dm9000.c:1196: error: 'oldval_bankcon4' undeclared (first use in this function)

記得加定義
#if defined(CONFIG_ARCH_S3C2410)
     unsigned int oldval_bwscon;
     unsigned int oldval_bankcon4;
#endif

位置同2.6.28.5

3.在串口中輸入:ifconfig
打印的信息和手冊不一樣,因爲你還沒有加入BOa。如果安裝BOA以後,纔能有手冊上一樣的信息哦。

4.移植boa的時候遇到了 dpkg was interrupted, you must manually run 'dpkg..的問題
在PC機的超級終端輸入
sudo dpkg--configure -a
如果還不行繼續輸入
sudo apt-get update
followed by
sudo apt-get upgrade

五。LCD驅動移植
1.如果你按照手冊的移植方法,移植後出現了串口打印中文漢字一類的亂碼。那麼請你把做的步驟退回去,
重新按照我的2(下一條)做就可以了
2.如果出現亂碼,建議不要按照手冊的來。只要修改
/arch/arm/mach-s3c2440/mach-tq2440.c中的內容;LCD驅動就可以了。開機就有畫面了。手冊只是讓更多的產品線都支持,所以加的。所以,沒有必要加哦。。。前提對板子瞭解。
static struct s3c2410fb_display tq2440_lcd_cfg __initdata = {
.lcdcon5 = S3C2410_LCDCON5_FRM565 |
     S3C2410_LCDCON5_INVVLINE |
     S3C2410_LCDCON5_INVVFRAME |
     S3C2410_LCDCON5_PWREN |
     S3C2410_LCDCON5_HWSWP,
.type  = S3C2410_LCDCON1_TFT,
.width  = 320,
.height  = 240,
.pixclock  = 80000, /* HCLK 100 MHz, divisor 3 */

.xres  = 320,
.yres  = 240,
.bpp  = 16,
.left_margin = 28, /* for HFPD*/
.right_margin = 24, /* for HBPD*/
.hsync_len = 42, /* for HSPW*/
.upper_margin = 6, /* for VFPD*/
.lower_margin = 2, /* for VBPD*/
.vsync_len = 12, /* for VSPW*/
};



X.開機LOGO
製作BMP文件的時候,不要用WINDOWS圖片查看器的另存爲BMP。經過試驗,這樣製作的圖片是不行的。。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章