01 OrangePi uboot编译
2017-12-25 16:44
806 查看
计算机系统的组成:
CPU , 内存, 输入/输出设备, 外存(硬盘)
单片机: 一个芯片上就是一个完整的计算机系统.
SOC: 片上系统(system on chip), 其实就是功能更强大的单片机
arm: 一种CPU核心(如:51(intel)). arm公司不会生产具体的硬件芯片, 只设计CPU核心.
arm通过与芯片厂家合作, 生产基于arm核心的具体CPU芯片.
基于arm的合作厂家有: 三星, 高通, MTK, 华为海思, 全志, TI, 晨星(MStar)
/////////////////////////////////////////////////////////
接线:
uart ttl转usb线
红色的ttl线是输出5v (注意只作uart用是不需要此接口的)
黑色线–> gnd
绿色线–> txd
白色线–> rxd
板上的调试接口:
gnd rx tx
/////////////////////////////////////////////////////////
pc机的启动过程:
bios —> grub —> kernel —> fs
arm启动过程:
bios(soc内部的rom) –> uboot —> kernel —> fs
grub 与 uboot都是bootloader的一种, 用于引导linux内核启动
///////////////////
源码及所需的工具下载:
https://pan.baidu.com/s/1mhU4a8K 密码: b375
CPU , 内存, 输入/输出设备, 外存(硬盘)
单片机: 一个芯片上就是一个完整的计算机系统.
SOC: 片上系统(system on chip), 其实就是功能更强大的单片机
arm: 一种CPU核心(如:51(intel)). arm公司不会生产具体的硬件芯片, 只设计CPU核心.
arm通过与芯片厂家合作, 生产基于arm核心的具体CPU芯片.
基于arm的合作厂家有: 三星, 高通, MTK, 华为海思, 全志, TI, 晨星(MStar)
/////////////////////////////////////////////////////////
接线:
uart ttl转usb线
红色的ttl线是输出5v (注意只作uart用是不需要此接口的)
黑色线–> gnd
绿色线–> txd
白色线–> rxd
板上的调试接口:
gnd rx tx
/////////////////////////////////////////////////////////
pc机的启动过程:
bios —> grub —> kernel —> fs
arm启动过程:
bios(soc内部的rom) –> uboot —> kernel —> fs
grub 与 uboot都是bootloader的一种, 用于引导linux内核启动
///////////////////
源码及所需的工具下载:
https://pan.baidu.com/s/1mhU4a8K 密码: b375
先安装dtc工具(用于linux内核的设备树) 解包: dtc-master.zip 进源码目录"dtc-master"后 "make && make install" 编译uboot: 1). 解包orangepi_sdk.tar.bz2 进入orangepi_sdk目录 2). mkdir output //创建目录,用于存放编译生成的程序镜像 mkdir output/u-boot/ //创建uboot子目录 mkdir output/dtb/ //创建设备树子目录 yum install ncurses* // ncurses是个终端的图形库, 用于配置编译项使用 进入toolchain/sunxi-tools目录: 执行make //编译出用于生成内核的script.bin工具(bin2fex fex2bin) cp bin2fex fex2bin sunxi-fexc /bin/ //复制这几个工具到系统的bin目录 3). 回到orangepi_sdk目录下: make config_uboot // 配置uboot, 出现配置界面后,直接退出就可以了. make uboot // 编译uboot 第一次时会发生错误: make_uboot.sh: line 31: mkimage: command not found 发生错误后: cp source/u-boot-2016.07/tools/mkimage /bin/ 再次执行"make uboot" //mkimage工具用于内核镜像上加文件头用 编译完成后,在output/u-boot/目录里有: boot.scr script.bin u-boot-sunxi-with-spl.bin // boot.src其实是个uboot环境变量存放文件 4). 把sd卡放入读卡器,再接入pc, 确认它的设备文件(一般是/dev/sdb) make install_uboot sdcard=/dev/sdb //把uboot镜像烧入sd卡的指定扇区位置 5). 安装pc端的uart工具 yum install minicom* 配置minicom: minicom -s +-----[configuration]------+ | Filenames and paths | | File transfer protocols | | Serial port setup | | Modem and dialing | | Screen and keyboard | | Save setup as dfl | | Save setup as.. | | Exit | | Exit from Minicom | +--------------------------+ 选择"Serial port setup" +-----------------------------------------------------------------------+ | A - Serial Device : /dev/ttyUSB0 | | | | C - Callin Program : | | D - Callout Program : | | E - Bps/Par/Bits : 115200 8N1 | | F - Hardware Flow Control : No | | G - Software Flow Control : No | | | | Change which setting? | +-----------------------------------------------------------------------+ 注意: /dev/ttyS0表示PC机后面的RS232接口, usb转232接口得设为/dev/ttyUSB0 选择好后, “Save setup as dfl”, 保存好后,以后使用时直接输入命令"minicom"即可 // 退出minicom, 先按"ctrl+a", 松手后再按'q'键,即可选择退出 6). 把sd卡接到板子上,接上电源线,uart线.在minicom里会有信息: U-Boot SPL 2016.07-cazure (May 22 2017 - 12:28:32) DRAM: 512 MiB Trying to boot from MMC1 U-Boot 2016.07-cazure (May 22 2017 - 12:28:32 +0800) Allwinner Technology CPU: Allwinner H3 (SUN8I 1680) Model: Xunlong Orange Pi DRAM: 512 MiB MMC: SUNXI SD/MMC: 0 In: serial Out: serial Err: serial Net: No ethernet found. starting USB... USB0: USB EHCI 1.00 USB1: USB OHCI 1.0 scanning bus 0 for devices... 1 USB Device(s) found Hit any key to stop autoboot: 0 //出现这句信息时按任意键就会停住 u-boot@orangepi#
相关文章推荐
- [转]Eclipse快捷键_01_常用快捷键汇总
- 【20090805-01】C#中Dispose和Close的区别
- Mars Android视频学习笔记——01_18_文件下载
- HDU 2602 Bone Collector 收集骨头+最基本的01背包
- 51nod 1109 01组成的N的倍数
- POJ - 3764 The xor-longest Path (01字典树)
- 实战LSMW(01)
- 01-用UML画顺序图
- Python-老男孩-01_基础_文件IO_函数_yield_三元_常用内置函数_反射_random_md5_序列化_正则表达式_time
- Spring学习01
- hdu 4825 01字典树
- Win32学习笔记 - 01 - WinMain(), MessageBox()
- GStreamer播放教程01——playbin2的使用
- INFORMATICA学习之路-01-安装INFORMATICA
- 2017杭电多校第一场01
- Day43-Struts01
- jQueryinAction学习笔记——01
- MFC-01-Chapter01:Hello,MFC---1.3 第一个MFC程序(05)
- Linux文件系统-01物理存储设备
- 安卓自定义View基础01-坐标系讲解