ARM(S5PV210裸机)
文章平均质量分 84
以三星x210开发板为裸板,从最开始的GPIO到深度datasheet解读、包含时钟、中断 、串口、定时器、看门狗和RTC、SD卡启动、Nandflash\Inand、等裸机操作’
MrT_WANG
夫学需静也
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
重定位和链接
指令位置分类指令分为两种:位置无关编码(PIC):汇编源文件被编码成二进制可执行程序时编码方式与位置(内存地址)无关位置相关编码:汇编源文件被编码成二进制可执行程序时编码方式与位置(内存地址)相关在程序设计编译链接过程会给程序一个运行地址,而且必须给编译连接器指定这个地址,最后得到的二进制程序是和指定的链接地址相关的,这个地址叫做”链接地址”。 所以我们在程序编译时其实转载 2017-11-05 17:42:29 · 918 阅读 · 0 评论 -
十五.ARM裸机学习之I2C通信详解
在博客STM32中对IIC做过整理,这里截取复习哈 2017/12/27 22:52 常用的串行总线协议:常用的微机与外设之间进行数据传输的串行总线主要有I2C总线、SPI总线和SCI总线。 其中I2C总线以同步串行2线方式进行通信(一条时钟线,一条数据线)。 SPI总线则以同步串行3线方式进行通信(一条时钟线,一条数据输入线,一条数据输出线)。 SCI总线是以异步方式进行通信(一条数原创 2017-12-29 22:55:26 · 3715 阅读 · 0 评论 -
十四.ARM裸机学习之iNand详解
一、iNand简介2017/12/24 22:20 ** ● iNand、MoviNand、eSSD:** 1.内部为NandFlash芯片,集成块设备存储单元,集成了扩展卡式Flash 的优点 2.即内部采用MLC存储颗粒,外部封装了接口,接口标准统一、通用。 3.接口标准统一(时序、物理封装、引脚定义),以芯片级封装发布 4.芯片内部具有Flash管理模块:具有原创 2017-12-24 22:30:31 · 1306 阅读 · 0 评论 -
十二.ARM裸机学习之SD卡启动详解
一.主流的外存设备发展及介绍2017/12/12 23:08 ** 1.首先,清楚内存和外存的区别:**一般是把这种RAM(random access memory,随机访问存储器,特点是任意字节读写,掉电丢失)叫内存, 把ROM(read only memory,只读存储器,类似于Flash SD卡之类的,用来存储东西,掉电不丢失,不能随机地址访问,只能以块为单位来访问)叫外存 2.存原创 2017-12-24 17:55:43 · 6606 阅读 · 0 评论 -
十三.ARM裸机学习之NandFlash详解
一、Nand Flash简介2017/12/22 23:19 *1.Flash:NandFlash、NorFlash* ● 优点:容量较大,改写速度快等优点,适用于大量数据的存储 ● 缺点:时序复杂,无坏块处理机制,接口不统一 ● NandFlash:MLC(可靠性差,容量大)、SLC(可靠性高、容量小) ● 现在基本都在发展MLC技术二、Nand Flash存原创 2017-12-23 18:39:38 · 3963 阅读 · 1 评论 -
十.ARM裸机学习之中断系统2(S5PV210按键外部中断及中断处理)
一.轮询方式处理按键参考 E:\Linux\8.key_open二.中断方式处理按键 2017/11/21 23:30参考:http://blog.csdn.net/u010479322/article/details/51447181http://blog.51cto.com/9291927/17875231.异常向量表分析: (1)、复位(原创 2017-11-25 16:13:38 · 1512 阅读 · 0 评论 -
十.ARM裸机学习之中断系统1(S5PV210的中断系统详解)
一.轮询方式处理按键参考 E:\Linux\8.key_open//按键的初始化void key_init(void){ // GPH0CON的bit8~15全部设置为0,即为输入模式 rGPH0CON &=~(0xff<<8); // GPH2CON的bit0~15全部设置为0,即为输入模式 rGPH2CON &= ~(0xFFFF<<0); }void key_po原创 2017-11-25 20:58:55 · 1226 阅读 · 0 评论 -
十一.ARM裸机学习之定时器、看门狗和RTC时钟
一、PWM定时器1. S5PV210内部共有5个32bit的PWM定时器。PWM定时器可以生成内部中断。PWM定时器0、1、2、3具有PWM功能,可以驱动外部I/O信号。PWM定时器4是一个无外部引脚的内部定时器。PWM 定时器使用 PCLK_PSYS 作为时钟源。2. 每个定时器有一个由定时器时钟驱动的32位递减计数器。递减计数器的初始值是由TCNTBn自动装载而获得原创 2017-12-11 20:46:40 · 1130 阅读 · 0 评论 -
六.ARM裸机学习之重定位和链接脚本
四.重定位引入和链接脚本在了解重定位之前,必须先区分开链接地址和运行地址,位置有关代码和位置无关代码===============================================链接地址和运行地址:链接地址:指在链接时指定的地址,是我们设想的将来程序要运行的地址。程序中所有标号的地址在链接后便确定了,不管程序在哪运行,都不会改变。使用arm-linux-原创 2017-11-05 22:24:28 · 1228 阅读 · 0 评论 -
五.ARM裸机学习之汇编写启动代码之关看门狗,开iCache,汇编程序和C程序互相调用
a&b:相同为1则为1,否则为0a|b :有1则为1,否则为0a^b: 有1则为1,否则为0常用位运算:与、或、非、移位位与(&) 位或(|) 位非(取反 ~) 移位(左移>)使用位运算实现功能1即bit3为11即bit5为1(1扩展一下:如何只熄灭中间1颗而点亮旁边2颗ldr r0, =((0汇编写代码启动代码之关看门狗一.什么原创 2017-11-05 22:17:09 · 997 阅读 · 0 评论 -
四.ARM裸机学习之Makefile和mkv210_image.c文件详解
一.Makefile的简单使用 2017/10/30 22:00Makefile是用来管理工程的事先编写好一个可执行的.c文件编写创建的Makefile再此输入一下命令,看图Makefile的基本工作原理其一,当我们执行 make xx 的时候,Makefile会自动执行xx这个目标下面的命令语句。其二,当我们make xx的时候原创 2017-10-31 13:30:23 · 947 阅读 · 0 评论 -
九.ARM裸机学习之串口通信详解2(S5PV210串行通信编程详解)
1、整个程序流程分析(1)整个串口通信相关程序包含2部分:uart_init负责初始化串口,uart_putc负责发送一个字节,uart_gec负责接收一个字节。2、串口控制器初始化关键步骤(1)初始化串口的Tx和Rx引脚所对应的GPIO(查原理图可知Rx和Rx分别对应GPA0_1和GPA0_0)(2)GPA0CON(0xE0200000),bit[3:0] = 0b0010 bi原创 2017-11-14 20:15:04 · 1387 阅读 · 0 评论 -
mkv210_image.c文件
/* * mkv210_image.c的主要作用就是由usb启动时使用的led.bin制作得到由sd卡启动的镜像210.bin * * 本文件来自于友善之臂的裸机教程,据友善之臂的文档中讲述,本文件是一个热心网友提供,在此表示感谢。 *//* 在BL0阶段,Irom内固化的代码读取nandflash或SD卡前16K的内容, * 并比对前16字节中的校验和是否正确,正确则继续原创 2017-10-30 21:27:07 · 517 阅读 · 0 评论 -
九.ARM裸机学习之串口通信详解1(串口通信接口及原理框图详解)
一.串口通信的基本概念及原理理解 2017/11/12 22:521.同步通信和异步通信:异步通信:指通信的发送与接收设备使用各自的时钟控制数据的发送和接收过程。为使双方的收发协调,要求发送和接收设备的时钟尽可能一致,即发送方和接收方没有统一的时钟节拍、而各自按照自己的节拍工作。异步通信是以字符(构成的帧)为单位进行传输,字符与字符之间的时间间隔是任意的,但每个字符中的各位是以固定原创 2017-11-12 22:52:38 · 3694 阅读 · 0 评论 -
八.ARM裸机学习之S5PV210的时钟系统2(汇编代码及时钟框图深入理解)
五.汇编实现时钟设置代码详解1.时钟设置的步骤分析:第1步:先选择不使用PLL。让外部24MHz原始时钟直接过去,绕过APLL那条路第2步:设置锁定时间。默认值为0x0FFF,保险起见我们设置为0xFFFF第3步:设置分频系统,决定由PLL出来的最高时钟如何分频得到各个分时钟第4步:设置PLL,主要是设置PLL的倍频系统,决定由输入端24MHz的原始频率可以得到多大原创 2017-11-10 22:04:15 · 826 阅读 · 1 评论 -
八.ARM裸机学习之S5PV210的时钟系统1(原理概念及框图分析)
一.SoC时钟系统简介 2017/11/08 22:261.什么是时钟?SoC为什么需要时钟?时钟是同步工作系统的同步节拍,在SoC的时钟中也是拿来以周期计时的,以确定每个部件的工作能够在同一节奏下。SoC需要时钟是因为SoC工作的时候,需要时钟来确定在那几个周期里面哪一个部件需要干什么事情,各个部件需要协同工作。2、时钟如何产生SoC的时钟获得一般有:* 外部直接原创 2017-11-10 21:54:11 · 2634 阅读 · 0 评论 -
七.ARM裸机学习之SDRAM
一.SDRAM引入SDRAM:Syncronized Dynamic Ramdam Access Memory,同步动态随机存储器DDR:DDR就是DDR SDRAM,是SDRAM的升级版。(DDR:double rate,双倍速度的SDRAM)DDR有好多代:DDR1 DDR2 DDR3 DDR4 LPDDRSDRAM的特性(容量大、价格低、掉电易失性、随机读写、总线式访原创 2017-11-10 16:31:24 · 874 阅读 · 0 评论 -
ARM裸机学习之S5PV210启动方式理解
笔者使用的是朱老师的嵌入式及教程S5PV210一.内存映射专业术语:ROM:只读存储器,例如硬盘RAM:随机访问存储器,例如内存IROM:内部ROM,集成到SoC内部的ROMIRAM:同理DRAM:动态RAM 内存SRAM:静态RAM 内存SROM:sram 和 romDRAM是采用总线型连接,内存映射上有多少空间是DRAM的,那么实际上就只能外接这么多原创 2017-10-24 22:25:42 · 1006 阅读 · 1 评论 -
一.ARM裸机学习之ARM汇编
四.ARM汇编 2017/10/26 22:39汇编指令:CPU指令的助记符 伪汇编指令:本质上不是指令,是编译器环境提供的,目的是用来指导编译过程,经过编译后伪指令最终不会生成机器码ARM汇编的特点1:LDR/STR架构ARM采用RISC架构,CPU本身不能直接读取内存(CISC结构的可以直接读取内存),而需要先将内存中内容载入CPU中通用寄存器才能被CPU执行。转载 2017-10-26 22:40:00 · 844 阅读 · 0 评论 -
二.ARM裸机学习之S5PV210刷机
ARM裸机刷系统(SD卡uboot+串口+usb otg刷机方式) 2017/10/27 23:30(1)工作平台:WIN7(2)驱动工具:USB转串口、USB-OTG驱动。刷机软件:SecureCRT.EXE软件,sd卡制作工具x210_Fusing_Tool.EXE协议 Serial端口 COM2波特率 115200数据位 8奇偶校验 无停止位 1原创 2017-10-28 15:11:59 · 1061 阅读 · 0 评论 -
三.ARM裸机学习之dnw,SD卡工具下载及安装交叉编译工具链
一.裸机实验体验之usb启动配合dnw工具下载 2017/10/30 00:25先将板子硬件设置为USB启动,然后开机,安装dnw驱动,才能使用三星的dnw工具通过usb-otg线下载bin文件到开发板。usb启动方式主要是用来调试程序的,其实分析前面总结的S5PV210启动方式即可知道,我们这里是把裸机程序当作BL1来使用,即BL1的过程:是批在iRAM自动从外扩存储原创 2017-10-30 12:47:48 · 827 阅读 · 0 评论
分享