s3c2440专题

s3c2440---中断控制器

一、概述 S3C2440A 中的中断控制器接受来自 60 个中断源的请求。提供这些中断源的是内部外设,如 DMA 控制器、 UART、IIC 等等。 在这些中断源中,UARTn、AC97 和 EINTn 中断对于中断控制器而言是“或”关系。 当从内部外设和外部中断请求引脚收到多个中断请求时,中断控制器在仲裁步骤后请求 ARM920T 内核的 FIQ 或 IRQ。 仲裁步骤由硬件优先级逻辑决定

s3c2440---PWM使用之蜂鸣器驱动移植

一、蜂鸣器驱动介绍 1.1.什么是蜂鸣器               蜂鸣器是一种简单的声响发生器,常用于电子产品中作为警示或提醒作用。其基本原理是通过交替改变直流电的电压方向来产生声音,一般使用交替电流产生声音会比较稳定。 1.2.蜂鸣器的类别 1.有源蜂鸣器 1)结构原理 有源蜂鸣器内部自带振荡源,只需接通电源即可发声。内部电路会自动产生一定频率的振荡信号,从而驱动蜂鸣器发声。

嵌入式S3C2440:控制LED灯

发光二极管接口(左端)应为低电平   以LED1为例 LED1的接口为GPB5 void led_init(void){//配置GPB5功能为输出GPBCON &= ~(0x3 << 10);GPBCON |= (0x1 << 10); //使GPB5输出高电平(关灯)GPBDAT |= (1 << 5);}void led_on(void){GPBDAT &= ~(1 <

S3C2440芯片手册词汇

2016年4月26日 small die size​ Instruction Interface  界面、接口   Touch Screen Interface, Camerainterface, IIC-BUS Interface。 a memory complier  存储器单元 CMOS standard cells  CMOS 标准宏单元 adopt 采用 arc

S3C2440裸机------NandFlash编程_擦除与烧写

目录 1.擦除 2.烧写 1.擦除 NandFlash是以块为单位进行擦除的,一个块是128K,从上面的时序图我们可以看到,首先我们要发出60命令,然后发出三个行地址,然后发送D0H,然后等待擦除结束。 int nand_erase(unsigned int addr, unsigned int len){int page = addr / 2048;if (addr & (0

S3C2440裸机------NandFlash编程_芯片id读取

目录 1.芯片id读取时序图  2.使能芯片 3.发送命令函数 4.发送地址函数 5.读数据函数  6.完整代码 1.芯片id读取时序图 我们先看一下NandFlash芯片手册中读取id的时序图,后面我们要根据这个时序图去写代码。  2.使能芯片 从前面的时序图我们可以看出,我们首先要发出片选信号,我们通过设置下图寄存器的Reg_nCE位来进行设置, void n

S3C2440裸机------NandFlash编程_时序及初始化

目录 1.NandFlash初始化  2.NandFlash控制器使能  3.代码 1.NandFlash初始化  Nandflash初始化主要包括时序图的设置和Nandflash控制器的使能,我们首先看一下S3C2440芯片手册里面的时序图。 上图中的HCLK我们已经设置成了100M。那么时钟周期是1/100M=10ns  然后下图是NandFlash芯片手册里面的时序

S3C2440裸机------NandFlash操作原理

目录 1.Nandflash操作原理 2.用UBOOT来体验NAND FLASH的操作 1.Nandflash操作原理 下图是原理图中NandFlash和S3C2440的连接图, 问1. 原理图上NAND FLASH和S3C2440之间只有数据线,      怎么传输地址? 答1.在DATA0~DATA7上既传输数据,又传输地址      当ALE为高电平时传输的是地址, 问2

S3C2440裸机------Nor Flash编程_擦写读

目录 1.读NorFlash 2.擦除Nroflash 3.写NorFlash 4.完整代码 1.读NorFlash 我们首先来实现读flash的函数,我们默认每次读取64个字节,然后我们把读取到的内容打印出来,其中前面打印数值,后面打印字符,对于不可见字符用...代替。 void do_read_nor_flash(void){unsigned int addr;volati

S3C2440裸机------Nor Flash编程_识别

目录 1.编写菜单程序 2.获取容量信息 3.打印各个扇区的起始地址 4.读取设备ID 问题一:程序卡死 问题二:ID读取错误 5.完整代码 1.编写菜单程序 首先我们编写一个测试菜单程序,用来获取norFlash信息以及对NorFlash进行读写操作,代码如下: void nor_flash_test(void){char c;while (1){/* 打印菜单, 供我

s3c2440移植Linux内核之引导

最近想尝试把新的Linux内核移植到tq2440的开发板上,看看还能不能顺利的跑起来。我的基础版本是买板子的时候提供的2.6.30版本,编译器版本是4.3.3.。 下载源码和编译器 下载linux源码,源码的官方网站是The Linux Kernel Archives,官方有多个git分支,可以根据自己的需求选择,我选择stable版本: kernel/git/stable/linux.gi

S3C2440中断处理

一、中断处理机制概述 中断是CPU在执行程序过程中,遇到急需处理的事件时,暂时停止当前程序的执行,转而执行处理该事件的中断服务程序,并在处理完毕后返回原程序继续执行的过程。S3C2440提供了丰富的中断源,包括内部中断和外部中断,以及支持子中断的功能。 二、中断处理得流程 上图为中断处理的框图,首先中断源分为有子中断和无子中断两类; (1)当有子中断时,SUBSRCPND和SRCPND会

S3C2440之裸机之汇编点亮LED灯

虚拟机环境:Oracle VM VirtualBoxLinux系统:ubuntu_14.04.6交叉编译工具:[100ask分享的所有文件](https://eyun.baidu.com/s/3b1UtLc)100ask分享的所有文件 > 002_JZ2440资料光盘_20180516(免费) > 资料光盘 > A盘 > tools.zip > arm-linux-gcc-4.3.2.tar

S3C2440之ARM_Linux开发环境搭建

虚拟机环境:Oracle VM VirtualBoxLinux系统:ubuntu_14.04.6交叉编译工具:[100ask分享的所有文件](https://eyun.baidu.com/s/3b1UtLc)100ask分享的所有文件 > 002_JZ2440资料光盘_20180516(免费) > 资料光盘 > A盘 > tools.zip > arm-linux-gcc-4.3.2.tar

s3c2440和sdram

经过了一段时间考试,今天终于把SDRAM这块给学习了。 1、许多单片机像STM32一直是使用片上FLASH和RAM,MDK也是定义好了下载算法,进行简单地配置就可以了,而s3c2440确需要外扩FLASH和SDRAM(小于4K的程序可以不用配置SDRAM),使用前需要对其进行初始化。 S3C2440 有 27 根地址线 ADDR[26:0],2^27= 128Mbyte ,是一个bank的最大

S3C2440 点灯

点亮开发板上的led灯,需先查看原理图,找到对应引脚,以及搞清楚原理图,如何电路上灯会亮。 1、看原理图 JZ2440v2_sch.pdf 找到对应的引脚 nLED_1 对应 GPF4nLED_2 对应 GPF5nLED_4 对应 GPF62、看芯片手册 S3C2440A_UserManual_Rev13.pdf 设置对应 I/O 寄存器CPFCON 控制寄存器GPFCON 数据

s3c2440_Clock Timer

2440时钟模块能够产生3种时钟,分别为:FCLK、PCLK、HCLK。 FCLK:Frame Clock 帧时钟,供CPU使用。 HCLK:给AHB高性能总线上的设备使用:存储控制器、中断控制器、LCD控制器、DMA、DM9000和USB模块。 PCLK:给APB外围总线上的设备使用:ADC、UART、GPIO、RTC、看门狗、IIC、IIS、PWM定时器、MMC接口和SPI串行外设接口。

s3c2440_Nand Flash Controller

Nand Flash简介: Nand Flash是由日本的东芝公司(Toshiba)于1989年发明。它具有掉电后仍能保存数据的特点,类似于PC上的硬盘,可以用来存放操作系统、应用程序、各个进程产生的各类数据。【Nor Flash是在1988年时由美国的Intel公司发明,比较贵,写入速度较慢,寿命较短,不易发生位反转等特点】 Nand Flash的接口是I/O接口,不能随机访问任意地

S3C2440之内存

1、概述 数据位宽:BANK0:16/32位           其它BANK:8/16/32位 BANK0-BANK5可接ROM、SRAM BANK6-BANK7可接ROM、SRAM、SDRAM BANK0-6的起始地址是固定的,BANK7的起始地址是可调整的 BANK6-7的寻址范围可通过编程调整 所有存储器BANK的访问周期可编程 总线访问周期可通过插入外部wait来延长

S3C2440之USB

S3C2440 USB 设备控制器         s3c2440 soc集成了一个usb1.1设备控制器,可以进行全速/低速的控制,中断与批量传输。除了端点0,具有四个端点,每个端点都可以作为中断与批量的端点,每个端点具有128 byte的FIFO,所以端点最大packet可以设置成128byte。并且支持DMA传输。任何一种设备控制器对于软件来说都是一组寄存器:数据,状态,控制。usb

S3C2440之ADC分析

一、硬件原理分析                                S3C2440内部ADC结构图 我们从上面的结构图和数据手册可以知道,该ADC模块总共有8个通道可以进行模拟信号的输入,分别是AIN0、AIN1、AIN2、AIN3、YM、YP、XM、XP。那么ADC是怎么实现模拟信号到数字信号的转换呢?首先模拟信号从任一通道输入,然后设定寄存器中预分频器的值来确定AD转换

S3C2440中断学习

一.ARM中断体系 当一个“异常”发生时,或者说当收到一个中断触发信号时,ARM9将会自动完成如下一些工作: (1)       在异常工作模式的连接寄存器R14中保存前一个工作模式的下一条指令地址,即是pc+4或者pc+8。 (2)       将CPSR的值复制到异常模式的SPSR中。 (3)       将CPSR的工作模式位设为这个异常对应的工作模式。 (4)       令P

s3c2440支持nand flash硬件ecc(u-boot+linux)

平台:     硬件: s3c2440 + 64MB(SDRAM) + 256MB(nand flash-> K9F2G08U0C)     软件: u-boot-2011.12 + linux-3.1.6 要支持硬件ecc就必须保证u-boot和linux内核的ecc校验模式、算法一样。由于内核已经做好了2440硬件ecc的支持,所以以内核为标准修改u-boot。 1、

S3C2440驱动篇—触摸屏驱动分析

S3C2440触摸屏驱动 一.硬件简介        S3C2440触摸屏接口与ADC接口集成在一起,触摸屏X、Y坐标所产生的模拟信号通过通道7、5输入,2440提供触摸屏接口有4种处理模式:普通转换模式、分离的X/Y轴坐标转换模式、自动X/Y轴坐标转换模式、等待中断模式。具体参考2440硬件手册16章。 二.驱动实现        下面是触摸屏驱动源码,其中使用了linux输入子系统in

s3c2440硬件学习笔记----存储控制器

一、使用存储控制器访问外设的原理 1、S3C2440的地址空间 S3C2440对外引出27根地址线ADDR0-ADDR26,访问范围只有128MB,CPU对外还引出8根片选信号nGCS0-nGCS7,对应BANK0-BANK7,当访问BANKx的地址空间时,nGCSx引脚输出低电平来选中外接设备。   这样每个128MB空间,共8个片选,对应1GB的地址空间。空间分布图如下:

S3C2440学习笔记_NOR启动与NAND启动

如何选择启动方式 根据硬件引脚选择启动方式 软件如何判断自己被烧录在哪里 nor启动,无法写数据到nor上 nand启动,硬件自动将4K数据拷贝到SRAM上运行,所以可以写数据, 根据这个特性来区分 不同启动方式sp栈如何设置 nor启动的时候,sram内存在0x40000000,nand启动的时候sram在0x00000000