S3C2440
EtherCAT.技术研究
如有需要可提供技术支持
展开
-
S3C2440 RTC 裸机程序
RTC(实时时钟)单元可以在当系统电源关闭后通过备用电池工作。RTC 可以通过使用STRB/LDRB ARM 操作发送8 位二-十进制交换码(BCD)值数据给CPU。这些数据包括年、月、日、星期、时、分和秒的时间信息。RTC 单元工作在外部32.768kHz 晶振并且可以执行闹钟功能。 其特点概括为:1 时钟数据采用BCD编码 时钟数据包括 秒 分 时 日 月 年 星期(能原创 2013-07-29 11:25:00 · 656 阅读 · 0 评论 -
MODULE_LICENSE
1.GPL是GNU General Public License(GNU通用公共许可证);GPL的出发点是代码的开源/免费使用和引用/修改/衍生代码的开源/免费使用,但不允许修改后和衍生的代码做为闭源的商业软件发布和销售。GPL协议的主要内容是只要在一个软件中使用(”使用”指类库引用,修改后的代码或者衍生代码)GPL协议的产品,则该软件产品必须也采用GPL协议,既必须也是开源和免费。这就是所谓的”原创 2013-08-11 21:11:27 · 3490 阅读 · 0 评论 -
带参数的内核模块
hello.c#include #include char *p="Twenty-four";MODULE_LICENSE("GPL");module_param(p, charp, S_IRWXU);static int hello_init(void){printk(" p is %s\n",p);printk原创 2013-08-11 20:08:56 · 598 阅读 · 0 评论 -
简单的内核模块
在 /mini2440/rootfs/drivers/下面新建 hello.c 、 Makefile1.编写Makefileifneq($(KERNELRELEASE),)obj-m := hello.oelseKDIR := /mini2440/linux-2.6.32.2PWD := $(shell pwd)all:make -C $(KDIR) M=$(P原创 2013-08-11 19:57:32 · 603 阅读 · 0 评论 -
busybox制作文件系统、挂载nfs
1.创建文件系统目录mkdir /mini2440/rootfscd rootfsmkdir bin dev etc lib proc sbin sys usr mnt tmp varmkdir usr/bin usr/lib usr/sbin lib/modules2.创建设备文件,进入rootfs的dev/目录cd dev/mknod -m 666 cons原创 2013-08-10 10:53:07 · 1325 阅读 · 0 评论 -
用uboot烧写内核
tftp 0x31000000 192.168.1.78:uImage1.nand erase 0x80000 0x5000002.nand write 0x31000000 0x80000 0x5000003.setenv bootcmd 'nand read 0x31000000 0x80000 0x500000;bootm'4.save5.boot原创 2013-08-09 17:56:16 · 726 阅读 · 1 评论 -
mini2440 Uboot错误解决
错误一:/usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.9' not found执行ls -l /usr/lib/libstdc++.so.6发现/usr/lib/libstdc++.so.6 -> /usr/lib/libstdc++.so.6.0.8,其实这里需要使用libstdc++.so.6.0.10然后rm -rf原创 2013-08-06 16:50:22 · 583 阅读 · 0 评论 -
S3C2440看门狗
看门狗定时器内部有一个递减计数器,当该计数器递减为0的时候,就会自动重启控制器(如下图所示),如果我们写有这样的程序,该程序在定时器计数器递减为0之前,将其递减计数器重新设置一下(喂狗),那么就不会产生重启操作。假如机器设备出现异常情况下如死机,CPU执行出错,程序跑飞等情况,CPU就会陷入非正常的执行流程,就不会去执行重置计数器的程序,当计数器递减为0时,会产生复位控制器信号,机器就会重新启动,原创 2013-07-23 18:18:34 · 1134 阅读 · 2 评论 -
S3C2440 UART介绍
通用异步收发器简称UART,即“Universal Asynchronous Receiver Transmitter” S3C2440提供了三个UART端口,它们都可以通过查询、中断和DMA方式传输数据,而且每个UART都分别有一个64个字节的接收FIFO和一个64个字节的发送FIFO。UART由波特率发生器、发送器、接收器和控制逻辑组成,使用系统时钟可以达115.2Kbit/转载 2013-07-25 11:31:22 · 918 阅读 · 0 评论 -
S3C2440 UART中断方式
Main.c#include "2440addr.h"#include "mmu.h"#include "2440lib.h"static void __irq IRQ_ISR_UART0(void){if(rSUBSRCPND & 0x1) {Uart_Printf("\nHello World!\r\n");rUTXH0 = rURXH0;Cle原创 2013-07-25 11:15:58 · 947 阅读 · 0 评论 -
2440外部中断
一、外部中断主要寄存器EXTINTnRegister Address R/W Description Reset ValueEXTINT0 0x56000088 R/W External interrupt control register 0 0x000000EXTINT1原创 2013-07-23 18:06:34 · 706 阅读 · 0 评论 -
S3C2440 系统时钟
系统时钟MINI2440开发板在没有开启时钟前,整个开发板全靠一个12MHz的晶振提供频率来运行,也就是说CPU,内存,UART等需要用到时钟频率的硬件都工作12MHz下,而S3C2440A可以正常工作在400MHz下,两者速度相差可想而知,就好比牛车和动车。如果CPU工作在12MHz频率下,开发板的使用效率非常低,所有依赖系统时钟工作的硬件,其工作效率也很低,比如,我们电脑里面经常提到的转载 2013-07-23 18:26:14 · 570 阅读 · 0 评论 -
S3C2440双边沿中断+定时器中断
#include "2440addr.h"#include "mmu.h"void delay(int times){ int i,j; for(i=0;i for(j=0;j}void Led3_Init(void){ rGPBCON &= ~(0x03 rGPBCON |= (0x01}原创 2013-07-24 13:23:20 · 625 阅读 · 0 评论 -
S3C2440 电阻式触摸屏
1,电阻式触摸屏接口、内部ADC结构如下图所示:2,AD转换的一些参数转换速率:当PCLK=50MHz时,分频设为49,则10位的转换计算如下:AD转换频率 = 50MHz/(49+1)=1MHzAD转换时间 = 1/(1MHz/ 5cycles)=1/200KHz=5us从上面的结构图和数据手册可以知道,该ADC模块总共有8个通道可以进行模拟信号的输入,分别是AI原创 2013-07-27 09:48:56 · 583 阅读 · 0 评论 -
S3C2440 UART自动流控制(AFC)
1.流控制在串行通讯中的作用这里讲到的“流”,当然指的是数据流。数据在两个串口之间传输时,常常会出现丢失数据的现象,或者两台计算机的处理速度不同,如台式机与单片机之间的通讯,接收端数据缓冲区已满,则此时继续发送来的数据就会丢失。现在我们在网络上通过MODEM进行数据传输,这个问题就尤为突出。流控制能解决这个问题,当接收端数据处理不过来时,就发出“不再接收”的信号,发送端就停止发送,直到收到“可原创 2013-07-24 19:42:48 · 1287 阅读 · 0 评论 -
STN液晶和TFT液晶的区别
一、什么是液晶 初中物理就学习过物质有三态:固态、液态和气态。其实所谓的三态只是大致的区分,有些物质的固态可以再被细分出不同性质的状态。同样,液体也同样可具有不同的“态”,其中分子排列具有方向性的液体我们就称之为“液态晶体”,简称“液晶”。 一般的固态晶体具有方向性,所以它们的许多物理特性也具有方向性。液态晶体在具有一般晶体的方向性的同时又具有液体的流动性。如果要改变固态晶体方向必须旋原创 2013-07-26 20:17:58 · 1957 阅读 · 0 评论 -
S3C2440 ADC
概述 S3C2440的CMOS模拟数字转换器ADC可以对8通道模拟输入信号进行循环检测,S3C2440的ADC和触摸屏公用一个ADC转换器,所以学习ADC也是学习触摸屏的基础。 S3C2440ADC的主要特性如下: ●分辨率:10位 ●最大转换速率:500KSPS ●微分线性度误差:±1.0 LSB ●积分线性度误转载 2013-07-27 09:41:26 · 1257 阅读 · 0 评论 -
驱动 __init修饰解析
在driver文件中会经常看见“__init“修饰的代码。 在GCC拓展的特殊属性中section时会提及这个__init,他所修饰的所有代码都会放到.init.text节中,当初始化结束后就可以释放这部分内存,这样就减少了内存的占用空间。 什么时候调用到该函数? 首先要先讲解这个宏:subsys_initcall,在文件kernel/include/lin转载 2013-08-11 22:46:44 · 946 阅读 · 0 评论