历史上的今天
返回首页

历史上的今天

今天是:2024年10月28日(星期一)

正在发生

2019年10月28日 | 【嵌入式学习笔记二】烧录制作好的镜像到4412开发板中

2019-10-28 来源:51hei

说明:本来打算第二份笔记作开发环境搭建的,但是整个开发环境的搭建比较复杂,所以学到后面的时候再回过来系统的讲述一下如何搭建开发环境,这一节内容就讲如何烧录制作好的镜像到开发板中。


一、Android4.0.3的烧写(OTG烧写)

1.准备工作

(1)硬件准备:

iTOP-4412开发板、电源、串口线、OTG线

(2)软件及驱动准备:

ADB驱动、串口驱动、超级终端

(3)安装镜像(压缩包):

u-boot-iTOP-4412.bin(uboot,通用引导程序)

zImage(kernel,内核)

ramdisk-uboot.img和system.img(rootfs,根文件系统)


2.烧写过程

(1)连接电源、串口线和OTG线

(2)打开超级终端,连接开发板

(3)打开开发板电源,超级终端下立刻按下回车,进入uboot引导程序

(4)分区和格式化操作:

(5)第四步:格式化eMMC并创建分区,

注:此步骤可以跳过!不必每次都格式化分区;2、格式化命令不会删除uboot文件和Linux内核文件
fdisk -c 0        
        按照默认方式给EMMC分区
        Linux内核镜像文件为5M
        Android镜像文件为300M
        Data和Cache文件为1G        
        临时文件为300M
剩下的为用户区,例如使用手机的时候下载的电影小说都是放在这个区域。如果想更改Linux内核镜像文件区域的大小,只能更改u-boot文件

a)fatformat mmc 0:1
        格式化Fat文件系统,也就是默认最大的用户存储空间
b)ext3format mmc 0:2
        格式化Android镜像文件
c)ext3format mmc 0:3
        格式化Data和Cache分区
d)ext3format mmc 0:4
        格式化临时文件保存区

(5)输入fastboot 连接主机,这时候超级终端应该不能动了,切到cmd

注:如果正常连接的话,输入fastboot应该会有音效,设备管理器也可以看到相应的驱动。不正常的话,重新安装一下驱动。网盘的驱动不是适合每台电脑的,我就出现了在Android下驱动正常,fastboot连接主机时出现“未知设备Android1.0”。后来听群里的朋友建议,用来手机助手比如豌豆荚后才安装正常。

(5)如何你设置了环境变量的话,adb和fastboot命令应该是可以直接调用的,没有的话到platform-tools目录下打开cmd.exe

(6)烧写uboot ,输入命令:

fastboot.exe(这里用fastboot也可以) flash  bootloader  u-boot-iTOP-4412.bin

注:最后一个是文件名,是在当前目录下,如果不在的话应该输入文件的全路径。

另外一般不用烧写uboot。这里很有意思,使用OTG烧写本身我们就需要通过uboot来进行引导,没有uboot是根本无法进行烧写的。所以一般使用OTG烧写的情况下只烧写内核和文件系统。只有在uboot损坏的情况下,我们会首先进行uboot烧写,就是我们所说的出厂第一次烧写。

(7)烧写kernel,输入命令:

fastboot flash kernel zImage

(8)烧写rootfs ,输入命令:

fastboot flash ramdisk ramdisk-uboot.img

fastboot flash system system.img

(9)输入擦除命令:fastboot -w

(10)输入重启命令:fastboot reboot

重启成功就可以使用全新的安卓系统了。


二、QT系统的烧写(TF卡烧写)

QT系统其实也可以使用OTG时烧写,但烧写方法与Android系统相同,所以这里使用TF卡烧写方式烧写QT系统


1.准备工作

(1)硬件准备:

开发板、电源、串口线、TF卡

(2)软件及驱动准备:

ADB驱动、串口驱动、超级终端

(3)安装镜像(压缩包):

u-boot-iTOP-4412.bin(uboot,通用引导程序)

zImage(kernel,内核)

ramdisk-uboot.img和system.img(rootfs,根文件系统)

(4)源码

iTop4412_uboot_20151119.tar.gz

注:上述的文件可能文件名不同,使用时请注意


2.烧写过程

(1)连接电源、串口线、插入TF卡

(2)打开超级终端,连接开发板

(3)打开开发板电源,超级终端下立刻按下回车,进入uboot引导程序

(4)分区和格式化操作(完成后可暂时关机,拔出TF卡):

注:上面的分区命令的是参数“1”,代表的是 tf 卡,如果是“0”则代表是 eMMC。
如果是 2G 的 TF 卡,请将命令“fdisk -c 1”改为“fdisk -c 1 300 300 300”。

a) fdisk -c 1

b) fatformat mmc 1:1

c) ext3format mmc 1:2

d) ext3format mmc 1:3

e) ext3format mmc 1:4

(5)制作TF卡

a) 拷贝iTop4412_uboot_20151119.tar.gz到ubuntu,目录自定

注:拷贝方式很多:ssh、共享文件夹等,但是装了VMWare-Tools的话,实际上是可以直接拷贝的,从windows下拉过来就好了,很方便。

b) 解压缩到当前目录        tar -vxf  iTop4412_uboot_20151119.tar.gz,得到 iTop4412_uboot

注:文件名长可以使用TAB键补全,这个很有用

c) 拷贝u-boot-iTOP-4412.bin到 iTop4412_uboot下。

d) 使用读卡器连接TF卡到Ubuntu系统,查看磁盘命令
进入U-boot所在目录iTOP4412_uboot
通过使用df -l命令查看盘符,确认盘符编号下面指令最后一位由盘符决定
执行命令烧写u-boot到TF卡:./mkuboot /dev/sdb(有可能sdc或者其它)

e) 检查可以烧写的 TF 卡是否制作成功。 检查的方法很简单,使用读卡器连接 TF 卡到Windows,如果在系统上发现 TF 卡的存储空间减少了部分空间,那么这个 TF 卡就制作成功了。

注:虚拟机下切换USB Device使用右下角的MTX USB Device

f) 在Widows下进入刚才的TF卡,新建文件夹sdupdate(只能使用该名字)

g)拷贝u-boot-iTOP-4412.bin(uboot,通用引导程序)、zImage(kernel,内核)

ramdisk-uboot.img和system.img(rootfs,根文件系统)到sdupdate,TF卡启动盘制作完成

(6)烧写烧写uboot,输入命令(不建议烧写):

sdfuse flash bootloader u-boot-iTOP-4412.bin

(7)烧写kernel,输入命令:

sdfuse flash kernel zImage

(8)烧写rootfs,输入命令:

sdfuse flash ramdisk ramdisk-uboot.img

sdfuse flash system system.img

(9)输入重启命令:reset

重启成功就可以使用全新的QT系统了。


三、出厂烧写

其实了解了出厂烧写是个什么东西就明白怎么操作了,原理上和上面的TF卡烧写一样。只是启动介质从eMMc变成了TF卡。这里就不写重复操作了,简单讲述一下整个过程

(1)将uboot烧录到TF卡中

(2)使用TF启动将TF卡分区

(3)拷贝四个压缩包(镜像)到sdupdate

(4)TF卡启动烧录全部镜像,可以使用sdfuse flashall

(5)重启

注:TF卡启动就是将编码改变为1001(靠近有数字一侧是0)


推荐阅读

史海拾趣

HM International公司的发展小趣事

机顶盒,全称为数字视频变换盒,是现代家庭娱乐中不可或缺的重要设备。从广义上讲,任何与电视机连接的网络终端设备均可视为机顶盒,其发展历程涵盖了从模拟频道增补器到数字卫星、地面及有线电视机顶盒的广泛范畴。而从狭义角度看,机顶盒特指那些具备数字处理能力的设备,如IPTV机顶盒、DVB-S卫星机顶盒、DVB-T地面机顶盒及DVB-C有线电视机顶盒等。

机顶盒的核心功能在于接收并转换数字电视信号,使之能在传统或智能电视上播放。它不仅能接收来自有线电缆、卫星天线及宽带网络的信号,还能提供电子节目指南、网页浏览等增值服务。通过机顶盒,用户能够享受到高清乃至4K超高清的电视节目,体验更为细腻的画面和震撼的音效。此外,机顶盒还具备网络交互能力,支持在线购物、观看网络视频、玩游戏等多元化活动,使电视机从单向接收信息的设备转变为智能互动终端。

随着技术的不断进步,机顶盒正朝着高清化、智能化方向发展。未来,机顶盒将不仅限于基本的信号接收与解码功能,还将融入更多智能推荐、语音识别等先进技术,为用户提供更加个性化、便捷的娱乐体验。总之,机顶盒作为连接电视与互联网的桥梁,正以其丰富的功能和广泛的应用场景,不断满足用户日益增长的娱乐需求。

Dresden Elektronik公司的发展小趣事

在技术和产品的双重驱动下,Dresden Elektronik公司开始积极拓展市场。他们不仅在国内市场上取得了显著的成绩,还积极开拓国际市场。通过参加国际展会、与跨国企业合作等方式,公司的知名度和影响力逐渐提升,市场份额也不断扩大。

CT Micro公司的发展小趣事
  1. 创业初期与技术创新

CT Micro公司最初由几位电子工程领域的专家创立,他们看到了微型计算机断层扫描(Micro-CT)技术在电子行业中的巨大潜力。初期,公司面临着资金短缺和技术难题,但他们通过不断研发和创新,成功开发出了一款具有高性价比的Micro-CT设备,迅速获得了市场的认可。

  1. 市场拓展与合作伙伴关系

随着产品的成熟,CT Micro开始积极寻求市场拓展。他们与多家电子制造企业建立了合作关系,为这些企业提供Micro-CT设备的定制服务。通过与这些企业的合作,CT Micro不仅扩大了市场份额,还进一步提升了产品的技术水平和应用范围。

  1. 研发升级与产品迭代

面对日益激烈的市场竞争,CT Micro不断投入研发力量,对Micro-CT设备进行升级和迭代。他们成功推出了多款新型设备,具有更高的分辨率、更快的扫描速度和更低的辐射剂量。这些新产品的推出,进一步巩固了CT Micro在电子行业中的领先地位。

  1. 国际化战略与市场拓展

随着国内市场的饱和,CT Micro开始实施国际化战略。他们积极参与国际展览和研讨会,展示自己的产品和技术实力。同时,他们还在海外设立了销售和服务中心,为国际客户提供更加便捷的服务。通过这些努力,CT Micro成功打开了国际市场的大门。

  1. 社会责任与可持续发展

在快速发展的同时,CT Micro也积极履行社会责任。他们注重环保和可持续发展,采用环保材料和节能技术生产产品。此外,他们还积极参与公益事业,为贫困地区的教育和医疗事业贡献力量。这些举措不仅提升了公司的社会形象,也为其可持续发展奠定了坚实基础。

请注意,这些故事框架是虚构的,并不代表CT Micro公司的实际发展情况。如果您需要了解CT Micro公司或类似公司的真实故事,建议您查阅相关公司的官方网站、新闻报道或行业分析报告。

诚润电子(CHEVRON)公司的发展小趣事

随着公司业务的不断发展,诚润电子开始积极拓展海外市场。他们通过参加国际展会、与海外客户建立合作关系等方式,逐渐将产品推向全球。在这个过程中,诚润电子不仅提升了自身的品牌知名度,还积累了丰富的国际市场经验。如今,诚润电子的产品已经出口到多个国家和地区,成为了全球电子保护元件领域的重要供应商之一。

德芯半导体(Doeshare)公司的发展小趣事

德芯半导体自成立以来,就致力于半导体技术的研发与创新。公司拥有一支由电子学材料学博士、硕士和教授组成的专家团队,他们不断在半导体MEMS技术上取得突破。这些技术创新不仅推动了产品的发展,还使德芯半导体在智能家居、智能制造等领域的应用中取得了显著的成绩。公司通过与国内外先进企业的合作,采用OEM的合作方式,委托完成关键的工序工艺,确保了产品的高品质。

Cree(科瑞)公司的发展小趣事

如今的Cree已经成为宽带隙半导体的创新者,专注于碳化硅和氮化镓材料、功率和射频应用的设备以及特种照明级LED产品的研发和生产。其产品在运输、电源、逆变器和无线系统等领域有着广泛的应用。同时,Cree的LED产品也专门用于室内和室外照明、电子标牌和信号以及视频显示器等。作为市场上领先的照明革新者与半导体制造商,Cree通过显著提高固态照明、电力及通讯产品的能源效果来提升其价值,展现了其在电子行业中的卓越地位和创新实力。

问答坊 | AI 解惑

热门设计文章抢先下载拉!

特定人语音识别技术在汽车控制上的应用 DVD处理器ES60X8在汽车音响系统中的设计 汽车运行状况图像监测系统的设计…

查看全部问答>

应用层 如何与 驱动层 异步通讯 。只要驱动层有“信息”就向应用层发送

比喻驱动程序读到指定的某个东西就向应用程序发送 接受后应用程序再处理 求解 有代码最好了 谢谢拉…

查看全部问答>

串口联网模块介绍(转载)

1.什么是串口联网模块     串口对于电子工程师来说再熟悉不过,Serial、UART、RS232、EIA-RS-232C、COM这些都是串口的名字。串口由于其使用引脚少(只有RXD、TXD两根线),协议简单,被广泛地应用于电子设备的数据传输中,电子设备通过 ...…

查看全部问答>

关于对TCP/IP协议栈问题

对于嵌入的TCP/IP协议栈目前提供了2种API,一种标准的socket API,Itron API,利用Itron API编写了一个sample(TCP4 server),烧入开发板后,自己在PC上写了一个利用标准windows socket API编写的TCP4 Client sample,利用客户端对server发包,server ...…

查看全部问答>

终于收到solaris10的光盘了,散分庆祝!!!

明天收到的,去年底申请的,三个多月啊。55555~~~~~ 一共三张DVD,两张OS盘一张 for x86的,一张for sparc的.一张开发工具盘,含sun one studio , netbean等等一大堆。可惜这里不能贴图,真想发上来给大家看看。 想要的xdjm快到 http://www.sun.co ...…

查看全部问答>

activesync连接问题,没有USB cable选项

我的CE系统控制面板里->网络拨号连接里->选择设备选项里只有serial cabel而没有USB cabel这项,但我现在想用USB线来同步,请问如何解决,是不是在定植OS的时候添加某个特征 或者改注册表,如何改(平台:s3c2410,CE5.0)…

查看全部问答>

低功耗的问题

各位好: 我现在碰到一个问题,是这样的,我用149,带一个LCD屏,我只要一执行LCD打开函数,电流就会达到1点几个毫安,如果不执行LCD打开函数就几个微安。 另外,我做了如下测试:我执行LCD打开函数,我另外写了一个函数就是将所有的IO引脚 ...…

查看全部问答>

这个C语言的小问题,一直没搞懂。困惑了好久啊

if((P1IFG&0x0002)==0x0002) 0X0002转成二进制是10 请问P1IFG值为多少时,这个条件语句为真 这条语句0x02&0x002==0x0002为真吗? 同样的 00000010b&000000000010b==0000000000000010b吗   好久了,一直没有搞懂的一个小问题,望 ...…

查看全部问答>

程序

好久没写过程序了,,,突然让写 心里发慌。 [ 本帖最后由 zixialong 于 2012-10-27 09:30 编辑 ]…

查看全部问答>