嵌入式
qq_28219531
这个作者很懒,什么都没留下…
展开
-
驱动调试接口-debugfs
创建目录spidev->root_dir = debugfs_create_dir(SPIDEV, NULL);在目录下创建文件节点 spidev->debug_level = debugfs_create_file("debug_level", 0664, spidev->root_dir, spidev, &debug_level_ops); if (spidev->debug.原创 2021-09-27 14:19:20 · 140 阅读 · 0 评论 -
设备驱动篇-1
注册字符设备register_chrdev(SPIDEV_MAJOR, "spi", &spidev_fops);这个注册字符设备方式会连续注册0~255个次设备号,使它们绑定在同一个file_operations操作方法结构体上,在大多数情况下,都只用极少的次设备号,所以会浪费很多资源.创建类class_create(THIS_MODULE, HOBOT_SPIDEV);找到一个空闲的次设备号find_first_zero_bit(minors, N_SPI_MINOR.原创 2021-09-27 11:10:08 · 109 阅读 · 0 评论 -
正则表达式
local chip_reg='^CONFIG__[R,P][X,V,K][0-9ESX]{1,5}'^表示匹配每行的开头.[]表示其中的任何一个字母{}表示匹配1到5次.如上可以是 # - PX30, PX3SE # - RK????, RK????X # - RV????原创 2021-09-10 09:25:38 · 99 阅读 · 0 评论 -
交叉编译opencv4.0.0
opencv4.0.0下载链接地址mkdir buildcmake-guicmake …/make错误1:/home/zw/swap/opencv/3399opencv/opencv-4.0.0/3rdparty/protobuf/src/google/protobuf/stubs/common.cc:52:2: error: #error "No suitable threading library available." #error "No suitable thr原创 2021-09-09 17:24:17 · 392 阅读 · 0 评论 -
docker命令记录
当本地有docker镜像,查看有哪些镜像时.rd@rd-virtual-machine:~/docker_dir$ sudo docker images -a[sudo] rd 的密码: REPOSITORY TAG IMAGE ID CREATED SIZExilinx/petalinux2019.2 v1.1 45d049202a9b 19 minutes ago 17.8GBxilinx/peta.原创 2021-05-18 16:56:03 · 91 阅读 · 0 评论 -
qt MainWindow窗口类
创建mainwindow工程mainwindow.h#ifndef MAINWINDOW_H#define MAINWINDOW_H#include <QMainWindow>namespace Ui {class MainWindow;}class MainWindow : public QMainWindow{ Q_OBJECTpublic: explicit MainWindow(QWidget *parent = 0); ~MainW原创 2020-12-16 16:03:47 · 943 阅读 · 0 评论 -
input记录
38 #define BIT(x) (1UL 39 #define LONG(x) ((x)/BITS_PER_LONG)w55fa93_dev->keybit[LONG(BTN_TOUCH)] = BIT(BTN_TOUCH); 理解未将所用到的按键置为1,LONG相当于将其按long型进行分组,BIT相当于在分组里面移位到所定义的位置。原创 2017-04-12 16:52:49 · 220 阅读 · 0 评论 -
irq中断子系统
参考:http://blog.csdn.net/adaptiver/article/details/6834337 1 因为当中断发生的时候系统由中断门 进入时自动关中断(对于x86平台就是将eflags寄存器的if位置为0),在irq_exit中恢复中断 2 貌似在handle_edge_irq中也有对中断关闭和打开的操作 3 两点说明:一是因为linux不支持 中断优先级,因此任何中断都原创 2017-08-23 17:57:05 · 1089 阅读 · 0 评论 -
软中断知识
参考:http://blog.csdn.net/yiyeguzhou100/article/details/49909787 http://blog.csdn.net/adaptiver/article/details/6177646 http://yaoyang.blog.51cto.com/7657153/1261841 在说软中断前,先说一下preempt_cou原创 2017-08-23 17:58:41 · 371 阅读 · 0 评论 -
list_for_each_entry分析
offsetof(type,member) #define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER)1. member是结构体为type类型的一个成员,这个函数实现了member成员在type类型的数据中的偏移量。container_of #define container_of(ptr, t原创 2017-03-21 14:00:09 · 410 阅读 · 0 评论 -
shell脚本替换文件含空格
1 sudo find ./ -name *.c|sudo xargs -I {} rm -f {} 2 find ./|grep -wv *.ge|sudo xargs -I {} rm -f {} 3 find ./ -name '*[^g][^e]'|sudo xargs -I {} rm -f { 4 find ./ -name Makefile|sudo xargs原创 2018-01-16 12:51:48 · 1232 阅读 · 0 评论 -
常使用的命令集合
sudo scp test efy@192.168.1.141:/home/efy/原创 2018-07-09 12:45:30 · 181 阅读 · 0 评论 -
编译ubi工具
一.下载源代码。1. sudo wget http://www.oberhumer.com/opensource/lzo/download/lzo-2.03.tar.gz2.sudo wget http://zlib.net/zlib-1.2.11.tar.gz3.sudo wget http://debian.mirror.inra.fr/debian/pool/main/m/mtd-utils...原创 2018-07-03 14:05:23 · 584 阅读 · 0 评论 -
usb描述符
USB技术论坛 USB 产品 USB技术文档 USB开源项目 USB开发网 ...转载 2018-07-26 19:12:55 · 230 阅读 · 0 评论 -
putty设置reg
Windows Registry Editor Version 5.00[HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\Sessions\192.168.104.163]“Present”=dword:00000001“HostName”=“192.168.104.163”“LogFileName”=“putty.log”“LogType”=d...原创 2019-05-05 10:29:47 · 418 阅读 · 0 评论 -
gpio子系统之2440
先看板级定义的结构体struct s3c_gpio_chip s3c24xx_gpios[] = { [0] = { .base = S3C2410_GPACON, .pm = __gpio_pm(&s3c_gpio_pm_1bit), .config = &s3c24xx_g原创 2017-08-21 18:07:45 · 526 阅读 · 0 评论 -
动态加载驱动之热拔插之usb驱动
1.USB主机端的USB集线器监听它的每个端口电压信号的变化。若usb插入主机后,引起信号线的电平信号发生变化,此时主机就知道有新设备插入了。USB 主机检查到设备插入后: 1)首先会重新启动这个设备,接着主机发出Get_Port_Status请求来验证设备是否已经重启,设备重启后主机通过检测根信号线的电平状态判断设备的速度。 2)主机会向设备的控制端点发送Get_Descriptor来了解很原创 2017-07-26 17:59:22 · 1387 阅读 · 0 评论 -
触摸屏校正原理
转载时请表明原文出处(http://blog.sina.com.cn/wyw1976)及作者邮箱(wyw1976@gmail.com) (1)触摸屏为什么需要校正? 触摸屏与LCD显示屏是两个不同的物理器件。LCD处理的像素,例如我们通常所说的分辨率是600x800,实际就是指每行的宽度是600个像素,高度是800个像素,而触摸屏处理的数据是点的物理坐标,该坐标是通过触摸屏控制器采集到的。转载 2017-05-15 13:43:32 · 3449 阅读 · 0 评论 -
中断处理流程记录
函数顺序 request_irq – request_threaded_irq – __setup_irq ret = request_irq(RX_IRQ(port), w55fa93_serial_irq, 0, w55fa93_serial_portname(port), ourport);各参数原创 2017-04-24 16:42:01 · 433 阅读 · 0 评论 -
usb驱动之初识 ohci ehci和uhci区分
什么是 ehci?什么是 ohci?就是host controller 的接口EHCI和OHCI,UHCI的比较和区别 什么是 ehci?什么是 ohci?就是host controller 的接口.从硬件上来说,usb 设备要想工作,除了外设本身,必须还有一个咚咚叫做 usb host controller.一般来说,一个电脑里有一个 usb host controller就可以转载 2017-04-19 18:20:36 · 714 阅读 · 0 评论 -
输入子系统之触摸屏分析
记录1: 字符设备设置名字在函数中 device_create(tty_class, device, dev, NULL, name); dev = device_create_vargs(class, parent, devt, drvdata, fmt, vargs); retval = kobject_set_name_vargs(&dev->kobj, fmt, args); re原创 2017-04-19 17:45:46 · 425 阅读 · 0 评论 -
sfr与sbit的理解,及单片机中断
sfr (special function register)定义的变量是将单片机的特殊功能寄存器赋值给一个变量,在程序设计中就能引用这个寄存器。sbit 是对寄存器进行位操作,可对寄存器中某位置1或者清0.STC图中这么多特殊功能寄存器之后可能会产生一些困扰,我们用sfr P0 = 0×80表示P0,用sfr SP = 0×81表示SP,这个没有歧义。有困扰的是:假如用sb原创 2016-10-25 15:53:46 · 1609 阅读 · 0 评论 -
解决 liblzo2.so.2缺失和libuuid.so缺失
1. 提示错误: error while loading shared libraries: liblzo2.so.2: cannot open shared object file: No such file or directory2. 使用如下命令。3. 提示错误: error while loading shared libraries: libuuid.so.1:原创 2016-12-20 14:41:36 · 4262 阅读 · 0 评论 -
串口驱动详细分析
串口驱动(使用中断)完整读操作当串口数据满,fifo数据达到设定阈值时,发生接收中断。当串口数据空时,发生发送中断。如下:1)发送和接收:发送: 循环buffer -(驱动做)-> 发送 fifo -(硬件自己做)-> 发送移位寄存器 把数据写到发送fifo中。fifo把收到的数据传给发送移位寄存器(自动的,非driver控制),然后每个时钟脉冲往串口线原创 2016-12-20 17:51:13 · 1891 阅读 · 0 评论 -
Ubuntu修改apt源
1> 进入配置目录cd /etc/apt/ 并将原文件进行一次备份《cp sources.list sources.list_bak》2> 网上查找合适的源,如本次找到中科大源3> 对sources.list的原字符串进行替换新源字符串《 :%s/us.archive.ubuntu.com/mirrors.ustc.edu.cn/g》或者《:%s#//us.archive原创 2016-09-23 17:33:10 · 303 阅读 · 0 评论 -
flash基础知识
传统的FLASH分为Nor falsh和Nand flash。(1)Nor flash Nor flash存储以块为单元,写入时必须先擦除,并且擦除和写入的速度都很慢。但nor fash具有SRAM接口,有单独的地址总线和地址总线,接口简单,就像是访问ROM一样,读取速度快,能随机访问存储单元。正是这些特性,所以nor falsh被广泛用来存储启动代码。Nor falsh的价格较贵,市面转载 2017-05-15 15:01:16 · 2766 阅读 · 1 评论 -
串口调试所遇到问题,总结与借鉴
问题确定串口接收数据丢失,用串口工具发送一串字符数据时,有时会出现会丢失一两个数据。 可能原因1:cpu处理速度过慢,在下一次中断来临时,此次中断还未处理完。 解决方法:使用ringbuffervoid USART0_IRQHandler( void ) interrupt 4 using 2{ uint8_t count; if(SFR_RI)原创 2017-05-26 17:44:06 · 6544 阅读 · 0 评论 -
sd卡记录
首先 检测是否有卡插入 有个上电有个等待上电完成 设置SPI速度为低速 对寄存器spi的设置 先产生>74个脉冲,让SD卡自己初始化完成 发送循环连续发送CMD0,直到SD卡返回0x01,进入IDLE状态,超时退出。返回的是r1 0x01CMD0 CMD8 CMD55+ACMD41 cmd1 cmd16 cmd58 cmd9 cmd17 cmd18 cmd23 cmd24原创 2017-08-10 18:07:53 · 967 阅读 · 0 评论 -
编译内核出现错误
rd@rd-virtual-machine:~/sda3/green/linux/build$ sh build.sh# configuration written to .config#scripts/kconfig/conf --silentoldconfig Kconfig*** Error during update of the configuration.scripts/kco原创 2017-07-05 13:01:55 · 5938 阅读 · 0 评论 -
移植无线网卡驱动至开发板(PXA16x)
将无线网卡插入任何可以识别USB的机器,此处将360随身WIFI插入虚拟机中。通过以下命令查看VID和PID号。可得出使用的是联发科的MT7601U芯片。rd@rd-virtual-machine:~/sda3/4310$ lsusbBus 001 Device 002: ID 148f:760b Ralink Technology, Corp. MT7601U Wireless Adapter原创 2017-06-29 15:58:55 · 736 阅读 · 0 评论 -
SKB包的接收,从网卡驱动到TCP层的处理流程
在开发模块过程中,遇到一个问题:在NF_INET_LOCAL_IN钩子处截获数据包后,如果操作失败,还要把这些截获的数据包重新传递到TCP层处理。但是这个操作是在内核线程中完成,不知道会不会对正常的数据包接收过程产生影响?因此,需要知道数据包在从网络层传递到传输层时的上下文环境(指的是是否禁止内核抢占、是否需要获取锁等)。为了解决这个问题,决定将数据包的接收过程从驱动程序到TCP层的处理流程梳理了一转载 2017-06-02 14:13:04 · 603 阅读 · 0 评论 -
hotplug认识
mdev原理mdev 是busybox 自带的一个简化版的udev,适合于嵌入式的应用埸合。其具有使用简单的特点。它的作用,就是在系统启动和热插拔或动态加载驱动程序时,自动产生驱动程序所需的节点文件。在以busybox 为基础构建嵌入式Linux 的根文件系统时,使用它是最优的选择。使用过程:(1)在编译时加上对mdev 的支持(我是使用的是busybox1.10.1):Linux System U转载 2017-05-18 16:04:55 · 805 阅读 · 0 评论 -
uboot之flash初始化
nand_init()函数其实现过程与内核nand驱动大致差不多,涉及到的结构体有pxa3xx_nand,此结构体包含mtd_info,mtd_info结构体在注册进mtd子系统时需要用到 比较重要的结构体还有nand_chip,这个结构体实现对nand操作的基本方法。应该提供:选中,发命令,发地址,发数据,读数据,判断状态的功能void nand_init(){ struct原创 2017-05-17 18:07:39 · 986 阅读 · 0 评论 -
IP、子网掩码、网络号之间的关系、区分和运算
转载地址IP、子网掩码、网络号之间的关系、区分和运算IP地址总共是32位二进制数表示,每8位为一节,总共4节。日常使用中每节用一个十进制表示(0-255)。每个IP地址都是由网络号+主机号组成,前面N位表示网络号,后面32-N位表示主机号。到底前面几位表示网络号就是由子网掩码来区分,在子网掩码中用1和0来分别网络号位和主机号位,其中是1的表示是网络位,0表示主机位,前面说的转载 2017-05-08 16:38:49 · 1102 阅读 · 0 评论 -
vim设置
vim /home/rd/.vimrc 1 set nu 2 syntax on 3 set cursorline 4 inoremap { {}O 5 set noincsearch 6 set fileencodings=utf-8,gb2312,gbk,gb18030 7 set termencoding=utf-8 8 set fil原创 2016-12-21 14:19:39 · 252 阅读 · 0 评论