裸机开发 :
就是在硬件上面直接运行我们得程序 , 控制我们相关得硬件 , 这个程序执行过程中它是没有再去细分得只有一层, 没有应用层, 内核层, 硬件层之分. 直接访问得是硬件地址, 最典型得就是单片机开发, 裸机开发就是没有操作系统 .
比如通过CPU控制外面的串口设备蜂鸣设备等等, 都是通过一些寄存器, 要看懂寄存器, 首先要看懂它的芯片手册, 看完芯片过后我们要去编程 , 汇编和C ,
两部分 :
核心板 和 外围板
核心板 : CPU , 内存 , FLASH , 产品核心部分
外围板 : 常用的一些外围接口 ,
485总线, 专门用于工业控制的 ,相对于串口来说, 协议本身差不多 , 只不过 485传输的jingyi 更远
HDMI 高清多媒体接口
JTAG 板子什么都没有的时候 , 通过这个口去烧初始的程序, 也可以进行仿真调试
Camera 可以接摄像头
电位器 : 滑动电阻器 ?
Reset 复位按钮 可以复位整个设备
编程的时候怎么去控制这些器件呢 ? 我们程序放到哪个地方呢 ? 我们程序是放到FLASH里面运行的时候是在内存里面 ,CPU主导它的运行, 运行过程中CPU控制外面的这些设备, 那如何去控制, 我们得看的懂CPU跟外部设备是怎么连接得 , “管脚” 连接得, 每个设备都有 “管脚” 连接到CPU上,
CPU和灯是怎么连接得, 我们要看懂电路图,
串口得作用就是开发板 , 会从FLASH里运行程序, 运行过程中 ,我们怎么知道板子相关得运行情况, 通过去串口去看到得,
如何去点亮一个等, 通过点灯得方式,我们知道如何去看电路图, 去看编程手册, 如何进行编程控制,
裸机开发是没有操作系统, 直接编程去控制硬件, 它怎么去开发 , 开发过程中我们要解决什么问题 ?
第一 : 看电路图 ,你要能找到你要控制得硬件在哪里 ? 要看的懂电路图
具体是CPU得哪个"管脚" 连到设备得哪个管脚 去控制它得 , , 通过某个管脚去控制我们外面得设备, 那CPU内部是怎么去控制管脚得呢 ?我们设备要工作 , 比如说 LED等要点亮,实际上给个高电频就可以了, 让管脚输出高电频,
第二步 : 看芯片手册 , CPU内部有一系列得特殊功能寄存器, 跟之前讲得r0-r11不一样是特殊寄存器,专门去控制外部设备得, CPU通过一系列寄存器, 通过不同得值来控制这个管脚得变化, 也就是说我们要看懂我们得CPU芯片手册, 知道是哪个寄存器去控制它得. 一般寄存器是32位,
接着第三步 : 编程 , 就是编程控制我们得寄存器, 要扔它实现什么功能 ? 就是写不同得值, 编程我们可以通过汇编也可以通过C ,
模拟电路和数字电路
发光二极管, 一端如果接电源, 另外一端接地得话如果接通它就会发光, 这里发光二极管接了一个电阻, 电阻作用是限制它得电流 , 往下走有个地, 中间接了一个三极管, 相当于开关得作用, 这里三极管这里又接了一个管脚, 要使这个灯点亮怎么才能把它点亮 ,默认这个三级管是不通得, , 也就是断开得, 断开得, 发光二极管接不了地, 那么灯是不会发光得, 要使这个三极管发光怎么办? 必须在CHG_COK这个管脚输出一个高电频, 输出高电频之后, 会导致三极管导通, 三极管导通会导致, 二极管和地导通, 导通过后发光二极管就能导到地了, 然后灯就点亮了,
在这里我们也可以 直接把CHG_COK管脚 , 不通过三极管直接接二极管, 输出低电频, 灯就亮了, 那为什么要加三极管呢 ?
主要作用
我们任何一个设备, 它工作得过程中都会有电流通过, 这个电流这个灯 , 要保持亮度就是要保存一定得电流, 你可以把这个电阻 阻值设小一点, 比如这里