![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
嵌入式
poi_carefree
什么都想开发的小白程序员
展开
-
嵌入式的学习规划
规划原创 2017-12-24 12:52:49 · 566 阅读 · 0 评论 -
ARM裸机-9.SD卡启动详解
1.主流的外存设备介绍 内存和外存的区别:一般是把这种RAM(random access memory,随机访问存储器,特点是任意字节读写,掉电丢失)叫内存,把ROM(read only memory,只读存储器,类似于Flash SD卡之类的,用来存储东西,掉电不丢失,不能随机地址访问,只能以块为单位来访问)叫外存1.1、软盘、硬盘、光盘、CD、磁带 (1)存储原理大...原创 2018-05-02 23:27:14 · 1257 阅读 · 0 评论 -
ARM裸机-10.NandFlash和iNand
1.NandFlash的接口1.1、Nand的型号与命名 (1)Nand的型号命名都有含义,就拿K9F2G08来示例分析一下:K9F表示是三星公司的NandFlash系列。2G表示Nand的大小是2Gbit(256MB)。08表示Nand是8位的(8位就是数据线有8根) (2)Nand命名中可以看出:厂家、系列型号、容量大小、数据位数。1.2、Nand的数据位 ...原创 2018-05-04 00:04:39 · 262 阅读 · 0 评论 -
ARM裸机-8.定时器、看门狗和RTC
1.什么是定时器(timer)1.1、定时器是SoC中常见外设(1)定时器与计数器。计数器是用来计数的(每隔一个固定时间会计一个数);因为计数器的计数时间周期是固定的,因此到了一定时间只要用计数值×计数时间周期,就能得到一个时间段,这个时间段就是我们定的时间(这就是定时器了)。(2)定时器/计数器作为SoC的外设,主要用来实现定时执行代码的功能。定时器相对于SoC来说,就好象闹钟相对于人来说意义一...原创 2018-04-26 21:33:24 · 685 阅读 · 0 评论 -
ARM裸机-11.I2C通信
1.什么是I2C通信1.1、物理接口:SCL + SDA (1)SCL(serial clock):时钟线,传输CLK信号,一般是I2C主设备向从设备提供时钟的通道。 (2)SDA(serial data): 数据线,通信数据都通过SDA线传输1.2、通信特征:串行、同步、非差分、低速率 (1)I2C属于串行通信,所有的数据以位为单位在SDA线上串行传输。...原创 2018-05-20 15:59:55 · 249 阅读 · 0 评论 -
ARM裸机-13.LCD
1.LCD简介1.1、什么是LCD? (1)LCD(Liquid Crystal Display)俗称液晶. (2)液晶是一种材料,液晶这种材料具有一种特点:可以在电信号的驱动下液晶分子进行旋转,旋转时会影响透光性,因此我们可以在整个液晶面板后面用白光照(称为背光),可以通过不同电信号让液晶分子进行选择性的透光,此时在液晶面板前面看到的就是各种各样不同的颜色,这就是LC...原创 2018-06-12 23:40:35 · 362 阅读 · 0 评论 -
ARM裸机-14.shell原理和问答机制引入
16.1.shell是什么鬼16.1.1、壳与封装(1)shell就是壳的意思,在计算机中经常提到shell是用户操作接口的意思。(2)因为计算机程序本身很复杂,里面的实现和外面的调用必须分开。接口本身就是对内部复杂的实现的一种封装,外部只需要通过接口就可以很容易的实现效果,但是却不用理会内部实现的复杂性和原理。16.1.2、程序或操作系统的用户接口(1)操作系统运行起来后都会给用户提供一个操作界...原创 2018-06-13 23:20:56 · 245 阅读 · 0 评论 -
ARM裸机-12.ADC
1.ADC的引入1.1、什么是ADC (1)ADC:analog digital converter,AD转换,模数转换(也就是模拟转数字) (2)CPU本身是数字的,而外部世界变量(如电压、温度、高度、压力···)都是模拟的,所以需要用CPU来处理这些外部的模拟变量的时候就需要做AD转换。1.2、为什么需要ADC (1)为了用数字技术来处理外部的模拟物理...原创 2018-05-31 23:17:43 · 284 阅读 · 0 评论 -
VMWare共享文件夹使用
当我们裸机安装了Windows,并且在Windows中安装了虚拟机软件VMWare,并且在虚拟机中安装了ubuntu后。我们一般在Windows中编辑源代码,而在linux中编译、执行源代码。这时候就需要在Windows和linux之间进行交互。 怎么来进行交互呢?之前通过smb服务器,现在通过VMWare的共享文件夹就可以轻松实现。怎么建立Windows的共享文件夹? 第一步:先...原创 2018-07-22 13:41:13 · 1436 阅读 · 0 评论 -
C语言基础补充 - 1.Linux下C语言写代码步骤
第一步:编辑源代码(使用vi或者其他编辑器)第二步:编译。编译就是用编译器把源程序转化成可执行程序的过程,编译要用到编译器。我们在linux中使用编译器一般是gcc。譬如:gcc hello.c 把当前目录下hello.c文件编译,得到的可执行文件名字叫a.out也可以自己指定编译后生成的可执行程序的名字,使用gcc hello.c -o hello第三步:执行编译生成的可执行程序...原创 2018-07-22 13:57:44 · 320 阅读 · 0 评论 -
C语言基础补充 - 2.变量和常量以及嵌入式中常用的关键字
1、变量变量,指的是在程序运行过程中,可以通过代码使它的值改变的量。1.1、局部变量定义在函数中的变量,就叫局部变量。1.1.1、普通局部变量(auto)普通的局部变量定义时直接定义,或者在定义前加auto关键字 void func1(void){ int i = 1; i++; printf("i = %d.\n", i);}局部变...原创 2018-07-22 14:41:25 · 242 阅读 · 0 评论 -
C语言基础补充 - 3.多文件C语言项目
1、简单的C语言程序(项目)只有一个C文件(a.c),编译的时候gcc a.c -o a,执行的时候./a2、复杂的C语言程序(项目)是由多个C文件构成的。譬如一个项目中包含2个c文件(a.c, b.c),编译的时候 gcc a.c b.c -o ab,执行的时候 ./ab 实验:在a.c和b.c中分别定义main函数,各自单独编译时没问题;但是两个文件作为一个项目来编译gcc...原创 2018-07-22 14:57:13 · 436 阅读 · 0 评论 -
ARM裸机-7.按键和CPU的中断系统
1.什么是按键1.1、按键的物理特性(1)、平时没人按的时候,弹簧把按键按钮弹开。此时内部断开的。(2)、有人按下的时候,手的力量克服弹簧的弹力,将按钮按下,此时内部保持接通(闭合)状态;如果手拿开,则弹簧作用下按钮又弹开,同时内部又断开。(3)、一般的按键都有4个引脚,这4个引脚成2对:其中一对是常开触点(像上面描述的不按则断开,按下则闭合);一对是常闭触点(平时不按时是闭合的,按下后是断开的)...原创 2018-04-14 13:36:52 · 482 阅读 · 0 评论 -
虚拟机linux上网问题
1、虚拟机linux上网问题1.1、VMware中虚拟机网络的三种设置第一种:桥接(bridged)第二种:NAT第三种:Host only 。该模式下仅主机可以上网,虚拟机不能上网。1.2、虚拟机上网方式1:NAT方式设置步骤:第一步:在菜单栏 虚拟机 -> 设置 -> 硬件 -> 网络适配器,右侧选择NAT模式第二步:转载 2018-01-27 19:03:17 · 190 阅读 · 0 评论 -
Linux基础-4.常用命令
1、ls (list、列表) 作用:使用列表把当前文件夹下所有文件显示出来 ls -a 显示所有文件, 包括隐藏文件 ls -l 已详细信息显示 ls -a -l ls -l -a ls -la原创 2018-01-27 19:02:27 · 242 阅读 · 0 评论 -
ARM裸机-1.ARM体系结构和简单的汇编指令
一、一些专业术语 ROM:read only memory 只读存储器 RAM:ramdom access memory 随机访问存储器 IROM:internal rom 内部ROM,指的是集成到SoC内部的ROM IRAM:internal ram 内部RAM,指的是集成到SoC内部的RAM DRAM:d原创 2018-01-03 21:46:27 · 320 阅读 · 0 评论 -
ARM裸机-2.如何在开发板上刷系统
一.开发板刷系统1 1、什么是刷系统 刷系统就是利用刷机工具,向开发板中烧录预先编译好的系统镜像,使之在开发板上运行起来。 2、串口输出的意义(做系统控制台) 串口是一种硬件通信口,很多年前的时候串口是CPU之间进行通信的主要接口。但是现在因为串口通信的速度很低,所以现在串口主要是用来做程序输出监控、调试。 桌面电脑可以打开一个虚拟控制台,嵌入式系原创 2018-01-03 23:23:31 · 1854 阅读 · 0 评论 -
ARM裸机-4.SDRAM和重定位relocate
1.汇编写启动代码之关看门狗1.1、什么是看门狗? 看门狗(watch dog timer 看门狗定时器)。大家想象这样一个场景:家门口有一只狗,这个狗定时会饿(譬如说2小时一饿),够饿了会胡乱咬死人。人进进出出要想保证安全必须提前喂狗(必须在上次喂过后的2小时内喂狗才行)。如果超时没喂狗就会被咬死,如果提前喂狗没关系,但是本次喂狗时间就会从这里开始计算。 现实原创 2018-01-21 22:03:06 · 291 阅读 · 0 评论 -
64 位操作系统装 dnw_driver 驱动
由于 Windows 64 位操作系统在默认状态下,对于没有数字签名的驱动程序是不能安装成功的。所以在安装驱动前,需要按照如下步骤,暂时跳过数字签名,即可顺利安装成功。以 win10 为例。 首先进入 Windows “设置”界面,点击“更新和安全”。 在“更新和安全”,选择“恢复”属性页中“高级启动”项下面的“立 即启动”按钮。(win7/win8 系统的这个选转载 2018-01-06 15:19:30 · 746 阅读 · 0 评论 -
ARM裸机-3.GPIO和LED
1.裸机实验体验之usb启动配合dnw工具下载 1.1、背景知识介绍 回顾S5PV210的启动方式,必须将OM5打到VCC,才能从USB启动。 S5PV210的启动过程:开机时先执行内部的iROM中的BL0,然后BL0做了一系列的初始化后,再读取外部OMpin的设置来确定用户选择了从哪里启动。当检测到我们设置的是USB启动时,S5PV210就会从USB OTG接口试图原创 2018-01-06 14:51:55 · 351 阅读 · 0 评论 -
ARM裸机-5.时钟系统
1.SoC时钟系统简介1.1、什么是时钟?SoC为什么需要时钟?(1)时钟是同步工作系统的同步节拍。(2)SoC内部有很多器件,譬如CPU、串口、DRAM控制器、GPIO等内部外设,这些东西要彼此协同工作,需要一个同步的时钟系统来指挥。这个就是我们SoC的时钟系统。1.2、时钟一般如何获得(1)SoC的时钟获得一般有: * 外部直接输入时钟信号原创 2018-01-27 17:02:03 · 361 阅读 · 0 评论 -
Linux基础-1.Linux终端快捷操作汇总
移动定位光标在终端中移动光标和定位似乎非常不便,其实不是你想的那样,有很多种方式可以让键盘成为你的好朋友,只是需要掌握正确的方法而已。定位单词在长段的命令中,使用 Ctrl + ← 和 Ctrl + → 可快速将光标定位到命令中单词的首字母或末尾,实现在各单词之间的快速跳动定位。你可以试着在终端中输入 apt-get install build-essential原创 2018-01-27 18:52:27 · 148 阅读 · 0 评论 -
Ubuntu vi 上下左右变ABCD问题解决方法
错误问题:vi上下左右键显示为ABCD的问题解决方法: 只要依次执行以下两个命令即可完美解决Ubuntu下vi编辑器方向键变字母的问题。 一.执行命令 sudo apt-get remove vim-common 二.执行命令 sudo apt-get install vim转载 2018-01-27 18:53:16 · 224 阅读 · 0 评论 -
Linux基础-2.linux中权限表示&管理
1、普通用户与特权用户 su命令切换用户Windows中有普通用户和特权用户,特权用户是Administrator,普通用户可以有很多个。特权用户是系统的管理员,对系统内所有文件具有操作权限。每个普通用户只能处理自己的文件,不能访问其他用户的文件,更不能随意处理操作系统的文件。Linux中也有普通用户和特权用户的区别。特权用户就是root用户。普通用户权限受到限制,譬如说普原创 2018-01-27 18:54:28 · 195 阅读 · 0 评论 -
Linux-vi 高亮设置,显示行号,自动对齐,
1,打开vimrc文件# vi ~/.vimrc2.如果没有该文件则新建一个.vimrc文件3.在文件中添加添加一行:syntax on4,保存退出设置永久显示行号,需要修改vi的配置文件。打开vi的配置文件~/.vimrc,在其中输入set nu即可。:syntax on #开启语法高亮显示:set转载 2018-01-27 18:56:56 · 1371 阅读 · 0 评论 -
Linux基础-3.编辑器vi的使用(vi和vim的联系)
1、 编辑器vi的使用(vi和vim的联系) 什么是编辑器?编辑器就是一款软件,它的主要作用就是用来编辑。譬如编写文件,编写代码。 Windows中的常用编辑器,如自带的notepad。比较好用的notepad++,UltraEditor,SlickEditor Linux中常用编辑器,自带的最古老的vi。比较好用的vim,g原创 2018-01-27 18:58:46 · 254 阅读 · 0 评论 -
补基础之shell和makefile
1. shell介绍1.1. shell是操作系统的命令行(1)shell可以理解为软件系统提供给用户操作的命令行界面,可以说它是人机交互的一一种方式。(2)我们可以使用shell和操作系统、uboot等软件系统进行交互。具体来说就是我们通过shell给软件系统输入命令然后回车执行,执行完成后我们又会回到shell命令行可以再次输入命令执行。(3)上述的操作方式一般情况下很好上述的...原创 2018-10-25 23:14:10 · 239 阅读 · 0 评论