u-boot啟動代碼start.S詳解-補充

U-BOOT一、U-BOOT的目錄結構u-boot目錄下有18個子目錄,分別存放管理不通的來源程式。這些目錄中所要存放的檔案有其規則,可以分成三類。■第一類目錄與處理器體繫結構或者開發板硬體直接相關;■第二類目錄是一些通用的函數或者驅動程式;■第三類目錄是u-boot的應用程式、工具或者文檔。Board:和一些已有開發板相關的檔案,比如Makefile和u-boot.lds等都和具體開發板的硬體和地址分配有關。Common:與體繫

使用mdev動態建立裝置

mdev是busybox下精簡版的udev,適合在嵌入式系統下管理裝置使用mdev會把所有的裝置都動態建立在/dev/目錄下,比如有些程式使用dev目錄子目錄下裝置名稱,就需要修改程式,比較麻煩,當然也可以在mdev運行之後,手工建立目錄,然後再做ln的連結這裡有人作出了更好的指令碼處理機制:http://lists.busybox.net/pipermail/busybox/2007-May/027309.html 再貼上mdev的使用說明---------------------------

CString Char Byte之間的轉換

  在VC中,CSTRING類的用法形式多樣,豐富多彩.但有時與傳統資料類型之間的轉換成為了很多人的難題.下面我來簡單介紹它們之間的關係.1 如何?cstring與char*之間的轉換:  CString   m_cstr="abc";     char*   m_char="def";     char*   lp=m_cstr.GetBuffer(m_cstr.GetLength());            m_cstr.ReleaseBuffer();           

U-Boot啟動的函數調用過程(以arm926ejs為例)

調用鏈如下,後面是文字解說: reset -> cpu_init_crit -> lowlevel_init (板子相關)           -> relocate (將U-boot重定位到RAM)           -> stack_setup           -> clear_bss           -> start_armboot() (C程式) -> main_loop()系統上電複位後首先跳轉到一個指定的地址,ARM的話是0x000

EditText屬性

EditText繼承關係:View-->TextView-->EditText  EditText的屬性很多,這裡介紹幾個:android:hint="請輸入數字!"//設定顯示在空間上的提示資訊android:numeric="integer"//設定只能輸入整數,如果是小數則是:decimalandroid:singleLine="true"//設定單行輸入,一旦設定為true,則文字不會自動換行。android:password="true"//設定只能輸入密碼android:

u-boot的Makefile詳細分析-轉帖

U-BOOT是一個LINUX下的工程,在編譯之前必須已經安裝對應體繫結構的交叉編譯環境,這裡只針對ARM,編譯器系列軟體為arm-linux-*。U-BOOT的: http://sourceforge.net/projects/u-boot我下載的是1.1.6版本,一開始在FTP上下載了一個次新版,結果編譯失敗。1.1.6是沒問題的。u-boot源碼結構   

quicksort演算法實現與原理

快速排序是對冒泡排序的一種改進。它的基本思想是:通過一躺排序將要排序的資料分割成獨立的兩部分,其中一部分的所有資料都比另外一不部分的所有資料都要小,然後再按次方法對這兩部分資料分別進行快速排序,整個排序過程可以遞迴進行,以此達到整個資料變成有序序列。    假設要排序的數組是A[1]……A[N],首先任意選取一個資料(通常選用第一個資料)作為關鍵資料,然後將所有比它小的數都放到它前面,所有比它大的數都放到它後面,這個過程稱為一躺快速排序。一躺快速排序的演算法是:  

U-boot移植(一)

                                                                                                                       

U-boot如何啟動核心

我們用的u-boot已經改的面目全非,不過核心還是完全相同的,換了個面目而已。開源的好處,想改就改來玩玩。不過流程還是人家的。u-boot通過bootm命令來啟動核心,這個命令的處理函數是do_bootm,這個函數處理的是uboot-mkimage製作的映像,如果正好這個映像是核心,那麼它就會調用do_bootm_linux函數,並在該函數中給核心傳遞參數並調用核心入口函數來啟動核心。下面就來寫寫do_bootm和do_bootm_linux的簡單流程,以及u-boot是如何把核心啟動參數傳遞給

U-boot移植(二)

(3)跟住就要編寫時鐘clock_init函數:     系board/yangyi2440目錄下建立一個名為boot_init.c的檔案     (程式自己寫也不難,可以參考S3C2440的PDF,而這段程式作用是設定MPLL和UPLL的。)#define S3C2440_MPLL_400MHZ     ((0x5c<<12)|(0x01<<4)|(0x01))#define S3C2440_MPLL_200MHZ     ((0x5c<<12)|(0x01

uboot第2階段分析 start_armboot–轉帖

通過前面的分析,知道第2階段代碼主要是start_armboot,首先我們先介紹幾個比較重要的結構體。這裡主要是對start_armboot中的流程做具體的分析,我的uboot-2009-06.至於具體的程式碼分析將在後面的文章中介紹。1.gd_t全域資料結構,主要儲存了uboot的配置資訊。include/asm-arm/global_data.h中定義:typedef struct global_data { bd_t  *bd;//板子相關的結構體 unsigned long flags;

u-boot啟動代碼start.S詳解

 u-boot啟動代碼start.S詳解  1)定義入口。由於一個可執行檔Image必須有一個進入點,並且只能有一個全域入口,通常這個入口放在ROM(Flash)的0x0地址,因此,必須通知編譯器以使其知道這個入口,該工作可通過修改連接器指令碼來完成。(2)設定異常向量(Exception Vector)。(3)設定CPU的速度、時鐘頻率及終端控制寄存器。(4)初始化記憶體控制器。(5)將ROM中的程式複製到RAM中。(6)初始化堆棧。(7)轉到RAM中執行,該工作可使用指令ldr pc來完成。

Android_ListView_效能最佳化的緩衝機制

ListView的工作原理:ListView針對每個item,會調用adapter的getView()方法,要求adapter“我要顯示了,給我一個視圖”adapter通過getView()方法返回一個視圖供請求的item顯示但是如果針對每個item,getView()方法都建立一個新視圖的話,記憶體肯定吃不消。那麼就需要用到緩衝機制,也就是視圖的重用。最佳化思路:View的重用:view的每次建立耗時,因此在getView中判斷convertView !=

U-Boot如何為核心設定啟動參數–轉帖

大家都知道U-Boot啟動的時候會將啟動參數的地址放入R2中,然後再啟動核心。我們看看這些參數是如何設定的。首先看兩個重要的資料結構:第一個是global_data,定義在include/asm-arm/global_data.h檔案中:typedef    struct    global_data {    bd_t        *bd;    unsigned long    flags;    unsigned long    baudrate;    unsigned long   

設計模式淺談之單例模式

 設計模式淺談之單例模式發布日期:11-05-07 01:11    文章來源:互連網【分享】在Java 的單例模式中,有兩種實現方式,懶漢式與餓漢式。單例模式實現之餓漢式|-單例類Songleton /*** 單例模式實現之一餓漢式* * 一開始就建立Singleton的對象並執行個體化* */class Singleton{// 建立一個Signleton執行個體對象,用來儲存建立好的執行個體private static Singleton singleton = new

U-boot移植(四)

住上篇!!!!!!!!!!!5.添加支援nandflash讀寫驅動:(此部分程式是在核心裡的nandflash驅動移植過來的) (1)增加nand_flash.c檔案:cpu/arm920t/s3c24x0/nand_flash.c內容如下:#include <common.h>#if (CONFIG_COMMANDS & CFG_CMD_NAND) && !defined(CFG_NAND_LEGACY)#include <s3c2410.h>#

u-boot源碼分析 — 啟動第二階段 ,基於2410 啟動代碼 分析

我們先來看初始化函數表: init_sequencelib_arm/board.c:typedef int (init_fnc_t) (void);init_fnc_t *init_sequence[] = {    cpu_init,       /* basic cpu dependent setup */    board_init,     /* basic board dependent setup */    interrupt_init,    /* set up

Android_ListView_item之間的分隔線怎麼去掉

Android中的ListView為item之間添加了分隔線效果如下:但是預設的分隔線太難看了,有時候我們會自訂item,需要去掉這個難看的分隔線怎麼辦呢?有3種方法可以去掉:myListView.setDividerHeight(0);myListView.setDivider(null);XML布局檔案中設定ListView的屬性android:divider="#FFCC00"以上3種方法擇一即可當然換一個好看的自動的分隔線也行android:divider="@drawable/skin

Java_System類擷取一些系統屬性值

直接上代碼public class SystemProperty {public static void main(String args[]) {// Java 運行時環境版本System.out.println("java.version:" + System.getProperty("java.version"));// Java 運行時環境供應商System.out.println("java.vendor:" + System.getProperty("java.vendor"));/

Android_selector標籤和shape標籤

shape和selector是Android UI設計中經常用到的,比如我們要自訂一個圓角Button,點擊Button有些效果的變化,就要用到shape和selector。可以這樣說,shape和selector在美化控制項中的作用是至關重要的。使用方法:在res檔案夾下建立drawable檔案夾在drawable下建立XXX.xmlJava代碼中:R.drawable.XXX         

總頁數: 61357 1 .... 15887 15888 15889 15890 15891 .... 61357 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.