慢慢學Linux驅動開發,第十一章,開始U-boot移植第一步

來源:互聯網
上載者:User

  老婆去逛街了,不知道是不是給我省電話費呢,最近幾天通話時間都很少,也不知道她在那邊生活費夠不夠,也不讓我給她打點錢,估計餓瘦了都,老婆……她去逛街了,我只好繼續奮鬥嘍,為了將來好好照顧她,hehe:)

  買tiny6410時,雖然說什麼東西都給我們弄好了,但也是這什麼都弄好了,以至於可以讓我們弄得東西沒有了,比如上面的LED驅動啊等等,都不是模組形式的,或者說是沒法卸載的,所以我想自己學習移植一套Linux上去,自己寫驅動會不會學得多一點,這幾天一直在糾結學習的方法論的問題,最後還是實踐派打敗了理論派,於是,開始…………

  首先是開發環境的搭建,不用多說,arm-gcc交叉編譯器應該都會裝吧,記得加入環境變數以方便使用。

  還有就是u-boot和Linux核心的原始碼的下載,去官網下吧,別去別的地方了。

  這裡使用的U-boot版本是u-boot-2010.09,Linux版本為linux-2.6.29。

  u-boot-2010.09這個版本其實對對很多CPU都是直接支援的,首先進入board目錄看一下,我的Tiny6410使用的是三星的S3C6410,進入board/samsung/目錄下,發現有smdk2400、smdk2410和smdk6400,很遺憾沒有6410,不過以前瞭解過三星6400和6410幾乎是差不多的,應該是可以在其基礎上進行修改的。

 

1)在board/samsung/下建立開發板的專案檔夾,取名叫tiny6410,並把smdk6400檔案夾裡的東西全部複製過去,並修改其檔案名稱,。

2)進入u-boot根目錄/include/configs/,複製smdk6410.h粘貼更名為tiny6410.h。

3)進入u-boot根目錄的makefile檔案中,首先指定交叉編譯器找到CROSS_COMPILE?=在等號後面添加arm-linux-,然後找到SMDK6400的配置資訊,依樣畫葫蘆,來一個tiny6410的

#########################################################################
## ARM1176 Systems
#########################################################################
tiny6410_noUSB_config \
tiny6410_config : unconfig
# 注意下面應為tab健,不可以用4個空格代替
@mkdir -p $(obj)include $(obj)board/samsung/tiny6410
@mkdir -p $(obj)nand_spl/board/samsung/tiny6410
@echo "#define CONFIG_NAND_U_BOOT" > $(obj)include/config.h
@echo "CONFIG_NAND_U_BOOT = y" >> $(obj)include/config.mk
@if [ -z "$(findstring tiny6410_noUSB_config,$@)" ]; then \
echo "RAM_TEXT = 0x57e00000" >> $(obj)board/samsung/tiny6410/config.tmp;\
else \
echo "RAM_TEXT = 0xc7e00000" >> $(obj)board/samsung/tiny6410/config.tmp;\
fi
@$(MKCONFIG) tiny6410 arm arm1176 tiny6410 samsung s3c64xx
@echo "CONFIG_NAND_U_BOOT = y" >> $(obj)include/config.mk

4)測試編譯建立的th6410開發板項目

出現Configuring for tiny6410 board...字樣,說明設定成功,繼續

#make ARCH=arm //編譯後在根目錄下會出現u-boot.bin檔案,則u-boot移植的第一步就算完成了 

當然編譯是需要一段時間的,耐心等待吧,不過別高興太早,可能有人說這也太簡單了吧,其實這裡編譯出來的u-boot.bin對自己的tiny6410開發板是沒有任何用處,以上的移植只是搭建了一個tiny6410開發板u-boot的架構,要使其功能實現,還要根據tiny6410開發板的具體資源情況比如晶振頻率等來對u-boot源碼進行修改,方才可以使用。

------------------------------------------------------------------------------------------------------------------

作者:龐輝

出處:http://www.cnblogs.com/pang123hui/

本文基於署名 2.5 中國大陸許可協議發布,歡迎轉載,演繹或用於商業目的,但是必須保留本文的署名龐輝(包含連結).

  

  

  

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.