335x裸機開發1

2021-08-09 17:00:35 字數 1982 閱讀 6644

am335x 裸機開發筆記(1)——啟動流程與啟動卡分割槽

2016-04-22 21:51:24

分類: 嵌入式

根據晶元手冊,am335x上電後首先執行固化在晶元內部rom中的**,我們稱之為bl0,bl0的功能很強大,能讀取sd卡中第乙個分割槽(必須是fat格式)的mlo檔案,複製到ram中執行,複製的起始位址為0x402f0400,所以編譯mlo時,鏈結位址必須設定為0x402f0400

。一般的,mlo的作用是:禁用中斷,關看門狗,設定棧,初始化時鐘,初始化ddr3,初始化串列埠,複製u-boot.img到ddr3的0x80800000處執行。mlo的最大體積可以達到109k,對於簡單的裸機程式綽綽有餘了。

mlo其實是ti給u-boot的spl起了個別名而已,我們稱之為bl1,mlo其實是mkimage工具給u-boot-spl.bin新增了頭資訊後得到的(就行uimage和zimage的關係)。bl2自然就是u-boot.bin了,但是mlo不是直接載入u-boot.bin檔案,而是載入u-boot.img檔案,img檔案其實是用mkimage工具給u-boot.bin新增頭資訊後得到的,mkimage可以通過編譯u-boot得到,位於tools目錄內,注意用較新版本的,2014或者2015的u-boot都可以。u-boot.img的頭資訊具體內容格式參見晶元手冊。

mkimage製作mlo的命令是如下格式:

mkimage -t omapimage -a 0x402f0400 -d 『u-boot-spl.bin』 mlo

我們可以製作成指令碼:

#!/bin/bash

mkimage -t omapimage -a 0x402f0400 -d $1 mlo

儲存為mkmlo,複製到

/usr/local/bin目錄,就可以敲mkmlo ***x命令將編譯後的裸機程式生成mlo了。

同理,製作生成u-boot.img的指令碼:

#!/bin/bash

mkimage  -a arm -t firmware -c none -o u-boot -a 0x80800000 -e 0

-d $1 u-boot.img

儲存為mkbl2

,複製到/usr/local/bin目錄,就可以敲mkbl2 ***x命令將編譯後的裸機

程式生成

bl2了,bl2可以使用ddr3的全部空間,這樣我們可以載入更大的裸機程式,跑ucos都沒問題。

sd卡必須按特殊的方式進行分割槽,否則是bl0是無法識別並載入mlo的。

,kernel如果uimage格式也需要。

製作am335x的sd啟動卡可以利用指令碼實現。

我們來看分割槽指令碼的內容:

drive=1d

dif=

/dev

/zer

oof=

drive bs=1024 count=1024

size=fdisk -l $drive | grep disk | awk ''

echo disk size - $size bytes

cylinders=echo $size/255/63/512 | bc

sfdisk -d -h 255 -s 63 -c cy

lind

ers drive << eof

,9,0x0c,*

10,115,,-

126,,,-

eofmkfs.vfat -f 32 -n 「boot」 dr

ive1

umou

nt1mkfs.ext3 -l 「rootfs」 dr

ive2

umou

nt2mkfs.ext3 -l 「start_here」 $3

sfdisk輸入格式如下:

start size id bootable c,h,s c,h,s

0

USB實現(1) Ti AM335x系列CPU

本文參照了ti am335x的技術手冊。am335x處理器提供了兩個usb2.0 模組。每個usb控制器都是圍繞mentor usb otg控制器 musbmhdrc 和ti phy構建的。每個usb 控制器具有使用者可配置的32k位元組的端點fifo。兩個usb模組共享cppi dma控制器和相應...

TI AM335X幾款開發板推薦

最近,公尺爾科技在插針式核心板的基礎上,又推出了郵票孔和金手指兩種核心板,及其配套的底板,成為am335x 完整的解決方案,三塊核心板 圖1 am335x 三款核心板 3款開發板提供靈活的儲存配置,ddr3 記憶體可選 128mb 256mb 512mb 大小,內部儲存 nandflash 可選12...

為工業閘道器打造的TI AM335x開發板介紹

myd c335x gw 是公尺爾電子推出的基於ti am335x 系列處理器的嵌入式板卡,主要面向工業閘道器,hmi 等應用場景。該套產品由核心板myc c335x gw及底板myb c335x gw組合而成 1.myc c335x gw 核心板介紹 核心板採用ti am335x 系列處理器,整合...