随笔分类 -  ARM&Linux

摘要:原文:http://blog.chinaaet.com/jihceng0622/p/27024 介绍介绍IAR的icf配置文件,其实这算是一篇知识深入扩展,初手在用IAR简单开发一款片子的时候很少有人去关心该配置文件的,因为该配置文件一般在用IAR新建工程选型目标芯片的时候系统自动添加了(当然kin 阅读全文
posted @ 2017-05-20 16:51 丿踏遍青山人未老 阅读(1021) 评论(0) 推荐(0)
摘要:1.取消版本号不符终止程序运行2.iobase基地址修改为s3c3440的0x200000003.网卡使用的中断号改为IRQ_EINT74.中断触发方式改为上升沿触发5.设置S3C2440的memory controller 硬件相关的设置 阅读全文
posted @ 2015-11-04 19:49 丿踏遍青山人未老 阅读(164) 评论(0) 推荐(0)
摘要:1.首先和前面的几个驱动程序相似,需要分配一个nand_chip结构体 s3c_nand = kzalloc(sizeof(struct nand_chip), GFP_KERNEL);然后填充该结构体 /* 2. 设置nand_chip */ /* 设置nand_chip是给nand_scan函... 阅读全文
posted @ 2015-11-04 19:42 丿踏遍青山人未老 阅读(226) 评论(0) 推荐(0)
摘要:写一下个人对驱动分层的理解,简单的说将驱动分层也就是将驱动中硬件操作的代码和软件处理的代码分为两部分,软件相关的代码较稳定,硬件相关的代码可能因硬件的变动而做出相应调整。这样做的好处是便于编写大型的驱动,好比我们的编程中写的函数将功能模块化,模块化的好处这里就不说了。 以JZ2440开发板的点... 阅读全文
posted @ 2015-10-10 10:40 丿踏遍青山人未老 阅读(999) 评论(0) 推荐(0)
摘要:1.声明input_dev结构体 static struct input_dev *buttons_dev;2.init函数中分配input_dev结构体并对其设置、注册/* 1. 分配一个input_dev结构体 */ buttons_dev = input_allocate_device... 阅读全文
posted @ 2015-10-10 09:50 丿踏遍青山人未老 阅读(251) 评论(0) 推荐(0)
摘要:1.首先构造file_operations结构体,并写出相关函数static struct file_operations first_drv_fops = {.owner = THIS_MODULE, /* 这是一个宏,推向编译模块时自动创建的__this_module变量 */.open = ... 阅读全文
posted @ 2015-10-10 09:06 丿踏遍青山人未老 阅读(252) 评论(0) 推荐(0)
摘要:Linux下为机器设置静态IP地址:vim /etc/sysconfig/network-scripts/ifcfg-eth0修改这个文件内容如下形式:# Intel Corporation 82541GI Gigabit Ethernet ControllerDEVICE=eth0BOOTPROT... 阅读全文
posted @ 2015-06-15 14:24 丿踏遍青山人未老 阅读(4732) 评论(0) 推荐(0)
摘要:int poll(struct pollfd *fds,nfds_t nfds, int timeout);总的来说,Poll机制会判断fds中的文件是否可读,如果可读则会立即返回,返回的值就是可读fd的数量,如果不可读,那么就进程就会休眠timeout这么长的时间,然后再来判断是否有文件可读,如果... 阅读全文
posted @ 2015-05-12 21:47 丿踏遍青山人未老 阅读(271) 评论(0) 推荐(0)
摘要:来源:http://blog.csdn.net/allen6268198/article/details/81125511. 关于 wait_event_interruptible() 和 wake_up()的使用 读一下wait_event_interruptible()的源码,不难发现这个函数先... 阅读全文
posted @ 2015-05-12 20:59 丿踏遍青山人未老 阅读(1156) 评论(0) 推荐(1)
摘要:via:http://blog.sina.com.cn/s/blog_7ec8fc2c010157lc.html1、驱动程序设计1)驱动分类驱动这里分为 字符设备驱动、网络接口驱动、块设备驱动!这三类,其中前两者是重点。①、字符设备字符设备是一种 按自己来访问 的设备,字符驱动则负责驱动字符设备,这... 阅读全文
posted @ 2015-05-11 11:22 丿踏遍青山人未老 阅读(527) 评论(0) 推荐(0)
摘要:via:http://blog.chinaunix.net/uid-20672257-id-3142809.html1、写出open、write函数 2、告诉内核 1)、定义一个struct file_operations结构并填充好static struct file_operations fi... 阅读全文
posted @ 2015-05-11 10:53 丿踏遍青山人未老 阅读(401) 评论(0) 推荐(0)
摘要:内核使用printk()打印!应用层使用printf()打印!&&& 大部分常用的C库函数在Linux内核中都已经得到了实现。在所有没有实现的函数中,最著名的就数printf()函数了。内核代码虽然无法调用 printf()函数,但它可以调用printk()函数。printk()函数负责把格式化好的... 阅读全文
posted @ 2015-05-09 10:50 丿踏遍青山人未老 阅读(1284) 评论(0) 推荐(0)
摘要:静态变量 类型说明符是static。静态变量属于静态存储方式,其存储空间为内存中的静态数据区(在静态存储区内分配存储单元),该区域中的数据在整个程序的运行期间一直占用这些存储空间(在程序整个运行期间都不释放),也可以认为是其内存地址不变,直到整个程序运行结束(相反,而auto自动变量,即动态局部变量... 阅读全文
posted @ 2015-05-07 20:18 丿踏遍青山人未老 阅读(222) 评论(0) 推荐(0)
摘要:依次执行ABC3条语句最简单的写如下代码#!/bin/sh A B C保存为test.sh然后添加执行权限chmod+xtest.sh然后执行该脚本./test.sh 阅读全文
posted @ 2015-05-07 09:25 丿踏遍青山人未老 阅读(957) 评论(0) 推荐(0)
摘要:对于单个命令执行我想大多数人都是明了的,也就是在一个命令行上执行一条命令。那对于在一行上执行多个命令怎么办呢,其实也很简单,只需在各命令之间加上特殊命令符号,我们常规使用到的有3个特殊命令符号。1. [; ]如果被分号(;)所分隔的命令会连续的执行下去,就算是错误的命令也会继续执行后面的命令。[... 阅读全文
posted @ 2015-05-07 09:23 丿踏遍青山人未老 阅读(257) 评论(0) 推荐(0)
摘要:rmmod 1.手动创建设备节点 例子中创建了一个名为xxx的节点,其主设备号为3,次设备号为1mknod /dev/xxx c 3 12.安装驱动insmod 3.查看设备节点cat /proc/devices4.查看驱动lsmod5.卸载驱动rmmod 阅读全文
posted @ 2015-05-06 14:13 丿踏遍青山人未老 阅读(178) 评论(0) 推荐(0)
摘要:源地址:http://nervfzb.blog.163.com/blog/static/314813992011215105432369/TFTLCD是嵌入式中比较常用的显示器,S3C2440/S3C2410都提供了接口进行支持。这里总结下其接口的相关特性。TFTLCD硬件需要的控制信号:信号名称描... 阅读全文
posted @ 2015-04-25 17:46 丿踏遍青山人未老 阅读(1551) 评论(0) 推荐(0)
摘要:出处:http://blog.chinaunix.net/uid-28852942-id-3992727.html这篇文章不是介绍nand flash的物理结构和关于nand flash的一些基本知识的。你需要至少了解你手上的nand flash的物理结构和一些诸如读写命令 操作的大概印象,你至少也... 阅读全文
posted @ 2015-04-24 21:25 丿踏遍青山人未老 阅读(752) 评论(1) 推荐(0)
摘要:1.汇编时使用b, bl 指令跳转2.C语言不使用全局变量,静态变量 阅读全文
posted @ 2015-04-24 14:59 丿踏遍青山人未老 阅读(144) 评论(0) 推荐(0)
摘要:1.保存局部变量2.传递参数3.保存寄存器的值 阅读全文
posted @ 2015-04-22 17:03 丿踏遍青山人未老 阅读(215) 评论(0) 推荐(0)