
s3c2440裸板操作
乱世半仙
人生最大的悲哀莫过于坚持了不该坚持的,放弃了不该放弃的
展开
-
第十二课JZ2440裸板开发之I2C
一、I2C基本知识1、iiciic的实质是串口通信的一种方式。IIC 即Inter-Integrated Circuit(集成电路总线) I2C总线是PHLIPS公司推出的一种串行总线,I2C总线只有两根双向信号线。一根是数据线SDA,另一根是时钟线SCL。2、物理接口(1)SCL(serial clock):时钟线,传输CLK信号,一般是I2C主设备向从设备提供时钟的通道。(2)SDA(serial data): 数据线,通信数据都通过SDA线传输3、通讯特征(1)串口通讯数据传输以字节为原创 2020-08-17 09:35:43 · 364 阅读 · 0 评论 -
第十一课JZ2440裸板开发发之Nand flash
一、NAND FLASH介绍1.1、原理图1.2 引脚功能介绍上节课我们介绍了nor flash与 nand flash的区别,这里不再继续介绍,这里主要介绍一下该开发板的NAND FLASH。我们先介绍一下所有的引脚。(1)我们可以看到,原理图中只有IO数据线,我们知道操作内存类接口的一般方式都是发命令、地址、数据,这里命令跟地址怎么发送呢?其实也是通过IO发送,只不过需要ALE、CLE的配合使用。引脚作用IO传输数据、地址、命令ALEALE高电平时,若CLE为低原创 2020-08-12 13:42:54 · 289 阅读 · 0 评论 -
第十课JZ2440裸板开发之nor flash
一、flash介绍常用的Flash类型有Nor Flash和NAND Flash两种,区别大致如下:Flash存储器件由擦除单元(也称为块)组成,当要写某个块时,需要确保这个块己经被擦除。Nor Flash的块大小范围为64kB、128kB:NAND Flash的块大小范围为8kB,64kB,擦/写一个Nor Flash块需4s,而擦/写一个NAND Flash块仅需2ms。Nor Flash的块太大,不仅增加了擦写时间,对于给定的写操作,Nor Flash也需要更多的擦除操作——特别是小文件,比如一原创 2020-08-11 16:27:09 · 645 阅读 · 1 评论 -
第九课JZ2440裸板操作之重定位
前言,这节课会涉及到重定位、位置无关码,不是很了解的请先看我的这篇文章:链接地址、运行地址、加载地址、存储地址、位置相关与位置无关一、重定位引入首先我们知道我们的代码是烧写在flash中的,而且我们的设备是区分nor flash与nand flash;nor启动:如果我们使用nor启动,这时nor flash就会被映射成0地址,但是由于nor flash特性,我们不能按照SDRAM对nor flash进行写操作,所以需要将全局变量及静态变量放到SDRAM中。nand启动:如果我们使用nand启原创 2020-08-11 16:26:26 · 290 阅读 · 0 评论 -
第八课JZ2440裸板开发之SDRAM
一、SDRAM介绍JZ2440上使用的SDRAM如下:JZ2440开发板上使用的是EtronTech公司的EM63A165TSSDRAM芯片,该芯片是一个16M x 16 bit Synchronous DRAM (SDRAM)的芯片,就是说共有16M存储单元,每个存储单元的数据宽度是16bit,即整个芯片大小是32MB。我们的开发板由两个16位的SDRAM组成一个32位的SDRAN,大小为64M,我们也可以计算出来,使用到的地址线是0-14 一共15根,所以每个SDRAM的大小就是2^15=3276原创 2020-08-11 08:45:19 · 807 阅读 · 0 评论 -
第七课JZ2440裸板开发之内存控制器
一、内存控制器1.1s3c2440内存控制器介绍如图是2440的片上系统,有GPIO控制器(接有GPIO管脚),有串口控制器 (接有TXD RXD引脚)。对于cpu来说,他只管发出地址信息,至于这个地址是哪里的,这是由内存控制器进行选择的,内存控制器会根据不同的地址选择不同的模块,然后跟这些模块进行通信。如图,SDRAM、DM9000网卡、Nor Flash都接在JZ2440的数据总线和地址总线上,CPU把数据和地址发送出去,然后内存控制器根据片选信号选择相应的设备接收地址和数据信号,互不干扰。原创 2020-08-10 21:34:27 · 240 阅读 · 0 评论 -
第六课JZ2440裸板开发之UART
一、协议简介1.1原理图UART的全称是Universal Asynchronous Receiver and Transmitter,即异步发送和接收。原理图如下:通过TxD->RxD把ARM开发板要发送的信息发送给PC机。通过RxD->TxD线把PC机要发送的信息发送给ARM开发板。最下面的地线统一参考地。1.2 参数波特率:一般选波特率都会有9600,19200,115200等选项。其实意思就是每秒传输这么多个比特位数(bit)。起始位:先发出一个逻辑”0”的信号,表示原创 2020-08-10 21:34:02 · 376 阅读 · 0 评论 -
第五课jz2440裸板开发之时钟体系
一、芯片手册及原理图1.芯片手册1.1时钟体系介绍S3C2440是System On Chip(SOC),在芯片上不仅仅有CPU还有一堆外设。至于有哪些外设,可以查看参考手册。在S3C2440参考手册的第一章PRODUCT OVERVIEW里面有个BLOCK DIAGRAM图:AHB BUS,H即为High,高速之意,工作于HCLK;下面的是一些对性能要求不那么高的低速设备,在APB BUS,P即为Peripheral之意,工作在PCLK。在参考手册的特性里介绍了S3C2440的工作频率,Fc原创 2020-08-10 09:18:15 · 305 阅读 · 2 评论 -
第四课jz2400裸板开发之按键
一、原理图及芯片手册分析开发板一共有四个按键 s2 s3 s4 s5,我们今天使用s2来进行开发测试。1.原理图分析由原理图可以看到,三个EINT0标号相连,按键未按下时,GFP0引脚外接3.3V,为高电平,当按键按下后,与地相连,为低电平。所以我么你可以设置GFP0引脚为输入模式,通过读取GPF0引脚的电平来判断按键是否按下,当为低电平的时候,表示按键按下。2.分析芯片手册我们打开芯片手册,找到GPF0引脚如图:看芯片手册知道我们要设置GPFCON寄存器[1:0]位为00,由于这里默认原创 2020-08-06 21:47:05 · 324 阅读 · 0 评论 -
第三课jz2440裸板开发之点亮led灯
一、原理图及芯片手册分析1.1 原理图部分我们这里打算点亮LED灯,所以先查看了原理图,找到LED部分:从原理图中可以看到,led灯一边接着一个3.3V的电源,另一边接着GPIO口,如下所示:LED1对应GPF4LED2对应GPF5LED4对应GPF6所以我们响点亮led灯,就需要设置GPF4、GPF5、GPF6这三个引脚为输出模式,当输出高电平的时候,三极管不同,灯灭,当输出低电平的时候,三极管导通,灯亮。1.2 芯片手册部分这里我们打开S3C2440芯片手册(芯片手册及原理图下载地原创 2020-08-05 21:54:12 · 636 阅读 · 0 评论 -
第二课JZ2440裸板开发之编译环境搭建
前言:本文用到的交叉编译器的下载地址如下:arm-linux-gcc-4.3.2下载地址这里搭建编译环境,我使用的是虚拟机,所以需要在虚拟机中安装交叉编译器,然后配置一下相关的文件,具体步骤如下:第一步:下载并解压交叉编译器第二步:使用vim ~/.bashrc,然后在最后添加环境变量PATH的值,PATH值修改如下:...原创 2020-08-05 21:50:47 · 497 阅读 · 0 评论 -
第一课jz2440裸板开发之开发板熟悉与文件下载
前言:最近搞uboot,发现前面看视频学的2440裸板操作有些忘记了,所以决定还是从头写一遍笔记,记录一下学习过程,一共大概十几篇文章,都会在近期总结完。目录:一、开发板介绍与串口连接下面两个图是截取的开发板说明书中的内容,很详细的介绍了开发板的板载资源:板载资源8是一个usb转串口,我们可以连接这个usb口查看打印信息,我平时使用的是Xshell软件。二、程序烧写...原创 2020-08-04 22:07:04 · 665 阅读 · 0 评论