Welcome 微信登录

首页 / 操作系统 / Linux

Linux 2.6、4.3内核编译过程的感受与总结

Linux 2.6、4.3内核编译过程的感受与总结

之前编译过Linux 2.4.10版本的内核,很好编译,中间曾经漏下了SCSI low-level drivers下的BusLogic SCSI support选项导致没法启动系统,后来打开该选项后就行了,随手关闭一些没用的选项后编译速度非常快,30秒之内完成编译。当初以为内核编译也不过如此,直到这四天开始编译更新的内核才让我吃了大亏。我起初的想法是编译一个极其简洁的内核,去掉网络、USB、光驱、等等所有没必要的东西,只留下核心功能,越精简越好,于是在1月...
ThreadPoolExecutor-线程池开发的使用

ThreadPoolExecutor-线程池开发的使用

好久没有写过笔记了,最近做的一个项目涉及打线程池和队列的开发,觉得在这个项目中学习到的还是挺多的,对线程安全,并发的知识有加深认知;当然,现在用过的东西并不是代表以后还能娴熟的使用,做好笔记非常重要;1:必须明白为什么要使用线程池:(这点很重要) a:手上项目所需,因为项目主要的目的是实现多线程的数据推送;需要创建多线程的话,那就要处理好线程安全的问题;因为项目需要,还涉及到排队下载的功能,所以就选择了线程池来管理线程以及线程池里面的任务队列workQu...
Java 单例模式详解

Java 单例模式详解

概念: java中单例模式是一种常见的设计模式,单例模式分三种:懒汉式单例、饿汉式单例、登记式单例三种。 单例模式有一下特点: 1、单例类只能有一个实例。 2、单例类必须自己自己创建自己的唯一实例。 3、单例类必须给所有其他对象提供这一实例。 单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。在计算机系统中,线程池、缓存、日志对象、对话框、打印机、显卡的驱动程序对象常被设计成单例。这些应用都或多或少具有资源管理器的功能。每...
Java Socket实现基于TCP和UDP多线程通信

Java Socket实现基于TCP和UDP多线程通信

一.通过Socket实现TCP编程1.1 TCP编程 TCP协议是面向连接,可靠的,有序的,以字节流的方式发送数据。基于TCP协议实现网络通信的类有客户端的Socket类和服务器端的ServerSocket类。1.2 服务器端套路 1.创建ServerSocket对象,绑定监听端口。 2.通过accept()方法监听客户端请求。 3.连接建立后,通过输入流读取客户端发送的请求信息。 4.通过输出流向客户端发送响应信息。 5.关闭响应的资源。1....
u-boot的配置、编译及链接

u-boot的配置、编译及链接

第一次写技术博客,还有些兴奋呢。我是CrazyCatJack,大家可以叫我CCJ或者疯猫。我即将成为一名嵌入式Linux的驱动工程师,现在还是一枚大四狗,呼呼~大学期间做了一些项目和比赛,都是基于32位的MCU(例如STM32、Freescale K60),这些呢都是根据网上的视频,PDF自学的。现在想更进一步,学习一下嵌入式Linux、UCOS-II等嵌入式系统。因为给板子加系统是一个必然趋势,控制会越来越复杂,内容也越来越多的。有一个系统统筹管理是非常...
OK210-uvc摄像头采集并显示在屏幕上(V4L2编程)

OK210-uvc摄像头采集并显示在屏幕上(V4L2编程)

手头有一个UVC(usb video class)摄像头(也称为免驱摄像头),就顺便学习了一下V4L2编程 ,写代码的过程中参考了前辈的博客,觉得写的非常的好,特将链接贴在这里http://www.linuxidc.com/Linux/2016-11/137067.htm关于V4L2讲解的可以学习前辈的博客,这里只是写了一个实例代码供看了知识点还无从下手写代码的新手作为参考。平台描述:OK210开发板。屏幕是开发板自带的800*480的RGB32格式屏幕。...
嵌入式Linux中摄像头使用简要整理

嵌入式Linux中摄像头使用简要整理

本文涉及软硬件平台:开发板:飞凌OK6410系统:Ubuntu 12.04+飞凌官方3.0.1嵌入式Linux还处在入门阶段,主要方向是嵌入式下的图像处理,最近一直在学习OpenCV和Qt相关知识,打算以此入手。本文记录在嵌入式平台摄像头的选择和测试过程中的一点经历,没有太多的技术内容,对于同样入门还在盲目摸索的同学可能有一点帮助。之前没有任何图像方面开发的经验,对于Windows平台来说,摄像头也就是插上去装个驱动,剩下的用起来就差不多了,具体的差异很难...
从一个实例来认识GDB与高效调试

从一个实例来认识GDB与高效调试

GDB的全称是GNU project debugger,是类Unix系统上一个十分强大的调试器。这里通过一个简单的例子(插入算法)来介绍如何使用gdb进行调试,特别是如何通过中断来高效地找出死循环;我们还可以看到,在修正了程序错误并重新编译后,我们仍然可以通过原先的GDB session进行调试(而不需要重开一个GDB),这避免了一些重复的设置工作;同时,在某些受限环境中(比如某些实时或嵌入式系统),往往只有一个Linux字符界面可供调试。这种情况下,可以...
C语言调用C++类成员函数的方法

C语言调用C++类成员函数的方法

最近做了一个wav格式的音频播放器,界面部分用Qt实现,中间层代码使用C语言实现,这就涉及到C和C++相互调用的问题。C++调用C语言的方法在另一篇文章中已经说明(见 http://www.linuxidc.com/Linux/2016-11/137072.htm),C调用C++的方法现做如下介绍。音频播放的时候中间层代码需要将音频的播放进度和状态等信息反馈给界面程序进行显示,但是主程序是用c++写的,通过接口函数调用c中间层代码进行相应操作并完成相应的功...
对Linux 多路复用Epoll模型的水平出发模式和边缘触发模式的理解

对Linux 多路复用Epoll模型的水平出发模式和边缘触发模式的理解

水平触发通知又叫“低速模式”,是linux epoll模型的默认方式。对于此方式《Linux/Unix系统编程手册(下册)》中的解释是:如果文件描述符上可以非阻塞地执行I/O系统调用,此时认为它已经就绪。对此,我的理解是:某个I/O实践就绪,例如,文件缓冲区收到了5个字节的数据,此时此文件描述符可读,触发epoll可读事件。但是如果就绪的文件描述符是非阻塞的(也就是说中途可以被打断),当读取三个字节的时候被别的事件打断了,下次仍然触...
S5PV210编译安装内核初体验

S5PV210编译安装内核初体验

所用平台:飞凌嵌入式OK210内核版本:Linux-2.6.39交叉编译链版本:4.3.3u-boot:板子自带的1.3.4版,通过SD卡烧录虚拟机环境:RedHat5准备工作:1、配置虚拟机环境在虚拟机中点击工具栏中”编辑->虚拟机网络编辑器”选择桥接模式,将虚拟机网卡桥接到本机的”以太网“接口修改虚拟机的IP 为192.168.2.24在虚拟机中通过servicenetwork restart 重新...
内核模块指定参数方式

内核模块指定参数方式

内核模块的参数传递方式很多,第一次尝试仅仅介绍了 指定普通类型和数组类型内核模块指定参数方式定义内核参数变量普通变量 : module_param(变量名,变量类型,访问许可掩码) 数组变量 : module_param_array(name, type,&num,perm) 关于数组长度变量num需要说一下,num保存数组的长度变量的地址,方便别的地方调用,而数组的长度由数组初始化的时候指定。内核支持的模块参数类型 bool 布尔型 invboo...
<< 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 >>