linux內核燒寫到tiny4412板子


一、 配置交叉編譯器:

  內核構建世與宿主機相同的體系架構鏡像。嵌入式Linux需要交叉編譯,需要設置兩個變量ARCH和CORSS_COMPILE

 

  1、 ARCH:表明架構,這里世arm架構;

  2、 CORSS_COMPILE:交叉編譯器的前綴這里是arm-linux-。在解壓的內核文件了,內核頂層的Makefile里面可以看到如下圖:

二、 內核的一些命令:

  1、 “清除“相關的命令”

    clean:刪除生成(1)文件,但保留 (2) 配置文件 +(3) 足夠編譯外部模塊的信息文件

    mrproper:1+2+3

    distclean:~+編譯器文件 + 補丁文件

  2、 內核裁剪方法:

    xconfig:圖形化—鼠標(需要QT庫的支持,喜歡用鼠標的)

    config:一項一項問你(不建議)

    nconfig:圖形化,不能用鼠標

    menuconfig:菜單配置(使用最廣泛的,只能用鍵盤)

  3、 編譯生成zlmage映像命令

    make all:編譯所有目標,最終也會生成zlmage

    make zlmage:只生產zlmage(模塊不會被編譯,加快了編譯速度)

    make ulmage:生成zlmage和ulmage(ulmage世在zlmage前面一個64字節的頭信息),執行這條命令需要u-boot編譯出來的一個工具mkimage,需要cp                                              tools/mkimage /bin/.config   ---uimage世u-boot專用引導文件

  4、 最終生成的默認位置arch/arm/boot/

三、 內核配置方法:

  1、 生成內核zImage文件,.config。

  2、 兩方法:

      1、 make menuconfig 進行逐項配置, 但是這個太慢, 一般都載入相近配置, 然后再使用 make menuconfig 進行局部修改,具體做法:ls arch/arm/configs/ |                                 grep exynos (查找看有沒有和exynos芯片相關的配置)

        make exynos4_defconfig(說明:exynos4_defconfig不是這個文件不對專門針對 Tiny4412 這款開發板的, 所有直接使用它配置編譯出來內核
                            可能不能在 Tiny4412 上運行, 還需要進一步調整。)

        make menuconfig

      2、 根據上面方法 1 的原理, 直接把配置文件復制命名為.config.具體做法

        cp arch/arm/configs/exynos4_defconfig .config

        make menuconfig

        這里我直接用友善之臂提供的tiny4412_linux_defconfig 進行配置

  3、 配置以下選項:
      -> System Type
      -> Support TrustZone-enabled Trusted Execution Environment 配置為[n] (按 n 鍵取消選擇)
      然后, 退出保存配置。

四、 寫一個類似u-bootsd_fusing.sh文件

五、 類似u-boot的燒寫步驟燒寫到SD

六、使用u-boot引導內核

  啟動開發板,進入命令行,設置啟動命令bootcmd環境變量

  TINY4412 # setenv bootcmd 'movi read kernel 0 40008000;bootm 40008000'
  TINY4412 # printenv bootcmd
  bootcmd=movi read kernel 0 40008000;bootm 40008000
  movi read kernel 0 40008000
SD 卡中讀取 zImage 到內存的 0x40008000 地址
  bootm 40008000 0x40008000
址引導操作系統
  注意:0x40008000 地址不是惟一, 但是不是任意, 一般需要在 40008000 之后。 0x8000 這個偏移是最常用的一個
值。
41000000 42000000
都是可以的。

七、重啟板子


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM