自己做内部网站,资产管理wordpress,互联网创业项目有哪些,广东专业网站优化公司笔记源自《朱老师物联网大讲堂》
《1.3.ARM裸机第三部分-开发板、原理图和数据手册》
第一部分、章节目录 1.3.1.开发板和光盘资料简介 1.3.2.开发板硬件手册带读 1.3.3.开发板刷系统1 1.3.4.开发板刷系统2 1.3.5.开发板刷系统3 1.3.6.X210核心板、底板原理图导读1 1.3.7.X21…笔记源自《朱老师物联网大讲堂》
《1.3.ARM裸机第三部分-开发板、原理图和数据手册》
第一部分、章节目录 1.3.1.开发板和光盘资料简介 1.3.2.开发板硬件手册带读 1.3.3.开发板刷系统1 1.3.4.开发板刷系统2 1.3.5.开发板刷系统3 1.3.6.X210核心板、底板原理图导读1 1.3.7.X210核心板、底板原理图导读2 1.3.8.S5PV210数据手册导读 1.3.9.补充-x210的dnw刷机 1.3.10.补充-linux下使用dd命令刷写uboot
第二部分、章节介绍 1.3.1.开发板和光盘资料简介 介绍课程配套开发板X210大概情况并且详细介绍开发板官方提供的光盘资料分布哪些有用哪些暂时用不到。 1.3.2.开发板硬件手册带读 带着大家一起读开发板官方提供的硬件手册《X210V3硬件手册.pdf》了解开发板的一般配置和硬件信息。 1.3.3.开发板刷系统1 安装USB转串口线驱动使用SecureCRT做串口连接进入系统控制台并且破坏出厂预烧录的android系统以从SD启动 1.3.4.开发板刷系统2 制作启动SD卡并且从SD卡启动使用fastboot烧录uboot、kernel、根文件系统等到板载iNand中dnw工具烧录 1.3.5.开发板刷系统3 android系统镜像烧录、linuxQT镜像的烧录 1.3.6.X210核心板、底板原理图导读1 带大家一起看开发板原理图对原理图的一般看法、查法、作用做系统讲解为以后学习外设编程时查原理图打好基础 1.3.7.X210核心板、底板原理图导读2 带大家一起看开发板原理图对原理图的一般看法、查法、作用做系统讲解为以后学习外设编程时查原理图打好基础 1.3.8.S5PV210数据手册导读 带大家一起读S5PV210的数据手册以及其他板载硬件的数据手册的读法扩展。 1.3.9.补充-x210的dnw刷机 很多同学反映uboot擦掉后内部iNand启动失败外部SD启动也失败机器变砖头了···于是乎给大家增补一个dnw刷机的方式经同学实践可以解决问题。 1.3.10.补充-linux下使用dd命令刷写uboot 有同学电脑运行不了九鼎开发板中提供的SD卡刷卡软件于是乎希望在linux下完成刷机。这里我顺便补充下linux下使用dd命令刷写uboot到SD卡来制做SD启动卡的教程以供大家使用。
第三部分、随堂记录 1.3.1.开发板和光盘资料简介 详见课程视频和光盘资料。
1.3.2.开发板硬件手册带读 详见开发板光盘中《X210V3硬件手册.pdf》
1.3.3.开发板刷系统1 1.3.3.1、什么是刷系统 刷系统就是利用刷机工具向开发板中烧录预先编译好的系统镜像使之在开发板上运行起来。 1.3.3.2、串口输出的意义做系统控制台 串口是一种硬件通信口很多年前的时候串口是CPU之间进行通信的主要接口。但是现在因为串口通信的速度很低所以现在串口主要是用来做程序输出监控、调试。 桌面电脑可以打开一个虚拟控制台嵌入式系统一般是用串口来做控制台的。一般是用一根串口线连接开发板的串口和我们笔记本电脑的串口然后在电脑上打开一个串口监视这样开发板上的串口输出内容就可以在电脑上看到。还可以通过监视终端向开发板输入一些控制命令由开发板执行。常用的串口监视软件有超级终端、SecureCRT、minicom 1.3.3.3、安装USB转串口线的驱动 本来电脑都是有串口的DM9接口但是现在大家都用笔记本没有串口了所以这种串口连接线用不了。办法是使用USB转串口线这种线传入电脑后需要安装驱动安装驱动后在电脑上会形成一个串口叫usb转串口这样就相当于你电脑有了一个串口可以通过这个串口来监视开发板的串口输出。 注意1windows对USB设备的管理是和USB口有关的你每次把usb转串口线插到1个口中这样得到的COM口号码是不变的方便我们后期使用。如果每次胡乱更换插口可能得到的COM口会变。 注意2COM口号码是可以改的还可以强制占用显示“已使用”的COM号一般改成COM4以内的就可以了。 1.3.3.4、使用SecureCRT 从网盘下载SecureCRT.rar解压后直接使用。注册时参考解压包中的《说明.txt》。 打开SecureCRT.exe后建立一个Serial连接开始监视串口。设置参考视频中注意流控一定要去掉。 开发板这边串口一定要接串口2官方出厂默认的烧录镜像都是使用串口2的然后开机就可以看到串口信息了。 1.3.3.5、破坏iNand中的bootloader以从SD2启动 留待第四部分做LED实验时再说。
1.3.4.开发板刷系统2 1.3.4.0、破坏iNand中的bootloader以从SD2启动 busybox dd if/dev/zero of/dev/block/mmcblk0 bs512 seek1 count1 convsync sync
busybox dd if/dev/zero of/dev/mmcblk0 bs512 seek1 count1 convsync 解释这句话的意思就是说把板载的iNand的第一个扇区用全0来填充其实就是擦除它这样我们板载的iNand的bootloader的开始第1个扇区就被破坏了。将来启动时iROM还是会先从iNand中读取前16KB然后计算校验和。这时候因为有1个扇区被擦掉了所以校验和不通过所以启动失败会从SD2去执行2nd启动。 注意破坏板载iNand的bootloader后不插外部SD卡启动时串口得到SD checksum Error 1.3.4.1、制作启动SD卡其实就是烧录uboot到SD卡中 有2种烧写方法一种是在windows中用刷卡工具去制作启动SD卡另一种是在linux中用dd命令。 本节介绍第一种比较简单刷卡工具在光盘A盘\tools\x210_Fusing_Tool.rar 制作完SD后将SD卡插入开发板SD2通道注意不是SD3然后开机就可以进入uboot界面了。在uboot开机自动启动倒数3秒之内迅速按下电脑回车键打断自动启动。否则会自动启动iNand中的android
1.3.4.2、fastboot介绍 fastboot是uboot中用来快速下载镜像的一个命令fastboot同时还是一个windows上的软件。 fastboot下载时要注意1fastboot是使用USB线进行数据传输的所以fastboot执行之前要先连接开发板和主机之间的usb线。 fastboot下载时要注意2需要安装驱动。 1.3.4.3、fastboot驱动X210 Android驱动的安装 驱动位置A盘\tools\USB驱动\x210_android_driver
1.3.4.4、fastboot常用命令 fastboot devices 命令用来查看当前连接的设备。我们开发板看到的是SMDKC110-01 fastboot flash xxx 命令用来烧录的 fastboot reboot 命令用来重启系统 1.3.4.5、使用fastboot烧录android4.0.4镜像 在cmd下使用以下三个命令来完成烧录 fastboot flash bootloader android4.0/uboot.bin 烧uboot fastboot flash kernel android4.0/zImage-android 烧linux kernel fastboot flash system android4.0/x210.img 烧android rom
uboot的参数设置set bootcmd ‘movi read kernel 30008000; bootm 30008000’默认就是这个不用设置也行
1.3.5.开发板刷系统3 1.3.5.1、烧录linuxQT fastboot flash bootloader linuxQT/uboot_inand.bin 烧uboot fastboot flash kernel linuxQT/zImage-qt 烧linux kernel fastboot flash system linuxQT/rootfs_qt4.ext3 烧rootfs uboot的参数不用特意设置因为我们刷了专为linuxQT定制的uboot这个uboot中估计已经预制好了所有的启动参数 1.3.5.2、烧录android2.3 fastboot flash bootloader android2.3/uboot.bin 烧uboot fastboot flash kernel android2.3/zImage 烧linux kernel fastboot flash system android2.3/x210.img 烧android rom 注意android2.3中使用了串口0所以启动后要把串口插到串口0中不然串口没有任何启动信息出来。android2.3中屏幕上的logo是在左上角也是个刷机成功的标志 1.3.5.3、烧录android4.0.4 fastboot flash bootloader android4.0/uboot.bin 烧uboot fastboot flash kernel android4.0/zImage-android 烧linux kernel fastboot flash system android4.0/x210.img 烧android rom
1.3.6.X210核心板、底板原理图导读1 核心板、底板原理图浏览 写代码时需要查阅和参考的资料有核心板原理图、底板原理图、相应硬件的数据手册、S5PV210数据手册
1.3.7.X210核心板、底板原理图导读2 1.3.7.1、原理图、PCB图、丝印图各自是什么 原理图是电路原理设计图各个电路中的部件的逻辑连接图。原理图可能会影响软件编写 PCB图是我们用来制作电路板并且用电路板进行原件焊接做成最终产品的生产性图纸。先有原理图设计然后根据原理图来设计PCB图。PCB4图是对原理图的一种实现。原理图和PCB图一般都由硬件工程师来负责但是原理图设计时软件工程师会一定程度参与。PCB图的设计就完全是硬件工程师的事情了与软件工程师无任何关系。 丝印图是PCB图设计中所有原件的外框的框图。丝印图其实就是整个电路板的实体的位置图纸与软件和功能无关与生产制造有关。对软件工程师来说丝印图可以不理会。
1.3.7.2、原理图对嵌入式软件工程师的意义 原理图是电路的逻辑连接。对于可编程器件来说不同的电路连接可能意味着不同的编程参数因此底层软件工程师会需要查阅原理图的接法从而决定自己的软件怎么写才能正确和硬件通信。
1.3.7.3、嵌入式软件开发人员对硬件掌握程度的要求 对软件工程师来说硬件究竟有没有必要会会到什么程度影响有多大 软件工程师分应用开发和底层开发两大块。对于应用开发工程师直接基于操作系统来开发程序调用操作系统的APi和库函数等写代码来说硬件完全被操作系统屏蔽了可以完全不关心硬件但是对于底层软件工程师驱动开发的、单片机的、移植操作系统的来说看懂原理图和数据手册是非常有必要的PCB图就没必要会了。 注意一般来说总工程师都是软硬都会的这个人一般软件硬件都做过。所以对大家来说如果时间很充裕或者完全有条件不妨都学习一点学习是有轻重的如果时间比较紧着急工作或者完全不感兴趣那就不要看了。
1.3.8.S5PV210数据手册导读 1.3.8.1、datasheet数据手册的作用 数据手册就是产品一般是芯片厂家编写的对这个产品的所有功能和用法的描述统一说明的文档。 1.3.8.2、数据手册的正确读法先通读概览然后根据需要去查阅。 1.3.8.3、学会利用文档目录。 1.3.8.4、利用好pdf阅读器的搜索功能。
1.3.9.补充-x210的dnw刷机 1.3.9.1、背景 1 之前讲第三部分的时候只讲了SD卡刷机并没有讲usb启动刷机dnw刷机。因为sd卡刷机较简单dnw刷机较麻烦。 2 有同学刷错了uboot错刷成了nand版本的uboot还有些确实没刷错uboot这时候在uboot中执行了movi write u-boot 0x30000000后再次开机碰到诡异现象串口输出乱码、SD卡不启动。以为开发板变砖头了。这时候的解决思路就是dnw刷机。 3 第四部分1.4.ARM裸机第四部分-GPIO和LED的第一节课已经讲过了dnw下载裸机程序dnw的介绍dnw驱动的安装配置下载地址的方法大家可以先看这节课然后再来看本节。 1.3.9.2、刷机准备 1 看x210 dnw刷机.txt按照其中进行操作 2 事先把开发板启动方式拨到usb启动。OM5打到VCC就能从usb启动 3 两个刷机文件x210_usb.bin 和 uboot.bin 准备好。 1.3.9.3、刷机 刷机分2步第一步刷x210_usb.bin地址是0xd0020010;第二步刷uboot.bin刷机地址是0x23e00000 uboot启动起来后先fdisk -c 0去重新分区然后再fastboot·······
1.3.10.补充-linux下使用dd命令刷写uboot 1.3.10.1、SD卡连接入linux中 首先得搞清楚一个USB设备插到电脑后要么可以在Windows中识别此时不能在虚拟机linux中识别要么能在linux中识别但是在windows中又不见了。默认的一般都是连在Windows中的所以linux是找不到的。 如果你需要将该设备连接到linux中需要在VMware软件的菜单“虚拟机 - 可移动设备”中点选该设备选择连接
连接进linux中在命令行中ls /dev/sd*查看和之前对比就知道我们的SD卡在linux中的设备编号了。一般是/dev/sdb
也有可能是sdc或者其他。我们后面的实验是基于这个设备号是/dev/sdb的如果不是后面的实验要相应做修改。1.3.10.2、制作SD启动卡 执行 ./nand_fusing.sh /dev/sdb 1.3.10.3、使用SD卡启动 先确定开发板是从SD卡启动的 然后确定板子内的iNand中的uboot是被破坏的不能启动的。 SD卡插入SD2通道启动即可。启动后看有没必要fdisk -c 0来分区使用fastboot继续刷机。