自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 资源 (51)
  • 收藏
  • 关注

转载 Linux_2.6内核配置说明

Code maturity level options代码成熟度选项Prompt for development and/or incomplete code/drivers显示尚在开发中或尚未完成的代码与驱动.除非你是测试人员或者开发者,否则请勿选择General setup常规设置Local version - append to kernel release

2013-02-28 14:22:37 781

原创 LDD3读书笔记----调试技术

内核编程带有它自己的, 独特的调试挑战性. 内核代码无法轻易地在一个调试器下运行, 也无法轻易的被跟踪, 因为它是一套没有与特定进程相关连的功能的集合. 内核代码错误也特别难以重现, 它们会牵连整个系统与它们一起失效, 从而破坏了大量的能用来追踪错误的证据.内核中的调试支持这里, 我们列出用来开发的内核应当激活的配置选项. 除了另外指出的, 所有的这些选项都在 "kernel hackin

2013-02-28 14:10:20 775

原创 LDD3读书笔记----内存映射

1.Linux 中的内存管理Linux 是, 当然, 一个虚拟内存系统, 意味着用户程序见到的地址不直接对应于硬件使用的物理地址. 虚拟内存引入了一个间接层, 它允许了许多好事情. 有了虚拟内存, 系统重运行的程序可以分配远多于物理上可用的内存; 确实, 即便一个单个进程可拥有一个虚拟地址空间大于系统的物理内存. 虚拟内存也允许程序对进程的地址空间运用多种技巧, 包括映射成员的内存到设备内存.

2013-02-28 13:18:33 777

原创 LDD3读书笔记-----高级字符驱动操作

1. ioctl 接口在用户空间, ioctl 系统调用有下面的原型:int ioctl(int fd, unsigned long cmd, ...); ioctl 驱动方法有和用户空间版本不同的原型:int (*ioctl) (struct inode *inode, struct file *filp, unsigned int cmd, unsigned long ar

2013-02-28 13:17:53 660

原创 LDD3读书笔记------时间, 延时, 和延后工作

测量时间流失使用 jiffies 计数器j = jiffies; /* read the current value */内核输出 4 个帮助函数来转换以 jiffies 表达的时间值, 到和从这些结构:#include unsigned long timespec_to_jiffies(struct timespec *value);void jiffies_to_ti

2013-02-28 10:00:28 764

原创 LDD3读书笔记----中断处理

一个中断不过是一个硬件在它需要处理器的注意时能够发出的信号. Linux 处理中断非常类似它处理用户空间信号的方式. 对大部分来说, 一个驱动只需要为它的设备中断注册一个处理函数, 并且当它们到来时正确处理它们.中断注册int request_irq(unsigned int irq,irqreturn_t (*handler)(int, void *, struct pt_regs *)

2013-02-28 09:01:44 723

转载 start_kernel()函数分析

asmlinkage void __init start_kernel(void) { char * command_line; extern struct kernel_param __start___param[], __stop___param[]; smp_setup_processor_id(); //空

2013-02-27 11:33:56 808

原创 LDD3读书笔记------总线, 设备, 和驱动,类

总线一个总线是处理器和一个或多个设备之间的通道. 为设备模型的目的, 所有的设备都通过一个总线连接。设备模型表示在总线和它们控制的设备之间的实际连接.在 Linux 设备模型中, 一个总线由 bus_type 结构代表, 定义在 . 这个结构看来象:struct bus_type { char *name; struct subsystem subsys; struct k

2013-02-27 11:05:16 638

原创 LDD3读书笔记-----Linux 设备模型

2.6 设备模型2.6 设备模型提供了这个抽象. 现在它用在内核来支持广泛的任务, 包括:电源管理和系统关机 这些需要一个对系统的结构的理解. 例如, 一个 USB 宿主适配器不可能被关闭, 在处理所有的连接到这个适配器的设备之前. 这个设备模型使能了一个按照正确顺序的系统硬件的遍历.与用户空间的通讯 sysfs 虚拟文件系统的实现被紧密地捆绑进设备模型, 并且暴露它所

2013-02-27 10:17:03 671

原创 linux/arch/arm/kernel/head.S

/* * linux/arch/arm/kernel/head.S * * Copyright (C) 1994-2002 Russell King * Copyright (c) 2003 ARM Limited * All Rights Reserved * * This program is free software; you can redistrib

2013-02-26 23:09:32 1280

原创 init 运行级别分析

关于INITinit是Linux系统操作中不可缺少的程序之一。  所谓的init进程,它是一个由内核启动的用户级进程。内核自行启动(已经被载入内存,开始运行,并已初始化所有的设备驱动程序和数据结构等)之后,就通过启动一个用户级程序init的方式,完成引导进程。所以,init始终是第一个进程(其进程编号始终为1)。内核会在过去曾使用过init的几个地方查找它,它的正确位置(对Linux系统来

2013-02-25 11:01:29 1946

原创 linux内核常用宏实例总结-----持续更新

/* Force a compilation error if condition is true */#define BUILD_BUG_ON(condition) ((void)sizeof(char[1 - 2*!!(condition)])如果条件为真则引起一个编译时错误。使用实例:static int __init spidev_init(void){ int s

2013-02-25 03:10:22 741

原创 LDD3读书笔记----IO端口和IO内存

1.I/O 寄存器和常规内存不管硬件寄存器和内存之间的强相似性, 存取 I/O 寄存器的程序员必须小心避免被 CPU(或者编译器)优化所戏弄, 它可能修改希望的 I/O 行为.I/O 寄存器和 RAM 的主要不同是 I/O 操作有边际效果, 而内存操作没有: 一个内存写的唯一效果是存储一个值到一个位置, 并且一个内存读返回最近写到那里的值. 因为内存存取速度对 CPU 性能是至关重要的,

2013-02-21 13:46:08 827

原创 LDD3读书笔记----分配内存

1. kmalloc 的真实故事kmalloc 分配引擎是一个有力的工具并且容易学习因为它对 malloc 的相似性. 这个函数快(除非它阻塞)并且不清零它获得的内存; 分配的区仍然持有它原来的内容. 分配的区也是在物理内存中连续.kmalloc 原型是:#include void *kmalloc(size_t size, int flags); 给 kmalloc 的

2013-02-21 13:23:59 677

转载 linux中 likely与unlikely

看内核时总遇到if(likely( )){}或是if(unlikely( ))这样的语句,最初不解其意,现在有所了解,所以也想介绍一下。likely() 与 unlikely()是内核(我看的是2.6.22.6版本,2.6的版本应该都有)中定义的两个宏。位于/include/linux/compiler.h中,具体定义如下:#define likely(x) __builtin_e

2013-02-20 11:13:32 579

原创 LDD3读书笔记-----并发和竞争情况

在现代 Linux 系统, 有非常多的并发源, 并且因此而来的可能竞争情况. 多个用户空间进程在运行, 它们可能以令人惊讶的方式组合存取你的代码. SMP 系统能够同时在不同处理器上执行你的代码. 内核代码是可抢占的; 你的驱动代码可能在任何时间失去处理器, 代替它的进程可能也在你的驱动中运行. 设备中断是能够导致你的代码并发执行的异步事件. 内核也提供各种延迟代码执行的机制, 例如 workqu

2013-02-20 10:49:19 636

原创 LDD3读书笔记--字符驱动

字符设备通过文件系统中的名子来存取. 那些名子称为文件系统的特殊文件, 或者设备文件, 或者文件系统的简单结点; 惯例上它们位于 /dev 目录.传统上, 主编号标识设备相连的驱动,次编号被内核用来决定引用哪个设备。现代 Linux 内核允许多个驱动共享主编号, 但是你看到的大部分设备仍然按照一个主编号一个驱动的原则来组织. 依据你的驱动是如何编写的,你可以从内核得到一个你的设备的直接指针,

2013-02-20 09:43:57 619

原创 ashmem.c驱动源码分析

/* mm/ashmem.c**** Anonymous Shared Memory Subsystem, ashmem**** Copyright (C) 2008 Google, Inc.**** Robert Love **** This software is licensed under the terms of the GNU General Publi

2013-02-19 22:40:21 736

原创 LDD3读书笔记--建立和运行模块

1.Hello World 模块#include #include MODULE_LICENSE("Dual BSD/GPL");static int hello_init(void){ printk(KERN_ALERT "Hello, world\n"); return 0;}static void hello_exit(vo

2013-02-19 09:33:24 742

原创 LDD3 读书笔记---设备驱动简介

1.1 驱动程序的角色你也可以从不同的角度看你的驱动: 它是一个存在于应用程序和实际设备间的软件层.机制和策略的区分是其中一个在 Unix 设计背后的最好观念. 大部分的编程问题其实可以划分为 2 部分:" 提供什么能力"(机制) 和 "如何使用这些能力"(策略).在编写驱动时, 程序员应当特别注意这个基础的概念: 编写内核代码来存取硬件, 但是不能强加特别的策略给用户, 因为不同的用

2013-02-18 16:00:11 787

烟火数据集烟火数据集烟火数据集

烟火数据集烟火数据集烟火数据集

2024-08-15

YOLO火焰检测数据集4-4

YOLO火焰检测数据集4--4

2024-04-18

YOLO火焰检测数据集2-2

YOLO火焰检测数据集2--2

2024-04-18

YOLO火焰检测数据集3-3

YOLO火焰检测数据集3--3

2024-04-18

火焰识别数据集合1-2

火焰识别数据集合1

2024-04-18

YOLO火焰检测数据集

YOLO火焰检测数据集 1800 多张图片,标注完成,可直接训练

2024-04-10

rk3588下yolov5火焰识别h264输出log

rk3588下yolov5火焰识别h264输出log

2024-03-10

rk3588下yolov5火焰识别h264输出log

rk3588下yolov5火焰识别h264输出log

2024-03-10

rk3588下yolov5火焰识别h264输出log

rk3588下yolov5火焰识别h264输出log

2024-03-10

OrangePi-5-RK3588S-用户手册-v2.0.pdf

OrangePi_5_RK3588S_用户手册_v2.0.pdf

2024-02-28

sst 仿真宏130000000

sst 仿真宏130000000

2024-01-06

sst 仿真元素1300000

sst 仿真元素1300000

2024-01-06

-sst 仿真 core-1300000

-sst 仿真 core-1300000

2024-01-06

ipc http config 抓包

ipc http config 抓包

2022-12-04

systemd-analyze plot

systemd-analyze plot systemd-analyze plot

2022-09-19

开发国标28181用到的协议

开发国标28181用到的协议

2022-08-16

GobiNet-18114-Release-V1

GobiNet-18114-Release-V1

2022-08-14

linux 文档 linux 文档

linux 文档 linux 文档

2022-07-24

从0开始编译onvif 框架

从0开始编译onvif 框架

2022-07-10

onvif 抓包报文 onvif 抓包报文

onvif 抓包报文onvif 抓包报文

2022-07-07

onvif rtsp264 onvif rtsp264 onvif rtsp264

onvif rtsp264 onvif rtsp264 onvif rtsp264

2022-07-03

海思编译器编译器编译器

编译器 编译器编译器编译器编译器

2022-06-29

rtsp h265 hisi

tftp -g -r rtsp-h265 192.168.1.100 ./rtsp-h265 rtsp://192.168.1.20/test.265

2022-06-28

rtmp 传输协议code

rtmp 传输协议code

2022-06-24

ds5-ce-linux

ds5-ce-linux

2022-04-23

cpp-design-patterns-master.tar.gz

C++设计模式

2021-07-07

libcstl.zip

libcstl.zip

2021-06-01

动态数组链表数据结构.docx

动态数组链表数据结构.docx

2021-05-30

perf-tools.zip

perf 性能分析工具

2021-03-21

gcc-9.1.0.tar.xz

支持c++ 17 特性

2021-03-05

常见的十多中内核调试.pdf

常见的十多中内核调试.pdf

2021-01-24

linux code.zip

linux 应用编程中的基础函数

2020-05-25

linux网络资料.7z

linux 网络相关。

2020-04-12

linux 性能优化.7z

基本关于新能优化的介绍,用例查阅学习,供自己方便的时候查阅,也分享给大家。

2020-04-12

vim 使用的小技巧 zip

vim 使用的小技巧,文本编译器适用方法,大脚好好练习。

2019-08-11

微信小程序入门

小程序的代码构成以及四个重要的文件类型(wxml、wxss、js和app.json) 主要讲解这方面的入门书籍

2018-11-17

微信小程序和价值投资

价值投资主要讲述一个散户如何在市场上赚到钱。 微信小程序入门

2018-11-17

Linker script in Linux

Linker script in Linux 详细描述链接脚本的文档

2017-04-02

链接脚本解析

2017-04-02

关于存储方面的资料

有关存储方面的资料

2012-11-28

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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