自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 关于tiny210在Linux系统下pingPC不通的解决方法

在PC的IP地址和开发板的IP地址设置为同网段的情况下,即开发板:inet addr:192.168.1.XXXPC :ip地址(l):192.168.1.XXX然而,在secureCRT中输入ping 192.168.1.110,pingPC还是ping不通,但是在PC的mcd下ping开发板却可以ping通,如下图也就是说PC可以ping通开发板,开发板却不能ping通PC。解决办法:1、先关闭防火墙(我关了防火墙还是没用)2、然后在 控制面板\系统和安全\Windows Def

2020-07-19 19:27:44 223

原创 (9)串口通信详情

一、背景1、介绍通用异步收发器简称 UART,即 UNIVERSAL ASYNCHRONOUS RECEIVER AND TRANSMITTER,它用来传输串行数据。发送数据时,CPU 将并行数据写入 UART,UART 按照一定的格式在一根电线上串行发出;接收数据时,UART 检测另一根电线的信号,将串行收集在缓冲区中,CPU 即可读取 UART获得这些数据。 在 S5PV210 中,UART 提供了 4 对独立的异步串口 I/O 端口,有 4 个独立的通道,每个通道可以工作于 DMA 模式或者中断

2020-07-13 20:11:02 164

原创 (8)初始化系统时钟

一、系统时钟介绍S5PV210 中包含 3 大类时钟:1、MSYS:主系统时钟,用来给 cortex a8 处理器,dram 控制器,3D,IRAM,IROM,中断控制器等提供时钟;2、DSYS:显示相关的时钟,用来给显示相关的部件提供时钟,包括 FIMC,FIMD,JPEG,and multimedile IPs;3、PSYS:外围设备的时钟,用来给外围设备提供时钟,如 i2s, spi,i2c,uart 等。Tiny 210外接的晶振频率(简称 Fin)为 24MHz,通过时钟控制逻辑 PLL

2020-07-12 19:15:42 1837

原创 (7)初始化DRAM并重定位代码到DRAM中

一、DRAM初始化步骤第一步、设置 DRAM Driver Strength( 内存访问信号的强度)第二步、初始化 PHY DLL第三步、初始化 DMC0第四步、初始化 DDR2 DRAM二、相关代码1、dram_init.S#include "s5pv210.h"// MemControl BL=4, 1Chip, DDR2 Type, dynamic self refresh, force precharge, dynamic power down off#define D

2020-07-12 15:11:26 714

原创 (6)代码重定位一(IRAM内部)

一、背景两个概念:运行地址和链接地址。运行地址:程序当前所处的地址,就是程序被下载到的地址。链接地址:程序运行时应该位于的运行地址。对于 S5PV210 而言,启动时只会从 NAND Flash/sd 等启动设备中拷贝前 16K 的代码到 IRAM中,那么当我们的程序超过 16K 怎么办?那就需要我们在前 16K 的代码中将整个程序完完整整地拷贝到 DRAM 等其他更大存储空间,然后再跳转到 DRAM 中继续运行我们的代码,这个拷贝然后跳转的过程就叫重定位。位置无关代码:运行地址与链接地址可以不同

2020-07-11 19:00:36 484

原创 (5)开关icache

一、背景处理器的工作频率一直都在突飞猛进,但是存储器(包含内存、硬盘等)的工作频率却增长缓慢,其实也可以将程序、数据都存储在处理器内部的存储空间中,但是处理器内部的存储空间可谓寸土寸金,为了在价格和性能之间找到一个平衡,现代计算机一般采用多级存储层次。硬盘是最便宜的,所以可以使用大容量的硬盘,但是速度是最慢的;Cache一般是处理器内部的SRAM,成本最高,可以使用的容量有限,但是速度很快,一般可以在一个时钟周期完成访问;内存位于两者之间,速度上优于硬盘,但不如Cache,成本上优于Cache,但不如硬盘

2020-07-11 11:35:08 291

原创 (4)设置栈并用c点亮LED

一、栈的作用1、保存临时变量函数的非静态局部变量以及编译器自动生成的其他临时变量均保存在栈中。2、保存现场CPU 运行的时候,用到了一些寄存器,比如 r0,r1 等等,对于这些寄存器的值,如果你不保存而直接跳转到子函数中去执行,那么很可能就被其破坏了,因为其函数执行也要用到这些寄存器。因此,在函数调用之前,应该将这些寄存器等现场,暂时保持起来(入栈 push),等调用函数执行完毕返回后(出栈 pop),再恢复现场。这样 CPU就可以正确的继续执行了。保存寄存器的值,一般用的是 push 指令,将对应

2020-07-11 00:12:50 198

原创 (3)关闭看门狗并测试栈是否初始化

一、背景看门狗的作用在于监控 CPU 的运行,保证在诸如噪音和系统错误等这样的故障干扰情况下能尽快恢复正常工作。看门狗与 PWM 定时器都能实现定时的功能,两者的区别在于看门狗能发出复位信号而 PWM 定时器不能,后面将会有具体的章节讲解看门狗的定时和复位功能,这里我们只是简单的将其关闭。二、相关寄存器查阅数据手册,关闭看门狗的复位功能只需要将WTCON的bit[0]置0即可三、程序1、start.S/* * 代码:关看门狗并且让LED灯闪烁 * 日期:2020.7.10 * 作者

2020-07-10 16:43:34 271

原创 (2)s5pv210启动过程

一、IROM和IRAMIROM(内部ROM)和IRAM(内部RAM)均为不需要初始化就可以启动的静态内存。现在来看一张图,IROM和IRAM的信息就一目了然了:如上图所示,IROM和IRAM均是在s5pv210内部的,IROM大小为64KB(BL0中为固化代码),IRAM为96KB(BL1/BL2:可以可变大小从引导设备复制到内部SRAM区域。BL1最大。大小为16KB。BL2最大。大小为80KB)。原文:① iROM can do initial boot up : initialize sys

2020-07-08 11:30:28 310

原创 基础(变量和基础数据)

1、变量在c中使用变量是需要先定义变量类型的,比如int、char、float等等;而在python中使用一个变量不需要提前定义,譬如message = "Hello Python world!"print(message)代码中message就是变量,后面相当于给这个变量赋值,所以message是一个字符数组。如果细心点会发现python中的输出函数是print而不是printf,而且神奇的是在pytohon中可以直接这样输出print("I love China")将要输出的内容放在pr

2020-07-06 17:22:27 190

原创 s5pv210交叉编译工具链的安装

一、安装第一步载好名为arm-2009q3.tar.bz2的安装包,存放在D:\Winshare\ARM-s5pv210文件夹,该路径为共享路径(与Linux的共享文件夹)第二步打开Linux,在Linux中输入cd / usr/local,此时进入到该目录下,再创建一个arm目录(mkdir ./arm),cd arm进入arm目录,将共享文件里的安装包复制到此目录下(cp /mnt/hgfs/Winshare/ ARM-s5pv210/ arm-2009q3.tar.bz2 ./)第三步将复

2020-07-06 15:01:21 445

原创 (1)汇编点亮LED

1、查阅原理图、数据手册1.1、因为Tiny 210的LED在核心板上,所以通过通过查阅核心板,获得控制LED的GPIO引脚得知控制LED的主要引脚是GPJ2_(0~3)1.2、查阅s5pv210数据手册(1)首先要明白这里控制LED的寄存器主要有两个:GPJ2CON:设置引脚的状态GPJ2DAT:该寄存器中的内容与GPJ2引脚高低电平状态同步,换句话说就是可以通过在该寄存器中写入内容来控制GPJ2引脚的高低电平,1为高电平,0为低电平。(2)主要寄存器地址GPJ2CON 0x

2020-07-06 12:13:20 2208

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除