上一页 1 2 3 4 5 6 7 8 ··· 16 下一页
摘要: 各种硬件和处理器打交道的周期不同,并且总是比处理器慢。必须有一种可以让设备在产生某个事件时通知处理器 中断。 中断仅仅是一个信号,如果硬件需要,就可以发送这个信号。Linux处理中断方式和用户空间的信号是一样的。 注册一个中断,需要处理时,调用函数处理。 中断处理例程和其他代码并发运行,这样处理例程 阅读全文
posted @ 2018-09-17 14:26 习惯就好233 阅读(356) 评论(0) 推荐(0) 编辑
摘要: 一、I/O端口和I/O内存 每种外设都通过读写寄存器进行控制。大部分外设都有几个寄存器,不管是在内村地址空间还是在I/O地址空间,这些寄存器的访问地址都是连续的。 在硬件层,内存区域和I/O区域没有区别:都是地址总线和控制总线发送电平信号进行访问,再通过数据总线读写数据 I/O寄存器和常规内存 I/ 阅读全文
posted @ 2018-09-15 15:55 习惯就好233 阅读(212) 评论(0) 推荐(0) 编辑
摘要: 一、Kmalloc函数的内幕 kamlloc原型: 常用的标志是GFP_KERNEL,表示内存分配是代表运行在内核空间的进程执行的。 GFP_ATOMIC:用于在中断处理例程或其他运行于进程上下文之外的代码中分配内存,不会休眠 GFP_KERNEL:内核内存的通常分配方法, 可能引起休眠 GFP_U 阅读全文
posted @ 2018-09-13 22:55 习惯就好233 阅读(304) 评论(0) 推荐(0) 编辑
摘要: 处理时间委托包括如下任务,按复杂度依次上升: 测量时间流失和比较时间 知道当前时间 指定时间量的延时操作 调度异步函数在之后的时间发生 一、测量时间流失 系统定时硬件规律的产生定时器中断,在内核启动阶段,根据Hz的值,设置这个间隔时间。 HZ的值各不相同,不同平台硬件的参数也不一样,即便你知道HZ的 阅读全文
posted @ 2018-09-12 16:50 习惯就好233 阅读(242) 评论(0) 推荐(0) 编辑
摘要: 一、可以使用的GPIO管脚 去掉占用调用的GPIO驱动,包括leds,buzzer,camera ov5640,WIFI mt6620 ,Keyboards VIDEO_OV5640– Device Drivers – Multimedia support(MEDIA_SUPPORT [=y]) – 阅读全文
posted @ 2018-09-10 10:03 习惯就好233 阅读(1016) 评论(0) 推荐(0) 编辑
摘要: 第二章 快速参考 本节中出现的条目会以它们在文中出现的顺序列出: insmod modprobe rmmod 用来装载模块到正运行的内核和移除模块的用户空间工具: #include <linux/init.h> module_init(init_function); module_exit(clea 阅读全文
posted @ 2018-09-09 17:50 习惯就好233 阅读(188) 评论(0) 推荐(0) 编辑
摘要: 一、4412 xpwmTOUT1 这是4412的GPD0_1路,itop中被使用为LCD的背光电路的pwm功能。因此如果使用教程中的代码,同样操作GPD0_1是行不通的。 会出现错误,所以需要解除在内核中的占用 修改arch/arm/mach-exynos/mach-itop4412.c,找到并注释 阅读全文
posted @ 2018-09-07 15:16 习惯就好233 阅读(1067) 评论(0) 推荐(0) 编辑
摘要: 一、原理图的网表导出及版本转换 安装Cadence后,打开RK3288的原理图。 首先点击rk3288-mid.dsn >> 然后有一个Create netlist的图标(当然咋Tools中也有这个图标) 然后选择other,看到对话框里有很多种格式,选择orprotel2.dll(AD的网表格式) 阅读全文
posted @ 2018-09-02 21:21 习惯就好233 阅读(2210) 评论(0) 推荐(0) 编辑
摘要: 一、设置TIM3的GPIO为推挽输出 二、设置TIM3的PWM1方式4路输出 上面的TIM周期是20ms 三、修改PWM的方法 阅读全文
posted @ 2018-08-30 12:36 习惯就好233 阅读(4525) 评论(0) 推荐(0) 编辑
摘要: 4412的笔记比较多,不方便查询。我想把它列在一个网页里,这样比较方便。 一、4412环境准备 迅为4412开发板入门准备(2018-06-29 11:17) 4412 使用搭建好的环境编译系统(2018-06-30 09:28) 4412应用编程(2018-07-06 21:47) 4412 串口 阅读全文
posted @ 2018-08-28 08:56 习惯就好233 阅读(208) 评论(0) 推荐(0) 编辑
摘要: 一、Linux定时器基础知识 1.1 定时器的使用范围 延后执行某个操作,定时查询某个状态;前提是对时间要求不高的地方 1.2 内核时间概念 Hz:(系统时钟通过CONFIG_HZ来设置,范围是100-1000;HZ决定使用中断发生的频率) 1/200 = 5ms,说明4412中是5ms产生一次时钟 阅读全文
posted @ 2018-08-27 08:32 习惯就好233 阅读(502) 评论(0) 推荐(0) 编辑
摘要: 1.Linux主机驱动和外设驱动分离思想(I2C驱动里有) SPI驱动总线架构:SPI核心层(x),SPI控制器驱动层(x),SPI设备驱动层(√)。前面两个设备驱动搞明白了可以去看 2.教程中介绍:SPI函数接口(API): 简单介绍SPI协议,硬件原理(4412datasheet) 3.教程中介 阅读全文
posted @ 2018-08-24 11:23 习惯就好233 阅读(1202) 评论(0) 推荐(0) 编辑
摘要: 1.Linux主机驱动和外设驱动分离思想 外设驱动→API→主机驱动→板机逻辑--具体的i2c设备(camera,ts,eeprom等等) 2.主机驱动 根据控制器硬件手册,操作具体的寄存器,产生波形。 Linux应用工程师:屏蔽了驱动和硬件 Linux驱动工程师:屏蔽硬件,提供标准的主机驱动。驱动 阅读全文
posted @ 2018-08-22 16:41 习惯就好233 阅读(749) 评论(0) 推荐(0) 编辑
摘要: 一、轮询方式获取按键 1.原理分析: 按键会影响电平的输入,通过GPIO的输入电平来检测按键的变化 按下0,前面实验“GPIO读”用到过 应用中是read 2.硬件准备 使用两个按键:Home和Back UART_RING和SIM_DET→ GPX1_1和GPX1_2→ EXYNOS4_GPX1(1 阅读全文
posted @ 2018-08-21 16:18 习惯就好233 阅读(1243) 评论(0) 推荐(0) 编辑
摘要: 一、PWM原理 1.有源蜂鸣器和无源蜂鸣器的概念 有源蜂鸣器高电平就响,无源蜂鸣器需要PWM波才响。 2.PWM脉冲波 PWM = 定时器 + 定时器中断(重载) + IO输出(翻转) 3.分析原理图 GPIO-GPD0_0 XpwmTOUT0定时器0,同上面IO口 4.pwm定时器上的资源 5.分 阅读全文
posted @ 2018-08-20 17:29 习惯就好233 阅读(1407) 评论(0) 推荐(0) 编辑
摘要: 一、485硬件原理 差分对传输数据的原理 IO数据的传输→差分对 rs232传输的距离在15米以下,RS485传输距离是几十米到1000米以上 为什么485可以传输这么远 差分对的机制可以降低电磁场的干扰 衰减 485传输距离和传输线有关系 注意:双绞线和屏蔽线 IO数据的传输→差分对 差分对的机制 阅读全文
posted @ 2018-08-20 14:07 习惯就好233 阅读(370) 评论(0) 推荐(0) 编辑
摘要: 一、并发基本概念 1.并发 并发的概念是:多个执行单元同时、并行被执行 Linux系统是多任务的,很多任务会同时执行 假如有三个执行单元ABC,共享了内存资源 执行单元A对Buffer写1000个"a"; 执行单元B对Buffer写1000个"b"; 执行单元C从Buffer中读取数据。 如果按照A 阅读全文
posted @ 2018-08-16 16:56 习惯就好233 阅读(196) 评论(0) 推荐(0) 编辑
摘要: 一、配置GPIO读 在视频14的基础上做 1.利用拨码开关来实现GPIO输入 所以AP_SLEEP对应GPC0_3,然后在drivers/gpio/gpio-exynos4.c中对应EXYNOS4_GPC0(0) XEINT6→GPX0_6→EXYNOS4_GPX0(6) 读寄存器手册分析流程: 2 阅读全文
posted @ 2018-08-16 11:55 习惯就好233 阅读(2011) 评论(0) 推荐(0) 编辑
摘要: 在linux系统中,proc文件系统用于导出内核的信息 proc文件系统一般是只读,也是可以通过编写代码给proc中添加信息,感兴趣可以在网上找一找代码来实现,用处不大。 类比window系统的任务管理器 学习方法参考"linux命令",知道有这个功能,用到的时候再去查即可 meminfo 返回结果 阅读全文
posted @ 2018-08-16 10:40 习惯就好233 阅读(303) 评论(0) 推荐(0) 编辑
摘要: 一、静态申请字符类设备号 字符类设备函数在文件"include/linux/fs.h"中 内核提供了三个函数来注册一组字符设备编号,这三个函数分别是 register_chrdev_region() alloc_chrdev_region() register_chrdev() register_c 阅读全文
posted @ 2018-08-11 15:25 习惯就好233 阅读(549) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 ··· 16 下一页