【ARM】2410裸机系列-中断处理】的更多相关文章

目的 为了更好地掌握S3C2410中断的原理及中断程序的编写. 内容利用S3C2410的外部中断0和外部中断1实现两个按键功能 原理 本次选择的是外部中断EXTINT0和EXTINT11.中断的产生分别来自按钮SB1202和SB1203,当按钮按下时,EXTINT0(对应管脚GPF0)或EXTINT11(对应管脚GPG3)和地连接,输入低电平,从而向CPU发出中断请求. 当CPU受理后,进入相应的中断服务程序,通过超级终端的主窗口显示当前进入的中断号. 程序 #include "2410addr…
开发环境   1.硬件平台:FS2410(s3c2410) 2.主机:Ubuntu 12.04 LTS LED原理图 LED的GPIO的配置 配置GPFCON寄存器,设置GPF4-7为输出 配置GPFDAT,设置LED灯亮与灭 主要步骤 通过设置GPFCON将GPF4-7设置为输出 设置GPFDAT,可以将led灯亮或灭,GPFDAT的相应位置1灯灭,置0灯亮 源代码    NAND flash启动 关狗 设置栈 //start.S .text .global _start _start: #d…
开发环境   1.硬件平台:FS2410 2.主机:Ubuntu 12.04 ADC寄存器配置       1.初始化ADC(ADCCON) 设置预分频,预分频因子,选择A/D转换通道,并选择正常模式且启动转换       2.判断转换是否结束(ADCCON[5])       3.读取转换结果(ADCDATn) 串口的初始化 见<串口通信·FS2410>:http://infohacker.blog.51cto.com/6751239/1223137 源代码       //adc.c #i…
开发环境 (1)硬件平台:FS2410 (2)主机:Ubuntu 12.04 FS2410串口的原理图 串口UART寄存器配置   配置TXD0与RXD0(GPH2.GPH3) 设置波特率(UBRDIVn) 设置传输格式(ULCONn) 选择时钟源与中断方式(UCONn) 设置FIFO(UFCONn) 设置流控(UMCONn) 接收字符和发送字符(UTRSTATn) 源代码  //uart.c #include "2410addr.h" void putc(char ch) //发送字…
开发环境   硬件平台:FS2410 主机:Ubuntu 12.04 LTS LED灯原理图 按键原理图 按键的接线资源 KSCAN0 -> GPE11    KSCAN1 -> GPG6     KSCAN2 -> GPE13      KSCAN3 -> GPG2    EINT0  -> GPF0     EINT2  -> GPF2     EINT11 -> GPG3       EINT19 -> GPG11 程序主要原理 这里实现对 K1,K2…
ARM NEON 编程系列2 - 基本指令集 前言 本系列博文用于介绍ARM CPU下NEON指令优化. 博文github地址:github 相关代码github地址:github NEON指令集 主流支持目标平台为ARM CPU的编译器基本都支持NEON指令.可以通过在代码中嵌入NEON汇编来使用NEON,但是更加常见的方式是通过类似C函数的NEON Instrinsic来编写NEON代码.就如同NEON hello world一样.NEON Instrinsic是编译器支持的一种buildi…
ARM NEON 编程系列1 - 导论 前言 本系列博文用于介绍ARM CPU下NEON指令优化. 博文github地址:github 相关代码github地址:github NEON历史 ARM处理器的历史可以阅读文献[2],本文假设读者已有基本的ARM CPU下编程的经验,本文面向需要了解ARM平台下通过NEON进行算法优化的场景. ARM CPU最开始只有普通的寄存器,可以进行基本数据类型的基本运算.自ARMv5开始引入了VFP(Vector Floating Point)指令,该指令用于…
功能 裸机程序,实现LCD显示数字时钟 主要代码   1)背景绘制 void Brush_ U32 c) { int x,y ; for ( y = 0 ; y < LCD_HEIGHT ; y++ ) { for ( x = 0 ; x < LCD_WIDTH ; x++ ) { LCD_BUFFER[y][x] = c ; } } }   2)文字绘制 void Draw_Text16(U32 x,U32 y,U32 color,U32 backColor,const unsigned c…
功能 通过GPIO,实现按键1点亮LED1,按键2点亮LED2…… 说明 1)因为2440的按键只涉及行,所以在扫描按键时比2410简单了很多 2)在进行移位操作之前,必须进行数据寄存器的初始化,否则会出错(硬件特性) 源码 /***************************************************************************** *****函数名:main() *****功 能:通过GPIO,实现按键1点亮LED1,按键2点亮LED2 ****…
功能 LCD显示字汉字,字符和图片 说明 汉字,字符和图片需要用相应的取模软件得到相应的c文件,然后包含到工程中 主要代码   1)绘制背景 void Brush_ U32 c) { int x,y ; for( y = 0 ; y < LCD_HEIGHT ; y++ ) { for( x = 0 ; x < LCD_WIDTH ; x++ ) { LCD_BUFFER[y][x] = c ; } } } 2)文字绘制 void Draw_Text16(U32 x,U32 y,U32 col…