久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

專注電子技術學習與研究
當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

Makefile與u-boot 分析

作者:佚名   來源:本站原創   點擊數:  更新時間:2011年07月30日   【字體:

       解壓u-boot后,u-boot下面有許多許多的目錄,有成百上千個文件。想想都覺得恐怖,怎看這么多的文件。剛開始真的是沒有辦法,連程序的入口都不知道在哪,用些時間熟悉了它的目錄結構,開始有些了解。

       u-boot支持很多的平臺和板子,我們只關心的是ARM平臺,我們可以把不相關的平臺的內容刪除,以免妨礙我們,看著文件少了看著也舒服點。既然要移植那就要分析它的代碼,得弄明白我們需要改什么地方、怎么改,具體是要非常清楚cpu啟動那部分的匯編和班子初始化那里,其它所有平臺都通用的代碼就沒有必要去看了。

      我覺得在啟動第一階段,那些匯編部分更簡單 很容易明白,用匯編它也復雜不到那里去。從start_armboot()開始的C代碼就越看越復雜,那些太復雜了,數據類型定義又多,光是找這些數據類型的定義就已經暈了,有些地方又插入些別的,簡直就混編了。

     對于Makefile,我打開u-boot的第一個主Makefile有2200多行,最初以為Makefile不會很復雜,現在什么都變得很復雜了。像u-boot和Linux系統這些大工程,面對它們需要的是更多的耐心和信心,比如Makefile的:
 

              objects = program.o foo.o utils.o
                program : $(objects)
                               cc -o program $(objects)

 這個很簡單,一眼就看出來

 

         files = foo.elc bar.o lose.o
         $(filter %.o,$(files)): %.o: %.c
                      $(CC) -c $(CFLAGS) $< -o $@
        $(filter %.elc,$(files)): %.elc: %.el
                      emacs -f batch-byte-compile $<

那么這個復雜點,又多了變量,有函數和自動變量。仔細看看也不難

 

             %.d: %.c
                   @set -e; rm -f $@; \
                        $(CC) -M $(CPPFLAGS) $< >; $@.$$$$; \
                        sed 's,\($*\)\.o[ :]*,\1.o $@ : ,g' < $@.$$$$ >; $@; \
                        rm -f $@.$$$$

這個呢??實在太難看了,................................

   就這樣,這些內容就像我們畫板子,刻電路板一樣。即使要手動布線,一套常用的完整的規則我們很容易把握,可是總是有一些不怎么規則的東西,要我們去注意每一個細節。要你精疲力盡!!

       哥做嵌入式也不容易...........

關閉窗口

相關文章

主站蜘蛛池模板: 精品美女| 国产视频1 | 成人福利视频 | 男女羞羞网站 | 亚洲欧美日韩精品久久亚洲区 | 国产一区二区日韩 | 亚洲不卡av在线 | 精品久久久久久亚洲精品 | 美女天天干天天操 | 超碰在线人人 | 一区二区av | 成人午夜电影网 | 国产精品亚洲成在人线 | 亚洲天堂中文字幕 | 久久99网| 色婷婷av久久久久久久 | 黄色香蕉视频在线观看 | 精品一区二区久久久久久久网站 | 中文字幕一区二区三区在线观看 | 欧美视频成人 | 精品久| 伊人国产精品 | 欧美在线视频一区 | 男人的天堂久久 | 国内自拍偷拍 | 一级免费毛片 | 日韩aⅴ在线观看 | 一本大道久久a久久精二百 国产成人免费在线 | 久久99精品国产99久久6男男 | 欧美精品欧美精品系列 | 午夜噜噜噜 | 精品综合视频 | 伊人春色成人网 | 91av视频在线观看 | 成人国产精品一级毛片视频毛片 | 成人欧美一区二区三区在线播放 | 国产精品久久久久久久久久久免费看 | 中文字幕亚洲精品 | 亚洲精品国产a久久久久久 中文字幕一区二区三区四区五区 | 亚洲www | www.久|