S3C2440
w282529350
这个作者很懒,什么都没留下…
展开
-
S3C2440串口通讯实现
一、目的由于项目需求,要实现S3C2440串口与PC机的通讯。通过实验手册上的串口通讯示例了解串口的工作原理,实现简单的串口通讯实验。为进一步利用串口编程实现更加复杂的功能做准备。实验效果:PC机上按下任意键,通过串口将字符传送至2440,2440又通过串口返回至PC机,并在DNW终端或超级终端显示该字符。二、实验原理PC机 S3C244转载 2012-03-06 09:21:45 · 1105 阅读 · 0 评论 -
S3C2440 FLASH 介绍
我们知道,S3C2440对外引出了27根地址线 ADDR0~ADDR26,如下图左侧所示,是不是只有27根? 27根地址线所能寻址的最大范围为2^27=128MB。仅仅128MB显然是不够的,所以又有了BANK,什么是BANK,按我个人的理解,就是分块或者是分页,当然这种说法可能不是太严谨,你只要能明白大概意思就可以了。显然,对应上面我们应该也可以猜到,每个BANK的大小为转载 2012-10-26 20:34:04 · 1319 阅读 · 0 评论 -
S3C2440时钟体系及设置方法
这几天一直忙着研究移植U-boot,移植U-boot的过程中有一步很重要,就是要设置s3c2440的时钟,什么 Fin,Fclk,Hclk,Pclk,Mpll,Upll等时钟信号,让初学者看得一头雾水,各种信号混淆不清,本人特意花了一点时间,把这些东东理了理,现整理如下:首先得弄清一个大的框架,s3c2440 cpu的默认工作主频有两种12MHz和16.9344MHz,也就是我们的晶振的频转载 2012-09-08 12:34:34 · 1054 阅读 · 0 评论 -
浅谈S3C2440的中断寄存器及中断过程
S3C2440一共有60个中断源,其中有15个子中断源,它们与SUBSRCPND寄存器中的每一位相对应,其他45个中断源与SRCPND中的每一位相对应。要注意的是EINT4~7对应的是同一位SRCPND[4],而EINT8~23对应的也是SRCPND[5]一位。1 S3C2440的中断寄存器 中断分两大类:外部中断和内部中断。转载 2012-05-25 15:53:31 · 684 阅读 · 0 评论 -
MICRO2440 中断学习
S3C2440A 中的中断控制器接受来自60 个中断源的请求,部分中断源附带子中断源,他们共用一个中断源。两类中断:IRQ中断和FIQ中断,每一个中断都可以设为IRQ或FIQ,IRQ中断还需经过优先级判决器判定中断流程:以带子中断源的中断有中断为例:带子中断源的中断有中断长生,则子中断源请求寄存器(SUBSRCPND)相应位被置1,该位表明了是哪个子中断源长生的中断,然后看转载 2012-05-24 14:25:10 · 724 阅读 · 0 评论 -
在Linux 2.6内核下编译可以加载的内核模块
在Linux 2.6内核下编译可以加载的内核模块By:吴垠Date:2007-05-18Email:lazy_fox#msn.comHomepage:http://blog.csdn.net/wooinLink:http://blog.csdn.net/wooin/archive/2007/05/2转载 2012-03-21 10:02:29 · 771 阅读 · 0 评论 -
linux设备驱动:中断的实现
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx一、什么是中断中断分两种:1)中断,又叫外部中断或异步中断,它的产生是由于外设向处理器发出中断请求。其中外部中断也有两种,这是由配置寄存器设定的:普通中断请求(IRQ)和快速中断请转载 2012-03-16 09:41:27 · 3511 阅读 · 1 评论 -
linux设备驱动归纳总结:触摸屏与ADC时钟
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx这节的内容说不上是驱动,只是写个代码让触摸屏能够工作,随便介绍一下时钟子系统(我不知道这样叫合不合适),仅次而已。xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx转载 2012-03-16 09:29:19 · 939 阅读 · 0 评论 -
嵌入式 linux 驱动 ADC驱动
很懒,很久没去总结学习的东西,今天就总结下linux下的AD驱动吧,AD驱动理解的难点和注意的地方其实就只有两点。一、虚拟地址的应用,就是物理地址转换为虚拟地址,ADC驱动程序中的寄存器就是都用到了虚拟地址了。其中最主要的转换的语句是base_addr=ioremap(S3C2410_PA_ADC,0x20);/ioremap()功能: 将一个IO地址空间映射到内核的虚拟地址空间上去,转载 2012-03-15 19:29:11 · 1110 阅读 · 0 评论 -
copy_to_usr()和read()的关系
举个例子:char str = {'1','2','3','4'}buffer[20]copy_to_user(buffer,str,sizeof str) 成功返回0buffer[30]read(fd,buffer,sizeof buffer)的返回值为sizeof str(不论红色那里的数值如何变化)原创 2012-03-13 10:54:11 · 879 阅读 · 0 评论 -
micro2440 LED驱动(装载和卸载模块)
micro2440所用光盘资料如下:笔记本系统:fedora 13 (编译内核,配置交叉编译环境,详见手册)台式机系统:windows XP1、fedora13中:2、建立一个C文件,取名为my_leds.c输入以下代码:#include #include #include #include #define DEVIC原创 2012-03-07 19:51:17 · 1693 阅读 · 0 评论 -
micro2440 按键驱动程序
my_buttons.c文件:#include #include #include #include #include #include #include #define DEVICE_NAME "mybuttons"struct button_irq_desc { int irq; int pin; int pin_setting;原创 2012-03-09 12:19:49 · 840 阅读 · 0 评论 -
Linux下的串口编程(二)
Linxu下的串口编程(二) /************声明:本人只是见到这篇文章对我帮助很大才转载的,但是这个完整的程序里面本来有语法错误的,现在让我改过来了************/---------------------------------------------------------Author :tiger-johnWebSite转载 2012-03-21 15:52:39 · 59405 阅读 · 15 评论 -
linux设备驱动:poll和sellct
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx接下来会讲系统调用select在驱动中的实现,如果对系统调用select不太懂的话,建议先看书补习一下。xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx转载 2012-03-16 10:51:09 · 4827 阅读 · 4 评论