s5pv210开发板、原理图、刷机和数据手册

笔记源自《朱老师物联网大讲堂》

《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系统镜像烧录、linux+QT镜像的烧录
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转串口),这样就相当于你电脑有了一个串口,可以通过这个串口来监视开发板的串口输出。
注意1:windows对USB设备的管理是和USB口有关的,你每次把usb转串口线插到1个口中,这样得到的COM口号码是不变的,方便我们后期使用。如果每次胡乱更换插口,可能得到的COM口会变。
注意2:COM口号码是可以改的,还可以强制占用显示“已使用”的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 bs=512 seek=1 count=1 conv=sync
sync

busybox dd if=/dev/zero of=/dev/mmcblk0 bs=512 seek=1 count=1 conv=sync
解释:这句话的意思就是说把板载的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下载时要注意1:fastboot是使用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、烧录linux+QT
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的参数不用特意设置(因为我们刷了专为linux+QT定制的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继续刷机。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/496695.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

腾讯AI Lab发布三大核心战略,与自然科研达成战略合作

来源:腾讯AI实验室3月15日,腾讯AI Lab第二届学术论坛在深圳举行,聚焦人工智能在医疗、游戏、多媒体内容、人机交互等四大领域的跨界研究与应用。全球30位顶级AI专家出席,对多项前沿研究成果进行了深入探讨与交流。本次论坛以“共享…

Java并发编程实战~Guarded Suspension模式

Guarded Suspension 模式 比如,项目组团建要外出聚餐,我们提前预订了一个包间,然后兴冲冲地奔过去,到那儿后大堂经理看了一眼包间,发现服务员正在收拾,就会告诉我们:“您预订的包间服务员正在收…

C 和 C++字符串详解

From:http://blog.csdn.net/fenxinzi557/article/details/51457829 From:http://www.cnblogs.com/xFreedom/archive/2011/05/16/2048037.html C之string类型详解:http://citycowboy.blog.sohu.com/50058804.html -------------------------…

Oracle函数大全1

1.ASCII 返回与指定的字符对应的十进制数; SQL> select ascii(’A’) A,ascii(’a’) a,ascii(’0’) zero,ascii(’ ’) space from dual; A A ZERO SPACE --------- --------- --------- --------- 65 97 48 32 2.CHR 给出整数,返…

diy直立双足机器人_Aelos Pro 机器人:让编程变得更有趣

前言拥有一台酷炫的机器人是每个人儿时的梦想,爱搞机最近也有机会拿到一款来自乐聚的新品: Aelos Pro 机器人。相信有了解过机器人的朋友,应该对乐聚有所耳闻,乐聚在人形机器人领域一直都是行业的佼佼者,Aelos 系列机器…

uboot学习前传

笔记源自《朱老师物联网大讲堂》 《2.uboot和系统移植-第1部分-2.1.uboot学习前传》 第一部分、章节目录 2.1.1.为什么要有uboot 2.1.2.为什么是uboot 2.1.3.uboot必须解决哪些问题 2.1.4.uboot的工作方式 2.1.5.uboot的常用命令1 2.1.6.uboot的常用命令2 2.1.7.开发板和主机的…

中国科学家首次解析人脑“中央处理器”,领先美国脑计划

来源:澎湃新闻 作者:贺梨萍“我们可以探索数光年外的宇宙,但对我们两耳之间3磅重的大脑知之甚少。”这一想法推动美国前任总统奥巴马启动了“推进创新神经技术脑研究计划”,也就是所谓的 “脑计划”。中国同一领域内的研究也在加…

物理拓扑和逻辑拓扑——现实和应用的比较

在每一个网络管理者的脑子里几乎都有一张自己所管理的网络拓扑图。在网管系统中,生成拓扑图是网管系统的基本功能之一。目前,在网管系统中生成的的拓扑图分为物理拓扑和逻辑拓扑,他们有什么不同呢? 作为网络的管理者我们知道&…

虚拟机无法接受组播消息_IPTV(组播)骨干网完整解决方案--四川广电网络

一,基于ANYCAST 设计骨干RP热备1,RP选举说明组播网络RP设置分为动态,静态2种。但和很多网络协议不一样,RP的选择默认是动态优先。也就是在路由器上同时存在动态和静态RP的时候会优选动态,除非定义强制静态优选动态才不…

Java并发编程实战~Worker Thread模式

在上一篇文章中,我们介绍了一种最简单的分工模式——Thread-Per-Message 模式,对应到现实世界,其实就是委托代办。这种分工模式如果用 Java Thread 实现,频繁地创建、销毁线程非常影响性能,同时无限制地创建线程还可能…

DES算法

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言一、DES是什么?二、go语言实现1.使用CBC模式1.使用ECB模式前言 提示:以下是本篇文章正文内容,下面案例可供参考 一、DES是什…

2018年世界前沿科技趋势展望及2017年态势总结

来源:全球技术地图本文以智能制造、新材料和信息三大领域为例,深入浅出的探讨了2017年以来世界前沿科技的发展脉络,并对2018年可能的走势进行了预测。-智能制造领域-2017年态势总结多国推出新举措,推动先进制造发展美国成立白宫贸…

写给女友的情诗

亲爱抱抱每次看到你很快乐的样子总是让我无比欢畅你让我看到幸福 让我看到阳光彼此的那份甜蜜只有你我才能感觉得到你让我忘掉悠愁 让我忘掉烦恼你就是我最闪亮的星星亲爱的让我紧紧的抱抱每次都是那么地不一样无论如何我还是喜欢这样抱着你直到永远Hei Baby You are my favori…

机器人3·15 | 赛迪「机器人国评中心」揭示机器人产品质量6大痛点!

来源:雷克世界机器人是“制造业皇冠顶端的明珠”,其研发、制造、应用是衡量一个国家科技创新和高端制造业水平的重要标志。当前,我国机器人市场进入高速增长期,“机器换人”浪潮势不可挡,产品应用层见叠出,…

Java并发编程实战~Balking模式

上一篇文章中,我们提到可以用“多线程版本的 if”来理解 Guarded Suspension 模式,不同于单线程中的 if,这个“多线程版本的 if”是需要等待的,而且还很执着,必须要等到条件为真。但很显然这个世界,不是所有…

jq如何在打开新的页面 关闭之前同链接的页面_教你如何“抢”其他域名的权重...

白帽波哥的上一篇文章《这三种域名,永远不会有询盘》里留了两个尾巴,一个是如何将好域名的权重导到一个新域名上,另一个是如何清除域名里的垃圾外链。今天先讲第一个,如何将好的老域名权重导到新域名,也就是业内常说的…

ARM GIC (五)gicv3架构-LPI

在gicv3中,引入了一种新的中断类型。message based interrupts,消息中断。 一、消息中断 外设,不在通过专用中断线,向gic发送中断,而是写gic的寄存器,来发送中断。 这样的一个好处是,可以减少中断线的个数。 为了支持消息中断,gicv3,增加了LPI,来支持消息中断。并且…

HtmlTextWriter学习

HtmlTextWriter与Html32TextWriter 这两个类不存在继承和被继承关系。HtmlTextWriter支持Html4.0标准,而Html32TextWriter支持Html3.2标准,在msdn中一般不建议将Html32TextWriter实例话,它仅为支持低版本的浏览器而设计。 HtmlTextWriter初始…

全球自动驾驶汽车发展指数哪家强?美德领衔,中国第七

来源:新智驾近日,罗兰贝格与德国著名汽车研究机构亚琛汽车工程技术有限公司共同发布《2017年第四季度全球自动驾驶汽车发展指数》报告,基于行业和市场两个维度,对全球主要汽车大国在自动驾驶领域的竞争态势做出全面比较。其中“行…

设计模式基本原则

最终目的:高内聚,低耦合 1) 开放封闭原则 (OCP,Open For Extension, Closed For Modification Principle) 类的改动是通过增加代码进行的,而不是修改源代码。 2) 单一职责原则 (SRP,Single Responsibility Principle) 类的职责要单一&a…