(一)友善之臂介紹:
README for FriendlyARM Tiny4412
說明:本u-boot源代碼由三星原廠提供,并由友善之臂修改移植,以適用于Tiny4412開發(fā)板平臺。
僅供嵌入式愛好者學(xué)習(xí)研究之用,友善之臂不對此提供任何技術(shù)支持和維護(hù)。
-----------------------------------------------------
1. Build uboot
a) 安裝好toolchain (arm-linux-gcc-4.5.1-v6-vfp-20120301.tgz)并設(shè)置好
環(huán)境變量PATH,保證可以正常使用。
b) 解壓 uboot_tiny4412-20130729.tgz 并進(jìn)入相應(yīng)的目錄
tar xzf uboot_tiny4412-20130729.tgz
c) 配置 uboot 并編譯
cd uboot_tiny4412
make tiny4412_config
make
生成u-boot.bin
d) 編譯 用于生成bl2 的工具
make -C sd_fuse
或者
cd sd_fuse; make
-----------------------------------------------------
2. 制作啟動(dòng) Tiny4412 的SD卡
a) 先準(zhǔn)備一張4G或以上的SDHC卡
注意:該卡的已有數(shù)據(jù)將會(huì)被破壞,因此請先對SD卡上的數(shù)據(jù)進(jìn)行備份。
b) fusing SD card
假設(shè)SD卡已被PC Linux識別為/dev/sdb, 以root用戶運(yùn)行以下命令即可:
cd sd_fuse/tiny4412
./sd_fusing.sh /dev/sdb
-----------------------------------------------------
3. 使用SD卡啟動(dòng) Tiny4412 并燒寫Android
a) 將已經(jīng)制作好的SD卡插到 Tiny4412 板上,撥動(dòng)S2切換到SDBOOT,同時(shí)連接
串口線到PC且假設(shè)已經(jīng)準(zhǔn)備好。
b) 開發(fā)板加電,然后在串口控制臺(如minicom),按任意鍵進(jìn)入uboot 命令行模式
c) 對SD卡進(jìn)行分區(qū)
輸入以下uboot命令即可對SD卡進(jìn)行分區(qū):
fdisk -c 0 320 806 518
重新分區(qū)后,可重新格式化FAT分區(qū)
fatformat mmc 0:1
d) 進(jìn)入fastboot模式以燒寫Android
使用USB線連接Tiny4412的MICRO_USB口到PC,然后輸入以下uboot命令:
fastboot
e) 燒寫 Android 到SD卡
首先請準(zhǔn)備好Android image,包括: zImage, ramdisk-u.img, system.img
在PC端輸入以下命令進(jìn)行燒寫:
fastboot flash kernel zImage (燒寫kernel)
fastboot -w (格式化userdata和cache)
fastboot flash ramdisk ramdisk-u.img (燒寫ramdisk)
fastboot flash system system.img (燒寫system)
f) 也可以在PC端通過fastboot燒寫uboot到SD卡
先手動(dòng)生成bl2.bin
cd sd_fuse/tiny4412
../mkbl2 ../../u-boot.bin bl2.bin 14336
然后輸入以下命令:
fastboot flash fwbl1 E4412_N.bl1.bin
fastboot flash bl2 bl2.bin
fastboot flash bootloader ../../u-boot.bin
fastboot flash tzsw E4412_tzsw.bin
-----------------------------------------------------
4. 使用SD卡啟動(dòng) Android
a) 如果是使用HD700,則燒寫完成后直接重啟Tiny4412 即可自動(dòng)啟動(dòng) Android
b) 如果是使用S700,則需要在uboot上設(shè)置kernel命令行參數(shù):
setenv bootargs console=ttySAC0,115200n8 androidboot.console=ttySAC0 lcd=S700
saveenv
然后重啟Tiny4412即可。
-----------------------------------------------------------------------------------------------------------
(二)編譯結(jié)果
tiny4412中uboot編譯成功
o lib/lzo/liblzo.o net/libnet.o post/libpost.o board/samsung/tiny4412/libtiny4412.o --end-group /opt/FriendlyARM/tiny4412/uboot/uboot_tiny4412/arch/arm/lib/eabi_compat.o -L /opt/FriendlyARM/toolschain/4.5.1/lib/gcc/arm-none-linux-gnueabi/4.5.1 -lgcc -Map u-boot.map -o u-boot
arm-linux-ld: warning: creating a DT_TEXTREL in object.
arm-linux-objcopy -O srec u-boot u-boot.srec
arm-linux-objcopy --gap-fill=0xff -O binary u-boot u-boot.bin
root@phone-desktop:/opt/FriendlyARM/tiny4412/uboot/uboot_tiny4412# make -C sd_fuse
make:進(jìn)入目錄'/opt/FriendlyARM/tiny4412/uboot/uboot_tiny4412/sd_fuse'
gcc -o mkbl2 V310-EVT1-mkbl2.c
gcc -o sd_fdisk sd_fdisk.c
make:離開目錄“/opt/FriendlyARM/tiny4412/uboot/uboot_tiny4412/sd_fuse”
root@phone-desktop:/opt/FriendlyARM/tiny4412/uboot/uboot_tiny4412#
(三)目錄分析
Directory Hierarchy:
====================
/arch Architecture specific files #拱結(jié)構(gòu)的特定文件
/arm Files generic to ARM architecture #ARM文件通用的ARM架構(gòu)
/cpu CPU specific files CPU特定文件
/arm720t Files specific to ARM 720 CPUs
/arm920t Files specific to ARM 920 CPUs
/at91rm9200 Files specific to Atmel AT91RM9200 CPU
/imx Files specific to Freescale MC9328 i.MX CPUs
/s3c24x0 Files specific to Samsung S3C24X0 CPUs
/arm925t Files specific to ARM 925 CPUs
/arm926ejs Files specific to ARM 926 CPUs
/arm1136 Files specific to ARM 1136 CPUs
/ixp Files specific to Intel XScale IXP CPUs
/pxa Files specific to Intel XScale PXA CPUs
/s3c44b0 Files specific to Samsung S3C44B0 CPUs
/sa1100 Files specific to Intel StrongARM SA1100 CPUs
/lib Architecture specific library files
/avr32 Files generic to AVR32 architecture
/cpu CPU specific files
/lib Architecture specific library files
/blackfin Files generic to Analog Devices Blackfin architecture
/cpu CPU specific files
/lib Architecture specific library files
/i386 Files generic to i386 architecture
/cpu CPU specific files
/lib Architecture specific library files
/m68k Files generic to m68k architecture
/cpu CPU specific files
/mcf52x2 Files specific to Freescale ColdFire MCF52x2 CPUs
/mcf5227x Files specific to Freescale ColdFire MCF5227x CPUs
/mcf532x Files specific to Freescale ColdFire MCF5329 CPUs
/mcf5445x Files specific to Freescale ColdFire MCF5445x CPUs
/mcf547x_8x Files specific to Freescale ColdFire MCF547x_8x CPUs
/lib Architecture specific library files
/microblaze Files generic to microblaze architecture
/cpu CPU specific files
/lib Architecture specific library files
/mips Files generic to MIPS architecture
/cpu CPU specific files
/lib Architecture specific library files
/nios2 Files generic to Altera NIOS2 architecture
/cpu CPU specific files
/lib Architecture specific library files
/powerpc Files generic to PowerPC architecture
/cpu CPU specific files
/74xx_7xx Files specific to Freescale MPC74xx and 7xx CPUs
/mpc5xx Files specific to Freescale MPC5xx CPUs
/mpc5xxx Files specific to Freescale MPC5xxx CPUs
/mpc8xx Files specific to Freescale MPC8xx CPUs
/mpc8220 Files specific to Freescale MPC8220 CPUs
/mpc824x Files specific to Freescale MPC824x CPUs
/mpc8260 Files specific to Freescale MPC8260 CPUs
/mpc85xx Files specific to Freescale MPC85xx CPUs
/ppc4xx Files specific to AMCC PowerPC 4xx CPUs
/lib Architecture specific library files
/sh Files generic to SH architecture
/cpu CPU specific files
/sh2 Files specific to sh2 CPUs
/sh3 Files specific to sh3 CPUs
/sh4 Files specific to sh4 CPUs
/lib Architecture specific library files
/sparc Files generic to SPARC architecture
/cpu CPU specific files
/leon2 Files specific to Gaisler LEON2 SPARC CPU
/leon3 Files specific to Gaisler LEON3 SPARC CPU
/lib Architecture specific library files
/api Machine/arch independent API for external apps
/board Board dependent files
/common Misc architecture independent functions
/disk Code for disk drive partition handling
/doc Documentation (don't expect too much)
/drivers Commonly used device drivers
/examples Example code for standalone applications, etc.
/fs Filesystem code (cramfs, ext2, jffs2, etc.)
/include Header Files
/lib Files generic to all architectures
/libfdt Library files to support flattened device trees
/lzma Library files to support LZMA decompression
/lzo Library files to support LZO decompression
/net Networking code
/post Power On Self Test
/rtc Real Time Clock drivers
/tools Tools to build S-Record or U-Boot images, etc.
上一篇:uboot重定位代碼分析
下一篇:嵌入式開發(fā)學(xué)習(xí)(1)
推薦閱讀最新更新時(shí)間:2025-07-11 06:08



設(shè)計(jì)資源 培訓(xùn) 開發(fā)板 精華推薦
- MIC4680 的典型應(yīng)用:1A 200kHz 超級開關(guān)降壓穩(wěn)壓器
- NCV8402AMNWT1GEVB:NCV8402A DFN6 WF 評估板
- 用于 Intel 486TM DX4TM Overdrive 微處理器的 LT1585CM 4.6A 低壓差穩(wěn)壓器的典型應(yīng)用
- 具有 10V 柵極驅(qū)動(dòng)器的 LTC3892MPUH-2 高效率、雙路 5V/12V 輸出同步降壓轉(zhuǎn)換器的典型應(yīng)用電路
- LT4356-3/LT4356MP-3 浪涌抑制器的典型應(yīng)用,具有故障鎖定關(guān)斷功能
- MIKROE-2800,帶有兩個(gè)基于 PIC32MZ 32 位 MCU 的 mikroBUS 插座的 Clicker 2 PIC32MZ 開發(fā)套件
- LT1072CT 高效、外部限流穩(wěn)壓器的典型應(yīng)用
- 使用 ON Semiconductor 的 KA78R05 的參考設(shè)計(jì)
- AD5327 4 緩沖、12 位 DAC 在光電隔離接口中的典型應(yīng)用
- LT3755IUD-1 50W 白光 LED 頭燈驅(qū)動(dòng)器的典型應(yīng)用電路
- 粉塵防爆電機(jī)選擇誤區(qū)_如何選擇粉塵防爆電機(jī)型號
- 電纜故障測試儀好不好用?
- 一文詳解自動(dòng)駕駛的運(yùn)行設(shè)計(jì)域(ODD)| 自動(dòng)駕駛系列
- 日經(jīng):臺灣將出新規(guī)限制科技公司出售其在大陸資產(chǎn)
- 51單片機(jī)-溫度PID算法(C程序)
- 泰克提供業(yè)界首創(chuàng)的 PCIe 6.0 測試解決方案
- 基于單片機(jī)的智能排隊(duì)叫號系統(tǒng)設(shè)計(jì)
- STM32的GPIO工作原理
- 采用M1 Ultra和M1 Max芯片,蘋果計(jì)劃推出兩款升級版Mac Studio機(jī)型
- 汽車交流發(fā)電機(jī)的構(gòu)造
- 汽車電源系統(tǒng)常見故障檢修
- 汽車電源系統(tǒng)的工作過程
- 影響國內(nèi)電動(dòng)汽車市場發(fā)展的因素有哪些
- 對于純電動(dòng)汽車來說需要換機(jī)油嗎
- 電動(dòng)汽車對于懸架的要求會(huì)不會(huì)比較高
- 是德科技探討AI數(shù)據(jù)中心:下一代AI網(wǎng)絡(luò)需要更高階的驗(yàn)證
- 你會(huì)在車上找到哪一些物聯(lián)網(wǎng)技術(shù)
- 區(qū)塊鏈?zhǔn)侨绾螛?gòu)建車聯(lián)網(wǎng)的安全性的
- Microchip推出Adaptec? SmartRAID 4300 系列加速器
- 三星TWS蠶豆式耳機(jī)發(fā)布,小體積大功能
- 首次集成Gen12 Xe架構(gòu)核顯,10nm++,酷睿Tiger Lake即將問市
- ARM聯(lián)合創(chuàng)始人:若英偉達(dá)收購arm將會(huì)導(dǎo)致災(zāi)難性后果
- 阻礙電源設(shè)計(jì)成功的因素有哪些?
- InnoSwitch 3-AQ架起汽車動(dòng)力核心的安全屏障
- ARM-Linux開發(fā)與MCU開發(fā)比較
- 基于ARM-Linux的Modbus串口服務(wù)器設(shè)計(jì)
- 基于ARM平臺的MP3軟解碼算法研究與實(shí)現(xiàn)
- 基于GPS和3G的智能公交終端設(shè)計(jì)
- mini2440的nor flash與nand flash啟動(dòng)過程區(qū)別