自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 资源 (1)
  • 收藏
  • 关注

原创 ucos中的任务调度

看了一个星期在2440上实现的ucos2。这个操作系统比较简单,但是如果真正去移植一次,应该收获会很大。暂时不打算做这个工作。下面记录一下1. ucos中任务的栈首先,在ucos中每个任务是有自己的栈区,这个在创建任务的时候就需要指定。 OSTaskCreate (MainTask,(void *)0, &MainTaskStk[MainTaskStkLengh - 1], Ma

2013-11-29 16:57:25 2489

原创 ucos中的异常处理

1. 栈的初始化2. 中断处理3. 任务切换4. 实时操作系统的体现

2013-11-29 11:15:23 1938

转载 ARM处理器架构------可嵌套中断的实现

文章是转载的,看的不是很明白,写的也不是很明白。当然很重要的是这是一种思路,证明通过模式的切换,可嵌套中断是可以实现的。传统ARM中IRQ是作为一种系统异常出现的。对于ARM核来说,有且仅有一个称为IRQ的系统异常。而ARM对于IRQ的处理一般通过异常向量找到IRQ的中断处理程序。当进入IRQ中断处理程序之后,ARM自动屏蔽IRQ,也就是说在中断响应过程中是忽略之后到来的中断请

2013-11-29 11:12:31 3986 1

原创 ARM处理器架构-----异常/中断处理

中断是我们嵌入式开发很常用到的一种资源和编程手段。这篇文章重点分析arm的中断处理流程。 首先,中断是异常的一种。当发生一种异常时,处理器会进入不同的工作模式。ARM的异常和相应的模式之间的对应关系见下表:当一个异常导致模式的改变时,ARM核自动地:1、把cpsr保存到相应模式下的spsr2、把pc保存到相应模式下的lr3、设置c

2013-11-28 18:47:01 5155

原创 ARM处理器架构----处理器的工作状态

这一篇的知识来源全部来自《ARM System Developer's Guide》        从编程人员的视角来看,arm核是由数据总线连接的功能单元组成,如下图所示:                数据通过数据总线流向处理器核心,这里的数据可以是将要执行的指令,也可以是数据项.上面的图是Von Neumann体系的arm核,数据项和指令共用同一总线.而h哈佛结构体系

2013-11-27 17:16:12 3497

转载 s3c2440启动文件start.s分析

启动文件就是引导ARM启动,并进入我们熟悉的C语言程序。它主要完成了ARM最基本的硬件初始化工作。虽然启动文件的内容大同小异(就是设置系统时钟、内存、中断向量表、栈等内容),而且只要有一个现成的启动文件,即使不用详细了解该文件的内容,直接进入C语言编程工作也可以对ARM进行操作,但我认为熟悉启动文件的内容,还是有必要的,它对我们熟悉ARM的体系结构,编写出更高效的程序是大有益处的。因此我花了一些时

2013-11-26 15:11:41 1551

原创 mini2440裸机编程--------触摸屏驱动

mini2440上连接的是一个电阻式触摸屏,电阻式触摸屏是基于AD转换实现的,即某个位置按下之后,这点的电压会发生改变,通过电压就可以判断出是哪一个点被按下了,arm可以得到这个点的坐标。因为触摸屏和lcd是两个设备,因此,触摸屏得到的坐标一般不能够与lcd上的坐标对应起来,所以需要我们在程序中手动的进行校正(虽然不对应,但是他们之间的关系式线性的,因此通过三个点的采样,就可以把系数确定下来。)

2013-11-17 09:55:18 2530

原创 mini2440裸机编程--------LCD驱动

记录一下lcd编程的过程。文章主要是转载的。要想正确使用LCD,必须注意两点:1、时序;2、显示缓存区。 1、时序LCD一般需要三个时序信号:VSYNC、HSYNC和VCLK。VSYNC是垂直同步信号,在每进行一个帧(即一个屏)的扫描之前,该信号就有效一次,由该信号可以确定LCD的场频,即每秒屏幕刷新的次数(单位Hz)。HSYNC是水平同步信号,在每进行一行的扫描之前,该信号就有效

2013-11-16 16:12:00 2310

原创 mini2440裸机编程------IIS

这段时间还做了IIS的试验。被这个试验也折腾了很久。总的来讲IIS还是一个相对简单的通信协议。s3c2440一共有5个引脚用于IIS:IISDO、IISDI、IISSCLK、IISLRCK和CDCLK。前两个引脚用于数字音频信号的输出和输入,另外三个引脚都与音频信号的频率有关,要用好IIS,就要把信号频率设置正确。fs:采样频率。fs不是任意设置的,一般基于不同的应用场合和听觉效果,设置不

2013-11-16 10:26:11 1876

原创 mini2440裸机编程---网卡

网络对于嵌入式系统来说必不可少。可是s3c2440没有集成以太网接口,所以要想使s3c2440具备以太网的功能,就必须扩展网卡接口。在这里,我们外接DM9000,使其可以与以太网相连接。        DM9000可以直接与ISA总线相连,也可以与大多数CPU相连。在这里,我们当然是要让DM9000与s3c2440相连接了。DM9000对外来说只有两个端口——地址口和数据口,地址口用于输入

2013-11-14 19:09:32 2133

原创 mini2440裸机编程-----IIC—读写AT24C08

IIC(Inter-Integrated Circuit,I2C)总线是一种由PHILIPS公司开发的两线式串行总线,用于连接微处理器及其外围设备,它只需要数据线SDA和时钟线SCL,就能够实现CPU与被控IC之间、IC与IC之间进行双向传送。       s3c2440内部有一个IIC总线接口,因此为我们连接带有IIC通信模块的外围设备提供了便利。它具有四种操作模式:主设备发送模式、主设备接

2013-11-10 20:07:14 2981

contiki中数据包的收发流程

详细的介绍了 contiki 中数据包的流程

2012-04-19

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除