北京-大白的博客

凡事预则立 不预则废

Linux驱动开发学习-05.并发和竞争

文章目录05.并发和竞争5.1 信号量(`semaphore`)5.1.1 基本概念5.1.2 函数接口5.2 Completions机制5.2.1 基本概念5.2.2 函数接口5.3 自旋锁(`spinlock`)5.3.1 基本概念5.3.2 函数接口5.4 顺序锁(`seqlock`)5.4...

2019-06-13 14:00:31

阅读数 30

评论数 0

Linux驱动开发学习-04.调试技术

文章目录04. 调试技术4.1 `printk`4.2 `/proc`文件系统4.2.1 基本概念4.2.2 相关源码4.3 `ioctl`4.3.1 基本概念4.3.2 相关源码4.4 `oops`消息4.5 调试工具4.5.1 `gdb`4.5.2`kgdb`工具4.5.3 `kdb`4.7 ...

2019-06-13 13:59:02

阅读数 19

评论数 0

Linux驱动开发学习-03.设备编号

文章目录03.设备编号3.1 设备编号3.1.1 主次编号3.1.2 分配和释放设备编号3.2 三个重要的数据结构3.2.1 `file_operations`3.2.2 `file`3.2.3 `inode`3.3 字符设备注册3.4 操作函数集3.4.1 open方法3.4.2 releas...

2019-06-13 13:57:21

阅读数 15

评论数 0

将SMB/CIFS网络硬盘永久的挂载到Ubuntu上

将SMB/CIFS网络硬盘永久的挂载到Ubuntu上 Linux如何挂载网络硬盘

2019-06-12 08:55:56

阅读数 23

评论数 0

Mac访问samb太慢

加快你的mac访问samba的速度 解决MAC系统(10.11.5+ AND MACOS SIERRA)读取 SAMBA 共享速度慢的问题

2019-05-26 11:01:07

阅读数 61

评论数 0

Intellij打包Java程序常见问题

Intellij 打包Java程序常见问题 常见打包方法 双击生成的xxx.jar文件,无法启动 可切换使用命令启动java -jar xxx.jar,然后就可以在终端中看到无法启动的原因 报xxx中没有主清单属性 多半是MANIFEST.MF的问题 资源文件加载问题 找不到资源文...

2019-05-20 16:52:44

阅读数 10

评论数 0

Java(Intellij)与C++(Qt)混编

准备工作:Qt与Intellij编译器位数必须一致,同时32位或64位(Qt在安装过程中可以选择添加64/32位编译器) 1. 使用Intellij新建java程序 //testNative.class public class testNative { static { ...

2019-05-17 18:32:09

阅读数 57

评论数 0

Java中的byte类型

前言 在一次小项目中,使用了Java与QT进行TCP的通信,Java中只需要将要发送的字节数据写入OutputStream变量,然后write即可发送,但OutputStream.write只接受byte类型数据,若发送一个int数据则需要拆分为4个byte;Java的byte数据范围为-128~...

2019-05-14 19:11:45

阅读数 131

评论数 0

Linux驱动开发学习-02.第一个模块HelloWorld

文章目录02.第一个模块-HelloWorld2.1 内核划分2.1.1 根据系统结构划分(5):2.1.2 根据模块划分2.1.3 设备分类(3)2. HelloWorld模块2.2.1 源文件2.2.2 模块安装与卸载2.2.3 注意2.3 带参HelloWorld模块2.4 源码说明2.4....

2019-05-08 19:20:30

阅读数 24

评论数 0

编译内核的make命令

编译内核的make命令 问题描述 在编译友善之臂NanoPi NEO Air的Linux-4.14内核时,当我按照wiki说明,使用如下命令进行编译时,编译通过; cd linux touch .scmversion make sunxi_defconfig ARCH=arm CROSS_COMP...

2019-05-05 10:37:20

阅读数 163

评论数 0

提高Github Clone速度

Github Clone速度(注意SS本地端口不一定是1080,需要查看SS实际端口) 实测克隆速度提高10倍

2019-05-02 22:40:10

阅读数 21

评论数 0

Linux驱动开发学习-01.准备工作

Linux驱动开发-01.准备工作 在读了几天《Linux设备驱动程序》后,感觉读书效率不高,两三天才读完一个章节,并且读完后能输出的东西也很少。入门时,逐字逐句读书简直太浪费时间,并且细节的东西读了就忘,毫无意义。因此,这里反思学习方法,并从头开始。 Linux内核开发其实际大部分为驱动开发。 ...

2019-05-02 11:22:56

阅读数 32

评论数 0

Linux设备驱动程序读书笔记(3)

第3章 字符驱动 本书示例scull 不依任何赖硬件设备,只是操作一些从内核分配的内存,任何人都可以编译和运行scull;注意,本章节源码摘自NanoPi-linux3.4.y内核,与阅读的本书源码略有差别 文章目录第3章 字符驱动3.1 scull设计需求3.2 设备编号3.2.1 设备编号的内...

2019-04-29 20:01:02

阅读数 45

评论数 0

Java内存结构、内存模型以及对象模型

1. Java内存结构(6) Java内存结构即运行时数据区域,Java虚拟机在执行Java程序的过程中,会把它管理的内存划分为几个不同的数据区域,这些区域都有各自的用途、创建时间、销毁时间 1.1 PC寄存器/程序计数器 程序计数器用于保存当前正在执行的程序的内存地址,以便线程的中断和恢复,每...

2019-04-26 17:27:23

阅读数 11

评论数 0

JavaCV调用摄像头

安装Javacv 简介:javacv是使用java的视觉库,包含了Opencv、FFmpeg等接口 github-javacv 若是Intellij IEDA可直接新建Maven项目,在pom.mxl中添加依赖,IDEA将自动下载依赖库 <?xml version=&...

2019-04-24 21:27:26

阅读数 105

评论数 0

Mac终端神器

Mac终端神器-tmux Mac终端神器-oh-my-zsh Mac终端主题-powerlevel9k Mac终端目录切换-autojump

2019-04-12 15:17:22

阅读数 141

评论数 0

常用网络调试工具

nmap 功能:主机探测、端口扫描、版本检测、系统检测、支持探测脚本编写 检查网段主机存活情况,还能看到各IP端口状态 nmap 192.168.8.1/24 #24表示子网掩码255.255.255.0 #exp: Host is up (0.0042s latency). Not show...

2019-04-03 11:38:29

阅读数 343

评论数 0

openwrt端口转发功能

在宿舍(局域网IP)远程控登录实验室PC(局域网IP)时,由于PC置于Openwrt下,无法直接远程连接,需要用到Openwrt的端口转发功能 第一步,允许防火墙端口转发功能(Network->Firewall) 即允许WAN口的外部接入功能 第二步,添加转发规则(Netw...

2019-04-02 15:50:35

阅读数 383

评论数 0

关于STM32 PWM计算问题

至于STM32的PWM的基本知识,博客 STM32——PWM基本知识及配置过程已经说的非常清楚了,这里再说明一下PWM的频率和占空比计算 首先要搞清楚单片机的时钟树,搞清楚TIM的时钟来源以及具体时钟频率,这里以TIM2CH4为例,假设时钟来源为内部时钟HSI,最终到APB1的时钟为8M,TI...

2018-12-08 11:10:33

阅读数 711

评论数 0

Homebridge 插件编写

前言 Homebridge is a lightweight NodeJS server that emulates the iOS HomeKit API; 之前在linux上部署过homebridge,最近玩路由在路由器上部署了homebridge,具体怎么部署就不说了,还是来重温一下home...

2018-12-04 20:05:11

阅读数 988

评论数 0

提示
确定要删除当前文章?
取消 删除