ILD

树莓派控制数码管显示
2018-7-23
4位,8段,数码管的引脚如下:型号可能不对,但是引脚是对的。测试发现是共阴极数码管。1-4是分别控制4个数码管,输出高电平,则数码管使能。abcdefg,控制数字中的7个LED灯。. 控制小数点。输入低电平,则LED亮。注意4个数码管共用8个引脚。所以4个数码管的输出结果是一样的。要想达到不同输出的

Language Standards Supported by GCC
2018-7-24
GCC支持所有的C标准,同时包含GCC自己的扩展。选项-std可以指定支持的C标准和GCC扩展。-std=c89 -std=c90 --ansi-std=c99-std=c11-std=c17C17 is A version with corrections integrated of C11。GN

Command Substitution
2018-7-24
命令替换,使用命令的输出替换自己,偶两种形式:$(command)或者`command`bash在一个subshell执环境之下命令,使用标准输出替换命令。输出结尾的newlines被删除。但是内部的newlines不被删除。$(cat file)可以使用$(

使用platform driver和device tree开发树莓派led驱动
2018-7-27
本文在树莓派上实现了一个LED驱动,通过device tree和platform driver为驱动模型,注册led到内核led class中。1 device tree首先,device tree添加led节点: hy,led@0 { compatible = "hy,gpio-led";

gpio按钮中断模块
2018-7-28
本文在树莓派3上,使用GPIO按钮触发中断,在isr中打印信息。1 开关电路GPIO连接方法,如下图:按钮按下将检测到高电平,按钮弹起为低电平。按钮弹起时,无电流。3.3K可以替换为10K的电阻。使用1K电阻,达到GPIO的电压有一点压降,3.24伏,低于3.3V。2 内核模块模块代码:#inclu

添加proc接口
2018-7-29
很多内核模块都在/proc目录添加条目,用文件读写的方式来实现用户态和内核交换数据。1 创建删除在新的内核,创建proc条目的接口通常使用:extern struct proc_dir_entry *proc_create_data(const char *, umode_t,

Kernel Interrupts
2018-8-4
Linux内核支持Nested interrupt,但是不支持reentrant interrupt。处理某一中断时,同类型的中断在所有CPU上被禁止,因此ISR不必设计成可重入的。但是新的其它类型的中断可以打断正在处理的中断,这就是中断嵌套,isr需要支持nested interrupt。中断相

lex and yacc tutorial
2018-8-6
IntroductionLex是一个lexical analyzer或者scanner。它把输入转换成tokens。Yacc是一个syntax analyzer或者parser。它分析tokens,生成syntax tree。LexLex使用正则表达式匹配字符串。lex文件的后缀通常为.l,lex输

calc2
2018-8-6
添加乘除以及括号支持calc2.l /* calculator #1 */%{ #include "y.tab.h" #include void yyerror(char *);%}%%[a-z] { yylva

softirq
2018-8-10
下半部的历史:下半部机制状态BH在2.5中移除任务队列 task queues在2.5中移除软中断 softirq从2.3开始引入tasklet从2.3开始引入工作队列 work queue从2.5开始引入软中断软中断是在编译期间静态分配的。软中断由下述结构体表示,定义在

Copyright © linuxdev.cc 2017-2024. Some Rights Reserved.