自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 基于MDK的LCD显示实验

基于MDK的LCD显示实验1.实验目的1)了解TFT型LCD的基本工作原理和特点,掌握LCD的接口电路设计。2)掌握S3C2410A处理器的LCD控制器的使用方法。3)掌握LCD显示文本及图形的方法。2.实验设备硬件:ARM实验平台,ULINK2仿真器,PC机,串口线。软件:µVision IDE for ARM集成开发环境。3.实验内容1)设置LCD显示方式为

2015-04-29 16:23:24 1884

原创 ARM的SDRAM、LED、中断硬件原理及源程序

基于MDK的ARM基本接口实验报告一、实验目的(1)了解S3C2410X处理器的存储空间分配,学习实验台存储器接口电路原理,并能够对存储区空间进行配置,对存储区空间进行读写访问。(2)学习实验台地址总线和数据总线的驱动缓冲电路原理,掌握利用S3C2410X处理器地址总线扩展的I/O来点亮LED、驱动蜂鸣器。(3)掌握S3C2410X处理器中断响应过程,学习实验台外部中断输入电路的原

2014-04-29 17:50:16 1592

原创 华为机试题--动态分配malloc、未知输入数量

1去掉最大值、最小值之后剩下的个数1、输入一串数,以','分隔,输出所有数中去掉最大值、最小值之后剩下的个数。(其中最大值与最小值可能有多个)Smple input:3,3,5,3,6,9,7,9   Sample outPut: 3个人觉得下面这种方法并不严谨,因为题中并未说输入多少个数字,定义一个100个元素的数字不一定够用。所以我自己重新写了一个,利用链表和动态分配内存的方法

2015-06-26 22:36:48 441

原创 输入子系统之典型源码分析

输入子系统之典型源码分析初始化函数中注册platform_driver结构体。这是个虚拟总线驱动。static int __init gpio_keys_init(void){return platform_driver_register(&gpio_keys_device_driver); //注册 platform_driver}该platform_driver的定义如

2015-06-17 21:38:27 486

原创 Platform设备驱动

Platform设备驱动没有分析platform_device端的注册过程1、概述:在Linux 2.6内核的设备驱动模型中,有总线(bus)、设备(device)和驱动(driver)3个实体,总线将设备和驱动绑定。在系统每注册一个设备的时候,会寻找与之匹配的驱动;同样的,在系统每注册一个驱动时,会寻找与之匹配的设备,而匹配由总线完成。一个现实的Linux设备和驱动通常都需要挂接

2015-06-15 20:27:59 429

转载 字符设备号的分配与管理

转载处地址:http://blog.chinaunix.net/uid-28422984-id-3528601.html在第二章讲解字符设备的时候,个人觉得比较有收获的主要是两个方面的知识:1、字符设备号的管理原理(char_device_struct)2、字符设备驱动的file_operation中的函数如何与file结构体中的相应结构对应上,并被应用程序调用。   

2015-05-22 17:31:41 365

原创 异步通知与同步互斥

进程间通信用的测试程序:#include#include void my_signal_fun(int signum){static int cnt=0;printf("signal=%d,%d times\n",signum,++cnt);}int main(int argc,char ** argv){signal(SIGUSR1,my_signal_f

2015-04-29 16:13:26 776

原创 ARM异常介绍与中断编写(参考与韦东山完全手册)

ARM架构的CPU的异常向量基址可以是0x00000000,也可以是0xffff0000,Linux内核使用后者。在trap_init()函数(代码在arch/arm/kernel/traps.c)中将异常向量复制到0xffff0000处。    memcpy((void *)vectors, __vectors_start, __vectors_end - __vecto

2015-04-26 18:46:57 621

转载 原文地址http://www.cnblogs.com/biyeymyhjob/archive/2012/07/12/2588074.html

const!指针!const的实现const仅对编译器有效,严格来说,const不是“不可以修改”,而是告知编译器:我的变量不应该被修改,如果编译器发现程序企图修改这个变量,就会报错。有些情况,const变量有可能被编译器以外的东西修改,例如硬件中断等等。1.指向const对象的指针   可以这样理解指向const对象的指针:指向const对象的指针就是一个指针,不能通过它

2015-04-23 22:22:31 2209

转载 linux字符设备基本框架--原文地址http://blog.chinaunix.net/uid-25424552-id-3387451.html

字符设备是linux内核抽象出来的一类设备,linux内核为该设备驱动程序提供了一套驱动程序编写框架,驱动程序员编写linux字符设备驱动程序时,必须按照该框架进行。1. 字符设备的内核抽象内核对于所有字符设备,抽象出来了一个数据结构,该数据结构的一个实体便表示内核中的一个字符设备:--------------------------------------------

2015-04-23 21:15:00 555

原创 Linux根文件系统

1. 实验目的:(1)熟悉busybox相关知识及应用。(2)利用busybox制作一个文件系统。(3)熟悉Linux根文件系统的组织形式。(4)定制、编译根文件系统。2. 基础知识介绍:1)Linux根文件系统目录结构/bin目录下用来存放所以用户都可以使用的基本命令,该目录必须与根文件系统在同一分区中,常用的命令有:cat、chgrp、chmod、cp、

2015-03-24 22:21:32 509

原创 第一个驱动程序(点亮LED灯)

1.概述一个软件系统分为:应用程序、库、操作系统、驱动程序。(1)应用程序使用库函数提供的open打开LED设备文件。(2)库根据open函数传入的参数执行“swi”指令,引起CPU异常进入内核。(3)内核的异常处理函数根据这些参数找到对应的驱动程序,并且将打开的设备文件句柄返回给库,进而返回给应用程序。(4)应用程序获得句柄后,使用库提供的write或ioclt函数发出控制命

2015-03-24 22:19:52 4272

转载 MTD分区,NOR flash, nand FALSH

NOR和NAND是现在市场上两种主要的非易失闪存技术。 Intel于1988年首先开发出NOR flash技术,彻底改变了原先由EPROM和EEPROM一统天下的局面。紧接着,1989年,东芝公司发表了NAND flash结构,强调降低每比特的成本,更高的性能,并且象磁盘一样可以通过接口轻松升级。但是经过了十多年之后,仍然有相当多的硬件工程师分不清NOR和NAND闪存。相“flash存储器

2014-06-18 15:11:45 632

转载 ARM平台LCD显示汉字

做了无数的Windows程序,从来没有把显示汉字和英文字母当成一回事儿。这也难怪,写窗口程序的时候,什么SetWindowText、MessageBox、SetDlgItemText等等,你只需要把自己想要显示的字符串传进去,然后编译、链接,就能够显示出来了,非常非常简单;若说麻烦,可能就是在ASCII码和Unicode码之间转换比较麻烦,但是习惯之后,似乎又没什么了。可是,如果没有操作系统的支持

2014-05-23 09:26:30 1381

空空如也

空空如也

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

TA关注的人

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