ARM裸机-10

1、X210开发板和光盘资料

1.1、配置信息

        CPU:三星S5PV210

        内存:512M DDR2 SDRAM

        Flash:4GB iBand

        LCD:7寸,分辨率800x480

        触摸屏:电容触摸屏

2、X210开发板硬件手册

3、X210开发板刷系统

3.1、什么是刷系统

        刷系统就是利用刷机工具,向开发板中烧录预先编译好的系统镜像,使之在开发板上运行起来。

3.2、串口输出的意义(做系统控制台)

        串口是一种硬件通信口,很多年前的时候串口是CPU之间进行通信的主要接口。但是现在因为串口通信的速度很低,所以现在串口主要是用来做程序输出监控、调试。嵌入式系统一般是用串口来做控制台的,用一根串口线连接开发板的串口和我们笔记本的串口,然后在电脑上打开一个串口监视,这样开发板上的串口输出内容就可以在电脑上看到。还可以通过监视终端向开发板输入一些控制命令由开发板执行。

3.3、安装USB转串口线的驱动

        这种线传入电脑后需要安装驱动,安装驱动后在电脑上会形成一个串口 (叫usb转串口),这样就相当于你电脑有了一个串口,可以通过这个串口来监视开发板的串口输出。

注意:

        (1)windows对USB设备的管理是和USB口有关的,你每次把usb转串口线插到同一个口中,这样得到的COM口号码是不变的,方便我们后期使用。如果每次胡乱更换插口,可能得到的COM口会变。

       (2)COM口号码是可以改的,还可以强制占用显示“已使用”的COM号,一般改成COM4以内的就可以了。

3.4、使用SecureCRT

        从网盘下载SecureCRT.rar,解压后直接使用。注册时参考解压包中的说明.txt。

        打开SecureCRT.exe后,建立一个Serial连接,开始监视串口,注意留控一定要去掉,不然什么都看不到。

        开发板这边串口一定要接串口2(官方出厂默认的是烧录镜像都是串口2的),然后开机,就可以看到串口信息了。

3.5、破坏iNand中的bootloader以从SD2启动

        看x210v3s开发板SD卡烧写教程,输入命令:

//进入 android 系统控制台,执行如下指令:
busybox dd if=/dev/zero of=/dev/block/mmcblk0 bs=512 seek=1 count=1 conv=sync
//为了确保执行数据有效,再执行 sync 同步一下,即可破坏掉前一个块的数据。
sync

        解释:这句话的意思就是说把板载的iNand的第一个扇区用全0来填充,其实就是擦除它,这样我们板载的iNand的bootloader的开始第1个扇区就被破坏了。将来启动时iROM还是会先从iNand中读取前16KB,然后计算校验和。这时候因为有1个区被擦掉了所以校验和不通过,所以启动失败 (会从SD2去执行2nd启动)。

        注意:破坏板载iNand的bootloader后,不插外部SD卡,启动时串口得到: SD checksum Error

3.6、制作启动SD卡(其实就是烧录uboot到SD卡中)

        有两种烧写方法:一种是在Windows中用刷卡工具去制作启动SD卡;另一种是在linux中用dd命令。

        这里介绍的是第一种(比较简单)。刷卡工具用的是x210_Fusing_Tool。

        制作完SD后将SD卡插入开发板SD2通道(注意不是SD3),然后开机就可以进入uboot界面了。在uboot开机自动启动倒数3秒之内迅速按下电脑回车键,打断自动启动。 (否则会自动启动iNand中的android)

3.7、fastboot介绍

        fastboot是uboot中用来快速下载镜像的一个命令,fastboot同时还是一个windows上的软件。

3.7.1、fastboot下载时要注意

        (1)fastboot是使用USB线进行数据传输的,所以fastboot执行之前要先连接开发板和主机之间的usb线(usb-otg那根)。
        (2)需要安装驱动。dnw_driver

3.7.2、fastboot常用命令

fastboot devices            //命令用来查看当前连接的设备(我们开发板看到的是:SMDKC110-01)
fastboot flash xxx          //命令用来烧录的
fastboot reboot             //命令用来重启系统

3.7.3、使用fastboot烧录android4.0.4镜像

        在cmd下使用以下三个命令来完成烧录

fastboot flash bootloader android4.0/uboot.bin            //烧uboot
fastboot flash bootloader android4.0/zImage-android       //烧linux kernel
fastboot flash bootloader android4.0/x210.img             //烧android rom
//在这里是把uboot.bin、zImage-android、x210.img都放在了bootloader的根目录下的android4.0文件夹中

3.7.3、使用fastboot烧录linux+QT

fastboot flash bootloader linuxQT/uboot_iland.bin      //烧uboot
fastboot flash bootloader linuxQT/zImage-qt            //烧linux kernel
fastboot flash bootloader linuxQT/rootfs_qt4.ext3      //烧rootfs

        uboot的参数不用特意设置(因为我们刷了转为linux+QT定制的uboot,这个uboot中估计已经预制好了所有的启动参数)

4、X210核心板、底板原理图

        写代码时需要查阅和参考的资料有:核心板原理图、底板原理图、相应硬件的数据手册、S5PV210数据手册

4.1、原理图、PCB图、丝印图各自是什么

        原理图是电路原理设计图,各个电路中的部件的逻辑连接图。

        PCB图是我们用来制作电路板,并且用电路板进行原件焊接,做成最终产品的生产性图纸。先有原理图设计,然后根据原理图来设计PCB图。PCB图是对原理图的一种实现。原理图和PCB图一般都由硬件工程师负责,但是原理图设计时软件工程师会一定程度参与。PCB的设计就完全是硬件工程师的事情了,与软件工程师无任何关系。

        丝印图是PCB图设计中,所有原件的外框的框图。丝印图其实就是整个电路板的实体的位置图纸,与软件和功能无关,与生产制造有关。对软件工程师来说,丝印图可以不理会。

4.2、原理图对嵌入式软件工程师的意义

        原理图是电路的逻辑连接,对于可编程器件来说,不同的电路连接可能意味着不同的编程参数,因此底层软件工程师会需要查阅原理图的接法,从而决定自己的软件怎么写才能正确和硬件通信。

4.3、嵌入式软件开发人员对硬件掌握程度的要求

      软件工程师分应用开发和底层开发两大块。对于应用开发工程师(直接基于操作系统来开发程序,调用操作系统的API和库函数等写代码)来说,硬件完全被操作系统屏蔽了,可以完全不关心硬件,但是对于底层软件工程师(驱动开发的、单片机的、移相操作系统的)来说,看懂原理图和数据手册是非常有必要的,PCB图就没必要会了。  

        注意:一般来说,总工程师都是软硬都会的,这个人一般软件硬件都做过。

5、数据手册

5.1、datasheet(数据手册)的作用

        数据手册一般就是产品(一般是芯片)厂家编写的,对这个产品的所有功能和用法的描述统一说明的文档。

5.2、数据手册的正确读法

        先通读概览,然后根据需要去查阅

        学会利用文档目录

        利用好pdf阅读器的搜索功能

6、usb启动配合dnw工具下载

6.1、背景知识

        回顾S5PV210的启动方式,必须将OM5打到VCC,才能从USB启动。

        S5PV210的启动过程,开机时先执行内部的iROM中的BL0,然后BL0做了一系列的初始化后,再读取外部OMpin的设置来确定用户择了从哪里启动。当检测到我们设置的是USB启动时,S5PV210就会从USB OTG接口试图连接主机进行下载启动。

6.2、dnw工具介绍

        dnw是一个软件,是三星公司编写的,这个软件的功能是通过USB线连接开发板和电脑主机,然后从主机下载文件镜像到开发板中去烧录系统。

        dnw软件使用注意1:dnw是需要usb驱动的,驱动在"X210光盘资料\A盘\tools\USB驱动”目录中

        dnw软件使用注意2:dnw使用时通过usb线下载,所以一定要插USB线。

        dnw软件使用注意3:dnw下载时需要设置dnw下载内存地址。在dnw软件的菜单"Confiquration"中设置Download Address为0xd0020010,确认即可。

6.3、dnw驱动安装

        X210开发板使用了软开关,但是我们这里还没到操作系统没去处理开关,所以在整个裸机实验中必须手工按下POWER键才能保持开机,只要手一抬起来就关机了...

        dnw驱动装好的标志是:开发板开机从usb启动后,设备管理器中显示已经安装的设备,并且关键是dnw工具中USB:OK

        从usb启动做裸机实验时,因为不需要16字节的校验头,所以直接下载到0xd0020010

        usb启动方式主要是用来调试程序的,其实分析S5PV210即可知道,我们这里是把裸机程序当作BL1来使用了。

        

        

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

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

相关文章

记一次centos 磁盘挂载过程

前言 最近买了云服务器磁盘,需要挂载,一下就由大猿来记录这次过程。 挂载过程 查看磁盘挂载情况 查看物理硬盘 lsblkfdisk -l标记分区 fdisk /dev/vdb格式化分区 xfs mkfs.xfs /dev/vdb mkfs.xfs -f /dev/vdbext4 mkfs.ext4 /dev/vdbxfs 和 ex…

一起学算法(顺序表篇)

概念: 1.顺序表的定义 用一段地址连续的存储单元依次存储数据的线性表被称为数据表,在Java中顺序表一般是数组或者是ArrayList实现的 先把代码放这里,接下来一一给大家进行讲解: public class SeqList {private Object[] data;…

网络基础-认识每层的设备和每层的特点用途

目录 网络层次常见设备各层介绍数据链路层网络层传输层应用层 网络层次 常见设备 各层介绍 数据链路层 有了MAC地址。数据链路层工作在局域网中的,以帧为单位进行传输和处理数据。 网络层 网络层有了IP。不同的网络通过路由器连接成为互联网 路由器的功能:   …

如何用C#实现上位机与下位机之间的Wi-Fi通信?

有IP协议支持的话用UDP报文或者TCP直接发IP地址和端口不行么?你说的WiFi难道是2.4GHz频率模块那种东东? 你既然用了wifi,那么只要上位机和下位机的对应wifi网卡都具有ip地址以及其协议支持,那么和网络编程没啥子明显区别的吧………

pycharm制作柱状图

Bar - Bar_rotate_xaxis_label 解决标签名字过长的问题 from pyecharts import options as opts from pyecharts.charts import Barc (Bar().add_xaxis(["高等数学1,2","C语言程序设计","python程序设计","大数据导论",…

【13】STM32·HAL库-正点原子SYSTEM文件夹 | SysTick工作原理、寄存器介绍 | printf函数使用、重定向

目录 1.sys文件夹介绍(掌握)2.deley文件夹介绍(掌握)2.1deley文件夹函数简介2.2SysTick工作原理2.3SysTick寄存器介绍2.4delay_init()函数(F1)2.5delay_us()函数(F1)2.6delay_ms()函…

十大排序|十大排序

稳定排序&#xff1a;冒泡排序、插入排序、归并排序、基数排序、桶排序 不稳定排序&#xff1a;选择排序、快速排序、希尔排序、堆排序 二、插入排序&#xff1a; 代码&#xff1a; #include<iostream> #include<cstdio> #include<stdlib.h> #include<ve…

NLP实战9:Transformer实战-单词预测

目录 一、定义模型 二、加载数据集 三、初始化实例 四、训练模型 五、评估模型 &#x1f368; 本文为[&#x1f517;365天深度学习训练营]内部限免文章&#xff08;版权归 *K同学啊* 所有&#xff09; &#x1f356; 作者&#xff1a;[K同学啊] 模型结构图&#xff1a; &a…

Redis Client List 命令

一、命令基础语法 CLIENT LIST二、示例 redis 127.0.0.1:6379> CLIENT LIST addr127.0.0.1:43143 fd6 age183 idle0 flagsN db0 sub0 psub0 multi-1 qbuf0 qbuf-free32768 obl0 oll0 omem0 eventsr cmdclient addr127.0.0.1:43163 fd5 age35 idle15 flagsN db0 sub0 psub0…

Apikit 自学日记:API 异常监控-创建 API 监控

如何在apikit中&#xff0c;创建 API 监控呢&#xff1f; 创建并开启监控API 一、手动创建监控API Eolink API 网络监控平台支持从 Eolink API Management&#xff08;API管理产品&#xff09;中导入API信息&#xff0c;或者手动创建监控API。 进入API监控页面&#xff0c;点击…

个人中心 - 实现修改用户头像、用户名或密码

目录 1. 修改用户头像 1.1 获取原来的用户头像和用户名 1.2 实现保存头像 2. 修改用户名或密码 1. 修改用户头像 本文是针对之前的一篇项目博客 - 博客系统 做的一个扩展功能. 1.1 获取原来的用户头像和用户名 想要修改头像, 那么就得先获取数据库中原来的头像, 此处顺便…

mysql进阶-修改linux服务器中MySQL的字符集

1.背景 linux中mysql8默认的字符集是latin1&#xff0c;在插入中文时会报错&#xff0c;所以一般在配置好mysql时需要修改字符集为utf8【又叫utfmb3,一般开发够用&#xff0c;一个字符用3个字节表示】或者utfmb4【一个字符用4个字节表示&#xff0c;如果存储emoji表情&#xf…

双网卡如何配置DNS?我是一个仅主机模式配置静态(static)IP、一个NET或桥接(dhcp获取)

目录 一、所有主机初始化 二、135、136服务器&#xff0c;部署DNS调度服务器 1、更改主机主从DNS服务器的主机名称 2、安装bind软件、修改主配置文件 3、修改区域配置文件 4、修改数据文件 5、启动named服务、修改网卡信息 6、解析 7、双网卡的话记得注释以下内容、注…

基于ArcGIS土地利用量化人类活动的分析及模型构建

ArcGIS产品线为用户提供一个可伸缩的&#xff0c;全面的GIS平台。ArcObjects包含了许多的可编程组件&#xff0c;从细粒度的对象&#xff08;例如单个的几何对象&#xff09;到粗粒度的对象&#xff08;例如与现有ArcMap文档交互的地图对象&#xff09;涉及面极广&#xff0c;这…

容器部署jenkins定时构建于本地时间不一致

1. Dockerfile FROM jenkins/jenkins:2.411-jdk11 USER root #以下生成密钥方式为旧格式&#xff0c;因为新格式暂不能被"Publish over SSH--->Jenkins SSH Key"功能识别 RUN ssh-keygen -q -m PEM -t rsa -b 2048 -N -f /root/.ssh/id_rsa ADD ./apache-maven…

【uniapp】实现买定离手小游戏

前言 最近玩了一个小游戏&#xff0c;感觉挺有意思&#xff0c;打算放进我的小程序【自动化小助手】里面&#xff0c;“三张押一张&#xff0c;专押花姑娘&#xff01;”&#xff0c;从三张卡牌&#xff0c;挑选一张&#xff0c;中奖后将奖励进行发放&#xff0c;并且创建下一…

减轻 PWM 的滤波要求

经典脉宽调制器 (PWM) 发出 H 个连续逻辑高电平&#xff08;1&#xff09;&#xff0c;后跟 L 个连续逻辑低电平&#xff08;0&#xff09;的重复序列。每个高电平和低电平持续一个时钟周期 T 1/F (Hz)。结果的占空比可定义为 H/N&#xff0c;其中 N HL 时钟周期。N 通常是 2…

【面试】某公司记录一次面试题

文章目录 框架类1. Spring boot与 spring 架相比&#xff0c;好在哪里?2. Spring boot以及 Spring MVC 常用注解(如requestingMapping&#xff0c;responseBody 等)3. 常用的java 设计模式&#xff0c;spring 中用到哪些设计模式4. SpringIOC是什么&#xff0c;如何理解5. AOP…

设计模式之外观模式

外观模式 本质&#xff1a; 封装交互&#xff0c;简化调用 何时使用外观模式 相关模式 外观模式经典代码&#xff1a; package com.tao.design.facade;/*** projectName: DesignMode* package: com.tao.design.facade* className: ServiceA* author: TT_Hugo* description…

替换linux的文泉驿正黑fonts-wqy-zenhei字体 替换linux默认中文字体

WSL 怎么替换 linux 的文泉驿正黑 fonts-wqy-zenhei 字体 WSL 怎么替换 linux 默认中文字体 在 wsl 中默认是没有 gnome 界面或者 xface 的&#xff0c;但是我需要使用 wsl 开发 electron 或者使用 chrome 浏览器。这个时候系统就会调用默认的系统字体了。 我使用的是 debian…