朱老师视频笔记
文章平均质量分 61
qq_41680432
这个作者很懒,什么都没留下…
展开
-
S5PV210的向量中断控制器
1、异常处理的2个阶段(1)可以将异常处理分为2个阶段来理解。第一个阶段是异常向量表跳转;第二个阶段就是进入了真正的异常处理程序 irq_handler之后的部分。2、回顾:中断处理的第一阶段(异常向量表阶段)处理。(1)第一阶段之所以能够进行,主要依赖于CPU设计时提供的异常向量表机制。第一个阶段的主要任务是从异常发生到响应异常并且保存 / 恢复现场、跳转到真正的异常处理程序处。...原创 2020-03-28 17:41:17 · 181 阅读 · 0 评论 -
异常向量表编程处理
1、像内存一样去访问异常向量表(1)S5PV210的异常向量表可以改变(在CP15协处理器中),以适应操作系统的需求(因为操作系统建立之前和建立之后操作异常的方法是不一样的,因为操作系统运行起来整个地址变成了虚拟地址,这时候要有一个虚拟地址和物理地址的转换。这些和异常向量表有一定关联,所以异常向量表可以改变的)。但是目前系统刚启动时,此时DRAM尚未初始化,程序都在SRAM中运行,210在iRA...原创 2020-03-25 17:51:58 · 602 阅读 · 0 评论 -
S5PPV210的中断体系介绍
1、什么是中断(1)中断的发明是用来解决宏观上的并行需要的。宏观就是从整体上来看,并行就是多件事情都完成了。(2)微观上的并行,就是指的真正的并行,就是精确到每一秒或每一刻,多个事情都是在同时进行的。宏观上面的并行不等于微观上的并行,有时候宏观上是并行的,微观上是串行的。(3)例子中一个人在看电影,快递来了暂停电影跑去收快递,收完快递继续回来看电影,这个例子就是宏观上的并行和微观上的串行。例...原创 2020-03-24 20:31:01 · 109 阅读 · 0 评论 -
串口输出和按键消抖
1、基于串口标准输出的按键调试(1)以之前的串口stdio的工程为基础来移值添加轮询方式按键处理。(2)注意USB下载方式可能有错误(有可能下载不了,也有可能下载了执行不对),解决方案是用SD卡启动来替代。2、什么是按键消抖(1)按键这种物理器件本身会有抖动信号,抖动信号指的是在电平由高到低(也就是按键按下时)或者电平由低到高(也就是按键弹起时)过程中,电平的变化不是立刻变化,而是经过了一...原创 2020-03-24 16:19:59 · 518 阅读 · 0 评论 -
轮询方式处理按键
1、S5PV210开发板的按键接法(1)查原理图,找到对应的GPIO:SW5:GPH0_2 SW6:GPH0_3 SW(7、8、9、10):GPH2_0123(2)原理图上可以看出:按下时是低电平,弹起时是高电平2、按键对应的GPIO模式设置(1)按键接到GPIO上,按键按下还是弹起,决定外部电路接通与否,从而决定这个GPIO引脚的电压是高还是低;这个电压可以作为这个GPIO引脚的...原创 2020-03-24 00:49:09 · 542 阅读 · 4 评论 -
什么是按键
1、按键的物理特性(1)平时没人按的时候,弹簧把按键按扭弹开。此时内部是断开的。(2)有人按下的时候,手的力量克服弹簧的弹力,将按扭按下,此时内部保持接通(闭合)状态;如果手拿开,则弹簧作用下按扭弹开,同时内部又断开。(3)一般的按键都有4个引脚,这4个引脚成2对:其中一对是常开触点(像上面描述的不按则断开,按下则闭合);一对是常闭触点(平时不按是闭合的,按下后是断开的)3、按键属于输入类...原创 2020-03-22 18:35:19 · 2050 阅读 · 0 评论 -
uart stdio的移植-1
1、什么是stdio(1)、#include <stdio.h>(2)、stdio: standard input output , 标准输入输出。(3)、标准输入输出就是操作系统定义的默认的输入和输出通道。一般在PC机的情况下,标准输入指我键盘,标准输出指的是屏幕。(4)、printf函数和scanf函数可以和底层输入 / 输出函数绑定,然后这两个函数就可以和stdio绑定...原创 2020-03-11 08:31:05 · 498 阅读 · 4 评论 -
S5PV210串口通信编程实战-2
1、串口Tx、Rx对应的GPIO初始化给GPA0CON的相应bit位赋值为相应值,用C语言位操作完成。void uart_init( void ){//初始化Tx、Rx对应的GPIO引脚rGPA0CON &= ~( 0xff << 0 ); //把寄存器的bit0 ~ bit 7全部清零rGPA0CON |= 0x00000022; //0b0...原创 2020-03-09 21:27:35 · 291 阅读 · 0 评论 -
S5PV210串行通信编程实战-1
1、整个程序流程分析:程序是第五章icache项目复制过来的有:clock.S 、led.S、start.S(添加bl main调用)、Makefile(依懒里要添加uart.o和main.o)、mkv210_image.c、多添加一个,uart.c再添加一个main.c调用uart.c(1)、整个串口通信相关程序包含2部分:uart_init负责初始化串口,uart_putc负责发送一个字节...原创 2020-03-09 11:42:06 · 136 阅读 · 0 评论 -
S5PV210串行通信接口详解-3
1、串行通信与中断的关系(1)、串口通信分为发送 / 接收2部分。发送方一般不需要(也可以使用)中断即可完成发送,接收方必须(一般来说必须,也可以轮询方式接收就是CPU一直盯着收)使用中断来接收。(2)、发送方可以选择使用中断,也可以选择不使用中断。使用中断的工作情景是:发送方先设置好中断并绑定一个中断处理程序,然后发送方丢一帧数据给transmitter,transmitter发送耗费一段时...原创 2020-03-08 20:17:50 · 259 阅读 · 0 评论 -
S5PV210串口通信接口-2
1、本来串口功能就是上节讲的部分,但是后来的技术发展给串口叠加了一些高级功能,在像210这类高级SOC的串口控制器中,都有这类高级功能。2、FIFO模式及其作用(1)、典型的串口设计,发送 / 接收缓冲区只有1个字节,每次发送 / 接收只有处理一帧数据。这样在单片机中设计没什么问题,但是到复杂SOC中(一般有操作系统)就会有问题,会导致效率低下,因为缓冲区太小CPU需要不断切换上下文。(2)...原创 2020-03-08 15:22:12 · 213 阅读 · 0 评论 -
S5PV210串行通信接口_1
1、串口的名称:(1)、S5PV210数据手册中串口控制器在section 8.1(2)、串口的官方名称叫:universal asynchronous reciver and transmitter 通用异步收发器,英文缩写是uart,中文简称串口。2、S5PV210的串口控制器工作原理框图:(1)、整个串口控制器包含transmitter和reciver两部分,两部分功能彼此独立,t...原创 2020-03-08 13:11:27 · 156 阅读 · 0 评论 -
串口通信的基本原理
1、单工通信和双工通信:单工就是单方向,双工就是双方同时收发,同时只能有一方发送但是方向可以改变叫半双工,如果A只能发B只能收则单工,A发B收或B发A收(两个方向不能同时)叫半双工,A发B收同时B发A收叫全双工。2、三根通信线:Rx Tx GND(1)、任何通信都要有信息传输载体,或者是有线的或者是无线的。(2)、串口通信是有线通信,是通过串口线来通信的。(3)、串口通信线最少需要两2根(...原创 2020-03-07 11:42:01 · 6106 阅读 · 1 评论 -
串口通信基本概念2
1、串口通信的特点:异步、串行、电平信号(1)、异步:串口通信的发送方和接收方之间没有统一的时钟信号。(2)、电平信号:串口通信出现的时间较早,速率较低,传输距离较近,所以干扰还不太明显,因此当时使用了电平信号传输。后期出现的传输协议都改成差分信号传输了。(3)、串行通信:串行通信每次同时只能传输1个二进制位。2、RS232电平和TTL电平(1)、电平信号是用信号线电平减去参考线电平得到...原创 2020-03-04 23:46:52 · 545 阅读 · 0 评论 -
涉及串口通信的基础概念1
1、通信的发展历史(1)、最早通信:烽火台、狼烟:信件:电子通信(电报、电话、网络信号)(2)、通信中最重要的两个方面:信息表示、解析方法 + 信息传输方法(3)、通信双方事先需要约定好信息的表示方法和解析方法,做到一致,否则信息不能有效传递(4)、信号的传输方法是指经过编码后的通信信息如何在传输介质上传输的过程。总结:通信过程其实分为三个步骤:首先发送方按照信息编码方式对有效信息进行编...原创 2020-03-04 22:55:51 · 122 阅读 · 0 评论 -
汇编实现时钟代码详解
1、实验项目文件介绍:文件包括mkv210_image.c 、Makefile(在这里第一行的依赖里要添加clock.o)、 led.c、 start.S(这里面用bl调用clock.S中实现时钟设置的函数)、 (这几个文件是在汇编写启动代码之开iCache复制来的),增加了一个clock.S2、宏定义的应用:寄存器访问:时钟模块基地址(ARM里面所有的寄存器都是按模块分的,每个模块里的寄存器...原创 2020-03-03 23:34:21 · 2038 阅读 · 0 评论 -
时钟设置的关键性寄存器
1、xPLL_LOCK:xPLL_LOCK寄存器主要控制PLL锁定周期的。注(这里的x代表A、M、E、V)2、xPLL CON / xPLL CON0 / xPLL CON1xPLL_CON寄存器主要用来打开 / 关闭PPL倍频电路,设置PLL的倍频参数,查看锁定状态等。3、CLK_SRC(n ~ 6)CLK_SRC寄存器是用来设置时钟来源的(这里是N选一选那个),对应时钟框图的MUX开...原创 2020-03-03 00:17:50 · 708 阅读 · 0 评论 -
s5pv210时钟体系框图详解
1、两张图之间是渐进的关系。第一张图从左到右依次完成了原始时钟生成——>PLL倍频得到高频时钟——>初次分频得到各总线时钟;第二张图是从各中间时钟(第一张图中某个步骤生成的时钟)到各外设自己使用的时钟(实际就是个别外设自己再额外分频的设置)。第一张图是理解整个时钟体系的关键,第二张图是进一步分析各外设时钟来源的关键。2、要看懂时钟体系框图,2个符号很重要:一个是MUX开关,另一个是D...原创 2020-03-02 22:14:48 · 253 阅读 · 0 评论 -
S5PV210时钟域详解
1、MSYS域:ARMCLK: 给CPU内核工作的时钟,也就是所谓的主频。HCLK_MSYS: MSYS域的高频时钟。给(DMC0和DMC1)使用。PCLK_MSYS: MSYS域的低频时钟。HCLK_IMEM: 给iROM和iRAM(合称iMEM)使用。2、DSYS域:HCLK_DSYS: DSYS域的高频时钟。PCLK_DSYS: DSYS域的低频时钟。3、PSYSHC...原创 2020-02-22 12:47:24 · 239 阅读 · 0 评论 -
S5PV210的时钟系统简介
1、时钟域:MSYS、DSYS、PSYS(1)因为S5PV210的时钟体系比较复杂,内部外设模块太多,因此把整个内部的时钟划分为3大块叫做3个域。(2)MSYS:CPU(Cortex-A8内核)、DDR控制器(DMC0和DMC1)、iRAM和iROM等。(3)DSYS:都是和视频显示、编减码等有关的模块。(4)PSYS:和内部的各种外设时钟有关。如:串口、SD接口、I2C、AC97、USB...原创 2020-02-21 23:39:46 · 329 阅读 · 0 评论 -
SoC时钟系统简介
1、什么是时钟?SoC为什么需要时钟?(1)时钟是同步工作系统的同步节拍(军训的步调节拍)。(2)SoC内部有很多器件,譬如CPU、串口、DRAM控制器、GPIO等内部外设,这些东西要彼此协同工作,需要一个同步的时钟系统来指挥。这个就是我们SoC的时钟系统。2、时钟一般如何获得(1)SoC的时钟获得一般有:*外部直接输入时钟信号,SoC有个引脚用来输入外部时钟信号,用的很少。*外部晶...原创 2020-02-21 22:22:24 · 687 阅读 · 0 评论 -
SDRAM初始化
1、原理图中SDRAM相关部分S5PV210共有两个内存端口(就像是两个内存插槽)再结合数据手册中内存映射部分,可知,两个端口分别叫DRAM0和DRAM1:DRAM0:地址范围:(0x20000000 ~ 0x3FFFFFFF) (512 MB) 对应引脚Xm1 XXXDRAM1:地址范围:(0x40000000 ~ 0x7FFFFFFF)(1024 MB 也就是1G),对应引脚X...原创 2020-02-21 21:33:49 · 243 阅读 · 0 评论