首先我们要根据开发板原理图得到控制LED灯的引脚是哪个,我们现在以LED1为例,我们已经知道LED1由S5PV210的GPC1_3控制,因此我们按如下步骤进行: 第一步是配制S5PV210的GPC1_3为输出口: 第二步我们禁止GPC1_3的上.下拉电阻功能: 第三步就是控制GPC1_3输出高电平或低电平. 要想对GPC1进行配置,那我们需要知道其配置寄存器的地址,根据S5PV210的编程手册我们可以知道:  GPC1的配置寄存器地址是:0xE0200080 GPC1数据寄存器地址是:0xE02…
转自:http://blog.chinaunix.net/uid-20776117-id-3212095.html 本文接着input子系统学习笔记五 按键驱动实例分析上接续分析这个按键驱动实例! input_report_key()向子系统报告事件 在 button_interrupt()中断函数中,不需要考虑重复按键的重复点击情况,input_report_key()函数会自动检查这个问题,并报告一次事件给输入子系统.该函数的代码如下: C++代码 static inline void in…
Ext.Net学习笔记13:Ext.Net GridPanel Sorter用法 这篇笔记将介绍如何使用Ext.Net GridPanel 中使用Sorter. 默认情况下,Ext.Net GridPanel中的列都具有排序功能,效果如下: 如果要禁用列排序,需要在列模型中添加一个属性Sortable="false" 客户端排序 排序是对Store的操作.如果我们要在一个Store中加入排序,可以使用下面的配置: <Sorters> <ext:DataSorter P…
目标:优化性能 改善性能最好的技术就是在数据库中合理地使用索引.  索引也是数据结构,它能使数据库将指定列中的某个值快速定位在相应的行. 反模式:无规划的使用索引 1.不使用索引或索引不足 2.使用了太多的索引或一些无效的索引 (1)大多数数据库会自动地位主键建立索引,因此额外再定义一个索引就是冗余. 这个额外的索引并无任何好处,它只会成为额外的开销. (2)字符串索引很大,而且也不太可能对它进行全匹配查找. (3)使用组合索引是一个很好的选择,但是大部分创建的组合索引都是冗余或者很少使用. 组…
golang学习笔记13 Golang 类型转换整理 go语言string.int.int64.float64.complex 互相转换 #string到intint,err:=strconv.Atoi(string)#string到int64int64, err := strconv.ParseInt(string, 10, 64)#int到stringstring:=strconv.Itoa(int)#int64到stringstring:=strconv.FormatInt(int64,1…
springmvc学习笔记(13)-springmvc注解开发之集合类型參数绑定 标签: springmvc springmvc学习笔记13-springmvc注解开发之集合类型參数绑定 数组绑定 需求 表现层实现 list绑定 需求 表现层实现 map绑定 本文主要介绍注解开发的集合类型參数绑定,包含数组绑定,list绑定以及map绑定 数组绑定 需求 商品批量删除,用户在页面选择多个商品.批量删除. 表现层实现 关键:将页面选择(多选)的商品id,传到controller方法的形參,方法形參…
#!/usr/bin/env python# -*- coding:utf-8 -*-'''Selenium3+webdriver学习笔记13(js操作应用:弹出框无效如何处理)'''from selenium import webdriverfrom selenium.webdriver.common.action_chains import ActionChainsfrom selenium.webdriver.support.select import Selectimport time,…
· 在并发编程中,我们有时候会需要使用到线程安全的队列,而在Java中如果我们需要实现队列可以有两种方式,一种是阻塞式队列.另一种是非阻塞式的队列,阻塞式队列采用锁来实现,而非阻塞式队列则是采用cas算法来保证线程安全的,接下来就让我们来看一下jdk中两种队列的实现方式. 1. ConcurrentLinkedQueue的实现原理 顾名思义,这是一个基于链表结构的队列,它是一个先进先出的队列,当我们添加元素时,添加的元素链接到队列的尾部,当获取元素时返回队列的头部元素. 先看添加队列时Concu…
断断续续学驱动,好不容易有空,做了段字符驱动的例子.主要还是跟书上学习在此记录下来,以后说不定能回过头来温故知新. 首先上驱动源码 gmem.c: /************************************************************************* > File Name: gmem.c > Author: hailin.ma > Mail: mhl2018@126.com > Created Time: Fri 18 Dec 201…
在<MiZ702学习笔记7——尝试自制带总线IP>,我曾提到了AXI4-Lite的简单用法,驱动了下流水灯,只涉及到了写总线.今天,我想利用之前的VGA模块,将AXI4-Lite的读写都应用上.这篇文章主要是思想的介绍,以及AXI4-Lite读的方法.一些细节请先阅读<MiZ702学习笔记7——尝试自制带总线IP>. 具体思路为如下框图所示: 所以这次,我们需要两条AXI4-Lite总线,一条负责给VGA模块提供RGB数据(写),一条读取VGA模块提供的扫描的坐标信息(读). 点击…
Python 没有包括相应日期和时间的内置类型.只是提供了3个相应的模块,能够採用多种表示管理日期和时间值: *    time 模块由底层C库提供与时间相关的函数.它包括一些函数用于获取时钟时间和处理器的执行时间,还提供了基本解析和字符串格式化工具   *    datetime 模块为日期.时间以及日期时间值提供一个更高层接口. datetime 中的类支持算术.比較和时区配置. *    calendar 模块能够创建周.月和年的格式化表示. 它还能够用来计算反复事件.给定日期是星期几,以…
2 下面来看看tiny6410关于LED的原理图如图(1)所示: 图1    LED原理图 3 LED实例,代码如下所示:(代码摘自\光盘4\实验代码\3-3-1\src\main.c) main.c [cpp] view plaincopy #include "def.h" #include "gpio.h" #define LED1_ON   ~(1<<4) #define LED2_ON   ~(1<<5) #define LED3_O…
从23号开始用了4天时间看完了<Head First Html与CSS>这本书,本书讲解方式深入浅出,便于理解,结合习题,便于记忆,是一本不错的入门书.下面是本书的学习笔记: 一.认识HTML HyperText Markup Language,超文本标记语言的缩写.标记文本来告诉浏览器文本的结构. 注释放在<!--和-->之间,浏览器会忽略其中内容. 1.在电脑上创建一个html文件 打开记事本,另存为后缀名为.html,编码为UTF-8. 本地测试,直接在浏览器中打开,可以直接…
GNU ARM汇编程序设计中,每行的语法格式如下: [<label>:] [<instruction | directive | pseudo-instruction>] @comment 如果语句太长,可以将一条语句分几行来书写,在行末用“\”表示换行.“\”后不能有任何字符,包含空格和制表符(Tab) 参数说明: label:为标号,可选,可以使用字母,数字,下划线:除局部标号外,必须以字母或下划线开头.标号必须以“:”号结尾.标号大小写敏感 instruction | dir…
第13章,事件 事件冒泡 IE的事件叫做事件冒泡:由具体到不具体 <!DOCTYPE html> <html> <head>      <title>Event Bubbling Example</title> </head> <body>      <div id="myDiv">Click Me</div> </body> </html> 如果你单击了…
第十五章 canvas绘图 1.WebGL是针对Canvas的3D上下文. 2.类型化数组 WebGL涉及的复杂计算需要提前知道数值的精度,而标准的JS数值无法满足需求.因此WebGL引入了一个概念,叫类型化数组.它的核心是一个名为ArrayBuffer(数组缓冲器)的类型,每个ArrayBuffer对象表示的只是内存中指定的字节数.能够通过该对象得到的信息只有它包含的字节数. var buffer=new ArrayBuffer(20); var bytes=buffer.byteLength…
一.重载赋值运算符“=” 赋值运算符“=”要求左右两个操作数的类型是匹配的,或至少是兼容的.有时候希望赋值运算符两边的类型可以不匹配,比如,把一个int类型变量赋值给一个Complex对象,或把一个 char * 类型的字符串赋值给一个字符串对象,此时就需要重载赋值运算符“=”.C++规定,赋值运算符“=”只能重载为成员函数. 程序示例分析: #include<iostream> using namespace std; class String { private: char* str; p…
或按照S5PV210学习秩序.我们首先解决的关键问题.TQ335x有六个用户按钮,每个上.下.剩下.对.Enter和ESC. 我想开始学习S5PV210当同一,写输入子系统驱动器的关键问题要解决,但浏览driver/input/keyboardgpio-keys.c,大体上看下该驱动程序,其功能是实现了通用的gpio按键. 再去看了下DTS,发现DTS中有对gpio-keys的引用.于是猜到.新的内核不须要自己编写输入子系统驱动,能够通过配置DTS直接解决按键问题.本人终于通过实验证实了这个猜想…
还是按照S5PV210的学习顺序来,我们首先解决按键问题.TQ335x有六个用户按键,分别是上.下.左.右.Enter和ESC.开始我想到的是跟学习S5PV210时一样,编写输入子系统驱动解决按键问题,但是浏览driver/input/keyboard目录时意外的发现了gpio-keys.c,大体上看下该驱动程序,其功能是实现了通用的gpio按键.再去看了下DTS,发现DTS中有对gpio-keys的引用,于是猜到,新的内核不需要自己编写输入子系统驱动,可以通过配置DTS直接解决按键问题.本人最…
1 Python基本语法元素 1.1 程序设计基本方法 计算机发展历史上最重要的预测法则     摩尔定律:单位面积集成电路上可容纳晶体管数量约2年翻倍 cpu/gpu.内存.硬盘.电子产品价格等都遵循此定律 50年来计算机是唯一一个指数发展的领域 源代码.目标代码(机器代码) 编译.解释 静态语言.脚本语言 静态语言编译器一次性生成目标代码,优化更冲份,程序运行速度更快 脚本语言 执行程序时需要源代码,维护更灵活 程序的基本设计方法IPO I:input  文件输入.网络输入.控制台输入.交互…
学习ARM也有一定时间了,想想还是记点东西,要不以后就忘了.这是我的第一片,简简单单.但比较基础.1. ARM中一些常见英文缩写解释MSB:最高有效位:LSB:最低有效位:AHB:先进的高性能总线:VPB:连接片内外设功能的VLSI外设总线:EMC:外部存储器控制器:MAM:存储器加速模块:VIC:向量中断控制器:SPI:全双工串行接口:CAN:控制器局域网,一种串行通讯协议:PWM:脉宽调制器:ETM:嵌入式跟踪宏:CPSR:当前程序状态寄存器:SPSR:程序保护状态寄存器: 2. MAM 使…
LED程序设计 1.编写内核模块 2.搭建字符驱动框架 3.实现设备方法 头文件 <linux/io.h> writel() 1.编译/安装驱动 make cp leddev.ko .../rootfs insmod leddev.ko 2.创建设备文件 mknod /dev/myled0 c 253 0 3.编译/运行应用程序 arm-linux-gcc -static ledapp.c -o ledapp cp ledapp .../rootfs ./ledadd 0 ./ledadd 1…
移植完成声卡驱动之后本想再接再励,移植网卡驱动,但没想到的是TI维护的内核太健壮,移植网卡驱动跟之前移植按键驱动一样简单,Nand驱动也是如此,于是,本人将Nand和网卡放在同一篇文章中介绍.介绍之前先感慨一下:TI的维护的内核真的很健壮,DTS真的很强大. 1. Nand驱动移植 阅读TQ335x的原理图可知,TQ335x的Nand连接到了GPMC上,且与DTS中默认的配置吻合,此处不做任何修改,详情如下: [cpp] view plaincopy nandflash_pins_s0: nan…
概述 如何使用spring-jms来简化jms客户端的开发? 这篇文章主要记录如何配置以便以后复用,而非原理的讲解,有些内容我 没有掌握原理. producer端 producer端负责发送,这里使用JmsTemplate. spring配置 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans&qu…
计算机串口基本理论 1.什么是串口? 2,什么是RS-232? 3,什么是RS-422? 4,什么是RS-485? 5,什么是握手? 1,什么是串口? 串口是计算机上一种非常通用的设备通信的协议(不要与通用串行总线Universal Serial Bus或者USB混淆).大多数计算机包含两个基于RS232的串口.串口同时也是仪器仪表设备通用的通信协议:很多GPIB兼容的设备也带有RS-232口.同时,串口通信协议也可以用于获取远程采集设备的数据. 串口通信的概念非常简单,串口按位(bit)发送和…
1..section 1.1.语法格式 .section section_name[,"flags"[,%type[,flag_specific_arguments]]] 1.2.作用 定义一个段,每一个段以段名为开始,以下一个段名或者文件结尾为结束. ELF格式允许的段标志: a:可分配 w:可写段    x:执行段 1.3.举例 .section .mysection @自定义数据段,段名为“.mysection” 2.预定义段 .text..data..bss 2.1.语法格式…
LED的驱动程序很简单,按照张字符型设备驱动设计方法顺下来即可实现,这里主要讲几个注意事项. 一.在linux系统中,操作硬件不能够使用物理地址,一定要用虚拟地址.将物理地址转化为虚拟地址的函数如下: #define    ioremap(cookie,size) 其中cookie为要转化的物理地址,size为转化空间的大小,单位为字节.返回值为转化后的虚拟地址. 二.在执行程序时我们需要顺带输入参数进去,但是是以字符串的形式输入的,不方便操控.所以用atoi函数将字符串转化为整数,函数原型如下…
今人不见古时月,今月曾经照古人.生命是如此的美丽与短暂! 学习Python已经两个月了,Python的语法通过做简单的语法题和看Python语法介绍,有了初步的了解.但上班还是要做别的事情,所以感觉学起来特别慢.有一种时不我待的感觉. 基本的语法了解了,接下来就要尽快进入到项目的实战.这样才能快速的遇到问题,并解决问题,迅速提升能力. 开始当然就是先按网上的一般步骤,用django写个博客网站出来. 接下来就是血泪啊!配置这个Python + wsgi + django, 其恶心已达到足以让我呕…
基于ok6410: led驱动程序: vim led.c #include<linux/kernel.h>#include<linux/module.h>#include<linux/init.h>#include<linux/io.h>#include<linux/fs.h>#include<linux/cdev.h>#include"led.h"#include<mach/gpio-bank-k.h>…
经过一段时间的调试,终于调好了TQ335x的声卡驱动.TQ335x采用的Codec是WM8960,本文来总结下WM8960驱动在AM335x平台上的移植方法.Linux声卡驱动架构有OSS和ALSA两种架构,目前最常用的架构是ALSA,本文也使用ALSA架构对WM8960驱动进行移植. ASoC是对ALSA驱动架构的进一步封装.ASoC将ALSA驱动中的各模块抽象为三部分:Platform.Codec和Machine.Platform主要是平台硬件驱动,包括SoC的IIS模块.DMA等,在本文中…