![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ARM
lsn946803746
这个作者很懒,什么都没留下…
展开
-
arm汇编—bic ,orr
汇编语言:arm1,bicBIC指令的格式为:BIC{条件}{S} 目的寄存器,操作数1,操作数2BIC指令用于清除操作数1的某些位,并把结果放置到目的寄存器中。操作数1应是一个寄存器,操作数2可以是一个寄存器,被移位的寄存器,或一个立即数。操作数2为32位的掩码,如果在掩码中设置了某一位,则清除某一位。未设置的掩码位保持不变。bic r0,r0,#0x1转载 2015-03-27 19:52:31 · 1399 阅读 · 0 评论 -
Android/Linux I2C 的驱动框架
在我刚开始接触I2C是在单片机,通信协议就不说了,芯片的I2C adapter(适配器),这是硬件相关,所以可以理解为它是芯片固定的硬件功能。core层的通用API函数,在linux中,无处不体现这种设计的思想,比如,我们在驱动中最常见的file_operations的数据结构,我们只要实现它的各种具体的功能就可以了,比如:open ,write ,read,等。至于用户,他们只需要按照file的原创 2016-09-08 15:39:38 · 1717 阅读 · 1 评论 -
fastboot cmd 分析
fastboot cmd 分析usage: fastboot ”option” “command“ commands: update <filename> reflash device from update.zip flashall "flash boot" + "flash system" flash <partition> [ <filename> ] write原创 2016-08-05 10:23:26 · 2879 阅读 · 0 评论 -
TI am3352 gpio 驱动
最近用到了am3352 linux gpio 的驱动贴出来一起共勉。有瑕疵请留言哦。#include #include #include #include #include #include #include #include #include #include #include #include #include #include #incl原创 2016-01-05 13:50:09 · 1344 阅读 · 0 评论 -
json移植到ARM板
工具有:jsoncpp-src-0.5.0.tar.gz arm工具链 测试程序sudo apt-get install scons 可惜没有使用,tar xvf jsoncpp-src-0.5.0.tar.gz资源包 http://pan.baidu.com/s/1dDpwfeT编译arm下使用的动态库由于不会使用scons最后还是自原创 2015-11-04 09:27:40 · 1644 阅读 · 0 评论 -
中断和中断程序(续!)
6.7 中断控制Linux内核提供了一组接口用于操作机器上的中断状态。这些接口为我们提供了能够禁止当前处理器的中断系统,或屏蔽掉整个机器的一条中断线的能力,这些例程都是与体系结构相关的,可以在<asm/system.h>和<asm /irq.h>中找到。 下面给出一些中断控制方法:local_irq_disable() 禁止本地中断传送local_irq_enable() 激原创 2015-04-09 21:52:45 · 373 阅读 · 0 评论 -
中断和中断处理程序
处理器的速度跟外围硬件设备的速度往往不在一个数量级上,因此,如果内核采取让处理器向硬件发出一个请求,然后专门等待回应的方法,显然差强人意;轮询虽然能够解决这个问题,但会周期性地重复执行。更好的办法是让硬件在需要的时候向内核发出信号(变内核主动为硬件主动),这就是中断机制。6.1 中断 硬件设备生成中断的时候并不考虑与处理器的时钟同步——也就是说中断随时可以产生。内核随时可能因为新到来的中断转载 2015-04-09 21:28:59 · 1738 阅读 · 0 评论 -
vim-addons插件的使用
1、管理vim插件——vim-addons 通过vim-addons,我们可以管理vim插件。我们在sudo apt-get install vim vim-scripts vim-doc时,一般会自动安装上vim-addons。若未安装可通过sudo apt-get install vim-addon-manager手动安装。安装完成后,就可以用vim-addons管理vim插件了。系统中已有的转载 2015-04-07 21:15:53 · 3244 阅读 · 0 评论 -
ctags和vim的安装和使用详解
1、安装Vim和Vim基本插件 首先安装好Vim和Vim的基本插件。这些使用apt-get安装即可: lingd@ubuntu:~/arm$sudo apt-get install vim vim-scripts vim-doc 其中vim-scripts是vim的一些基本插件,包括语法高亮的支持、缩进等等。 vim中文帮助文档tar包下载地址: http://sourceforge.ne原创 2015-04-03 17:03:20 · 770 阅读 · 0 评论 -
异步通知:FASYNC
fasync简介 1\异步通知fasync应用于系统调用signal和sigaction函数,简单的说,signal函数就是让一个信号与与一个函数对应,每当接收到这个信号就会调用相应的函数. 那么什么是异步通知?异步通知类似于中断的机制,当设备可写时,设备驱动函数发送一个信号给内核,告知内核有数据可读,在条件不满足之前,并不会造成阻塞。而阻塞型IO和poll,它们是调用函数进去检查,条件不满足时原创 2015-04-10 18:59:03 · 418 阅读 · 0 评论 -
驱动开发入门
首先是驱动的理解,驱动依托于kernel,通过对底层的硬件操作,封装成模块,然后引用内核机制,完成与系统调用对接,所以,学习驱动不仅要对内核机制了解,还要熟练对硬件操作。原创 2015-04-03 10:10:37 · 390 阅读 · 0 评论 -
error: unterminated #ifndef
记住#ifndef与#endif一定要成对存在, (#if与endif); 还有就是可能权限有点问题,但绝对前者居多,细心数数吧!原创 2015-03-30 16:49:17 · 4772 阅读 · 0 评论 -
简单分析一个U-BOOT.LDS
OUTPUT_FORMAT(“elf32-littlearm”, “elf32-littlearm”, “elf32-littlearm”) //指定输出的格式是32bits ARM 小端OUTPUT_ARCH(arm) //指出输出可执行文件的平台是armENTRY(_start) 指定输出可执行文件的起始代码段是_startSECTIONS { . = 0x34000;原创 2015-03-28 11:47:56 · 390 阅读 · 0 评论 -
linux下的/dev/mem设备认识和使用
最近在为了读取一个寄存器的值动心思时,突然发现,一个好用的工具”r”,源码原创 2016-10-27 17:42:40 · 8862 阅读 · 0 评论