1. 程式人生 > >配置u-boot板級檔案例項

配置u-boot板級檔案例項

建立新u-boot板級目錄,編譯不同u-boot.bin檔案

系統環境

硬體平臺:imx6

軟體平臺:Android4.4.2。

【1】Android 指定不同uboot編譯config檔案

device/fsl/sabresd_6dq/BoardConfig.mk 

TARGET_BOOTLOADER_CONFIG := 6q:mx6q_sabresd_android_config 6dl:mx6dl_sabresd_android_config

6q:mx6q_sabresd_android_config

6q指定編譯出的u-boot名稱 形如: u-boot-6q.bin

mx6q_sabresd_android_config指定了bootloader哪個標頭檔案

【2】bootloader對應的config標頭檔案

bootable/bootloader/uboot-imx/include/configs/mx6q_sabresd_android.h

新增

bootable/bootloader/uboot-imx/include/configs/mx6q_sabresd_vwcs14_android.h

bootable/bootloader/uboot-imx/include/configs/mx6q_sabresd_vwcs14.h 指定LOGO型別

【3】不一樣的配置用了一個board 目錄編譯, 我這裡需要新建一個board目錄用於編譯特定的板級uboot

bootable/bootloader/uboot-imx/Makefile

原有的Makefile配置:

mx6dl_sabresd_android_config            \

mx6q_sabresd_config         \

mx6q_sabresd_android_config             \

mx6q_sabresd_mfg_config         \

mx6q_sabresd_iram_config    : unconfig

    @[ -z “$(findstring iram_,[email protected])” ] || \

        { echo “TEXT_BASE = 0x00907000” >$(obj)board/freescale/mx6q_sabresd/config.tmp ; \

          echo “… with iram configuration” ; \

        }

    @$(MKCONFIG) $(@:_config=) arm arm_cortexa8 mx6q_sabresd freescale mx6

新增板級config和板級目錄:

include $(obj)include/config.mk

export  ARCH CPU BOARD VENDOR SOC 對應上面5個部分

mx6q_sabresd_vwcs14_android_config             : unconfig

    @[ -z “$(findstring iram_,[email protected])” ] || \

        { echo “TEXT_BASE = 0x00907000” >$(obj)board/freescale/mx6q_sabresd_vwcs14/config.tmp ; \

          echo “… with iram configuration” ; \

        }

    @$(MKCONFIG) $(@:_config=) arm arm_cortexa8 mx6q_sabresd freescale mx6

【4】新增板級目錄

bootable/bootloader/uboot-imx/board/freescale/mx6q_sabresd_vwcs14/

bootable/bootloader/uboot-imx/board/freescale/mx6q_sabresd_vwcs14/Makefile

板級檔案編譯成靜態庫

include $(TOPDIR)/config.mk

LIB = $(obj)lib$(BOARD).a

COBJS   := $(BOARD).o

【5】uboot程式段排列指定新增目錄

bootable/bootloader/uboot-imx/board/freescale/mx6q_sabresd_vwcs14/u-boot.lds

    .text      :

    {

      board/freescale/mx6q_sabresd_vwcs14/flash_header.o    (.text.flasheader)

      board/freescale/mx6q_sabresd_vwcs14/libmx6q_sabresd_vwcs14.a  (.text)

      *(.text)

    }

【6】程式碼拷貝注意標頭檔案巨集定義

該巨集是標頭檔案巨集bootable/bootloader/uboot-imx/include/configs/mx6q_sabresd_vwcs14_android.h

#ifndef MX6Q_SABRESD_VWCS14_ANDROID_H

#define MX6Q_SABRESD_VWCS14_ANDROID_H

【7】u-boot預設引導id引導的kernel板級id配置

注意和kernel中的id配合kernel_imx/arch/arm/tools/mach-types

bootable/bootloader/uboot-imx/board/freescale/mx6q_sabresd/mx6q_sabresd.c:1788:

    gd->bd->bi_arch_number = MACH_TYPE_MX6Q_SABRESD;

bootable/bootloader/uboot-imx/include/asm-arm/mach-types.h:3260:

    #define MACH_TYPE_MX6Q_SABRESD       3980

相關推薦

配置u-boot檔案例項

建立新u-boot板級目錄,編譯不同u-boot.bin檔案 系統環境 硬體平臺:imx6 軟體平臺:Android4.4.2。 【1】Android 指定不同uboot編譯config檔案 device/fsl/sabresd_6dq/BoardConfig.mk

配置u-boot 引數,構造NFS啟動Beaglebone Black的作業系統

NOTE The printenv and help commands are useful for understanding these variables in more depth. If you wish to view the current value of a specific enviro

u-boot.lds連結檔案詳解

GNU編譯器生成的目標檔案預設為elf格式,elf檔案由若干段(section)組成,如不特殊指明,由C源程式生成的目的碼中包含如下段: .text(正文段)包含程式的指令程式碼; .data(資料段)包含固定的資料,如常量、字串; .bss(未初始化資料段)包含未初始化的變數

u-boot(三)啟動檔案

目錄 u-boot(三)啟動檔案 彙編 C:_start_armboot 程式碼摘要 C:main_loop 核心啟動 選單處理(自定義實現) 命令處理 titl

Ubuntu虛擬機器雙網絡卡的配置(U-boot,tftp下載)

  通過此文的設定,可以讓Ubuntu虛擬機器實現: 1.ubuntu虛擬機器能上網查資料,下載軟體等; 2.tftp伺服器能給本地裝置傳輸資料,不會和ubuntu網路衝突。   一,VMWare新建兩個虛擬網路,如:Vmnet0、Vmnet1;    

Ubuntu虛擬機雙網卡的配置(U-boot,tftp下載)

ubun ubuntu虛擬機 color uri vmw src 網卡設置 vmware 自動分配 通過此文的設置,可以讓Ubuntu虛擬機實現: 1.ubuntu虛擬機能上網查資料,下載軟件等; 2.tftp服務器能給本地設備傳輸數據,不會和ubuntu網絡沖突

s3c2410 linux檔案裝置的初始化過程

/*linux板級裝置的初始化過程 start_kernel() -> setup_arch(&command_line) -> mdesc = setup_machine(machine_arch_type) -> list = lookup_m

u-boot 使用 jffs2 檔案系統載入核心

1. 修改kernel 中的 nand.c#define MV_NUM_OF_NAND_PARTS 7static struct mtd_partition parts_info[] = {    { .name = "u-boot",      .offset = 0, 

u-boot配置掛載NFS根檔案系統

一、在linux系統主機下安裝NFS伺服器        在ubuntu10.04下安裝命令為:        sudoapt-get  install nfs-kernel-server 二、配置nfs伺服器        在ubuntu下安裝完ssh伺服器後預設開機啟動

【Android 系統開發】 編譯 Android檔案系統 u-boot 核心 並燒寫到 OK-6410A 開發

本篇文章中用到的工具原始碼下載 : -- 光碟所含內容 : Android 引導 u-boot 原始碼, Android 核心 原始碼, Android 系統原始碼, 交叉編譯工具鏈;各項操作說明 : -- 編譯環境 : 編譯原始碼 (u-boot, 核心, Android

qemu 模擬-arm-mini2440開發-啟動u-boot,kernel和nfs檔案系統

qemu 本文介紹瞭如何編譯u-boot、linux kernel,然後用qemu啟動u-boot和linux kernel,達到與開發板上一樣的學習效果! 雖然已經買了2440開發板,但是在實際學習開發過程中,還是覺得不方便,既然這樣,那就用qemu模擬2440開發板,

buildroot構建項目(三)--- u-boot 2017.11 適配開發修改 1

型號 mmu mman body 成功 -c 存儲器 介紹 我們   當前雖然編譯成功了,但是對於我們自己的目標板並不太適用。還得做一系列得修改。 一、lds 文件分析   u-boot 中最重要得鏈接文件即是,u-boot.lds。我們可以查看我們編譯出來得 u-boot

buildroot構建項目(四)--- u-boot 2017.11 適配開發修改 2 ---- 系統啟動初始化之一

鏈接 extc 信號 分析 col clock -h 17.1 標誌位 一、代碼分析   上一節已經分析了鏈接文件,知道了首先代碼是從 _start 開始,之後設置了中斷向量表,然後從 start.s 開始運行。 _start:vectors.S (arch\arm\li

buildroot構建項目(五)--- u-boot 2017.11 適配開發修改 4 ---- 系統啟動初始化之三

vid def include cmp ble soft setup.s bubuko 賦值 一、內存控制器   在關閉了MMU和caches 之後 就進入lowlevel_init 函數,對內存控制器進行初始化。lowlevel_init.S (board\samsung

buildroot構建項目(七)--- u-boot 2017.11 適配開發修改 4 ---- 系統啟動初始化之四

ack tar span mov tel 變量初始化 清零 ppi ntb   設置完寄存器控制器後,則跳出cpu_init_crit,進入_main 函數。即進入crt0.S (arch\arm\lib)   跟著代碼流程慢慢走 一、crt0.S 1.1 第一步執行代碼

三、u-boot配置-mkconfig 腳本

nbsp echo 鏈接 後退 pre AR 包含 共創 編譯過程 3.1 mkconfig 腳本 1 100ask24x0_config : unconfig 2 @$(MKCONFIG) $(@:_config=) arm arm920t 100a

[U-boot]u-boot檔案結構

接目錄:README分析 參考資料 uboot版本檔案結構的更新改變 最好的開始 開啟下載的u-boot,開啟README,裡面進行詳細的說明 U-Boot的README檔案的中文翻譯 1、版本號變化: 2008年8月及以前,按版本號命名:

u-boot配置過程分析

前面在分析主makefile的時候,我們知道執行make 100ask24x0_config這個命令會在include目錄下建立一個config.mk檔案。 那麼為什麼編譯就會生成這個檔案呢?我們來看下這個命令究竟做了什麼,在主Makefile中我們可以找到以下命令: 100ask24x0_

U-boot 配置與編譯

首先選擇預設配置: [email protected]:~/share/build/u-boot-2018.11$ make vexpress_ca15_tc2_defconfig HOSTCC scripts/basic/fixdep HOSTCC scripts/kconfi

haproxy配置檔案例項

[[email protected] ~]# cat /etc/haproxy/haproxy.cfg global log /dev/log local0 log /dev/log local1 notice chroot /var/lib/haproxy