
Linux系统
文章平均质量分 94
包括内核,设备驱动,应用等
川渝小神丢
独立思考!
展开
-
ARM-LINUX平台下的文本文件打印机打印
一、前言在前段时间构建打印系统的过程中,积累了一些打印相关知识,为实现上述目标也制定了计划,本文档就是计划任务具体实现的技术文档。分为如下几个部分:1. ARM-LINUX平台下实现文本文件打印方案。2. 上层服务软件的移植。3. 打印接口制作。 在计划最后,还准备实验佳能公司打印机,会编写单独的实验报告,本文档不会详细介绍。二、ARM-LINUX平台下实现文本文件打印方案根据前期工作,已明确使用Ghostscript...原创 2021-10-07 17:32:37 · 3309 阅读 · 0 评论 -
基于ARM处理器的U-BOOT详细移植总结
一个嵌入式产品的开发阶段,需要不断地把bootloader下载到存储器中,如果存储器使用nand flash,但是第一次里面什么都没有,所以只能根据处理器的启动方式从其他方式启动如sd卡或nor存储器启动,然后在SD卡或nor存储器启动的基础之上使用USB或网络接口把u-boot.bin先下载到内存中,然后再把内存中的内容写到nand中,但是写前4页时只能写每页的前2KB数据(对于OK6410开发板来说,处理器使用S3C6410处理器,nand使用每页4KB的存储器,当从nand启动时,处理...原创 2021-10-07 17:08:44 · 3836 阅读 · 0 评论 -
安装桌面Linux系统总结
一、计算机的硬盘接口1 . IDE接口IDE接口的装置(硬盘或光盘设备)比较老,可以连接到IDE接口的装置都可称为IDE装置,不管是硬盘设备还是光盘设备。一般计算机都会提供两根IDE扁平电缆,每根电缆可以连接2个IDE装置,所以一台计算机最多可以连接四个IDE装置,如果已经有一个光盘设备,那么计算机就只能连接3个IDE硬盘。计算机上的两根IDE扁平电缆对应的接口被称为 IDE1(primary)及 IDE2(secondary),而每条扁平电缆...原创 2021-10-07 16:23:22 · 657 阅读 · 0 评论 -
Linux下RS232和RS485编程有什么区别?
Linux下串口编程沿袭了Unix的POSIX标准,编程时只要包含,然后调用tcgetattr tcsetattr等函数,就可以完成对串口波特率,启停位,校验方式等的设置。 有人会问,这些设置里,看不到对RS232或者RS485的区分啊,对于这两种协议没有编程的区别吗? 其实,看了我这篇讲UART和RS232和RS485关系的文章的话,就会理解:转载 2016-06-01 15:28:32 · 6298 阅读 · 1 评论 -
Linux下文件读写示例
1. 对于fread或fwrite查看man手册,其中要注意返回值。2. 上述两个函数第二个参数如果是1,那么返回值即实际传输长度,如果返回值是0,一般表示文件传完;如果返回值等于需要传输长度,那么正常;如果返回值小于指定传输长度,那么有可能是最后一次传输,因为到达文件尾,也有可能是传输错误;如果第二个参数不是1,那么就不能通过返回值判断是否传输完,要通过对应库函数来判断是否到达文件尾。如原创 2015-08-26 12:06:59 · 574 阅读 · 0 评论 -
Linux下C代码浏览工具--cscope
Cscope 是一款开源免费的 C/C++浏览工具,自带一个基于文本的用户界面,通过cscope可以很方便地找到某个函数或变量的定义位置、被调用的位置等信息。Cscope对 C /C++支持较好,也可以自己定制来支持Java和Perl、Python等脚本语言。Vim和gvim都提供了cscope接口,通过适当的配置,可以在Unix/Linux下实现变量、函数、文件等之间跳转,就像Windows下的原创 2014-12-30 11:33:08 · 952 阅读 · 0 评论 -
Linux下串口编程
在linux中,系统对上层程序人员把底层对寄存器的操作屏蔽了,提供了统一的ARI接口。我们只要通过这些统一的接口(open,write,read)来对UART0串口进行操作。在Linux系统启动时,设备驱动将被加载。设备驱动成功加载后,将向系统反馈一个主设备号,驱动程序将根据该主设备号在/dev目录下创建对应的设备文件。程序(进程)就可以使用open,read,write函数或命令来实现对设备原创 2015-03-20 18:32:34 · 693 阅读 · 0 评论 -
Posix线程编程指南
关于线程编程比较好的资料,具体链接如下:https://www.ibm.com/developerworks/cn/linux/thread/posix_threadapi/part1/index.html或https://blog.youkuaiyun.com/yi412/article/category/3212251...转载 2019-04-11 15:09:10 · 150 阅读 · 0 评论 -
Linux应用中用backtrace和memory map信息定位段错误代码的方法
Linux内核出现段错误,会打印出栈信息(dmesg命令可以看到这些信息)。linux中Oops信息的调试及栈回溯(sù),http://blog.youkuaiyun.com/u012839187/article/details/78963443。Linux core 文件介绍:https://www.cnblogs.com/dongzhiquan/archive/2012/01/20/2328355.h...原创 2020-03-27 14:33:21 · 2199 阅读 · 1 评论 -
CRC/Hash/Des/Rsa/数字签名/Openssl的介绍和应用总结
一、概述 说到数据安全,必然少不了加密与解密,本章介绍常用加密原理。二、常用加密算法1.加密算法的分类 常见的加密算法可以分成三类,对称加密算法,非对称加密算法和Hash算法。(1)对称加密算法 指加密和解密使用相同密钥的加密算法。优点在于加/解密速度快和使用长密钥时的难破解性,缺点是只有一个密钥,容易泄漏。 常见的对称加密算法有DES、3DES、Blowfis...原创 2019-10-31 17:33:25 · 2533 阅读 · 0 评论 -
医疗电子平台选择:FPGA、ARM、X86、DSP还是GPU
本文转自2010年4月份的一篇文章,在平台选择上可能已有更高性能和更稳定的平台替代。http://www.elecfans.com/yiliaodianzi/20100427216845.html“迈瑞对于处理器平台的选择有两个看似矛盾的原则:‘多’和‘少’。其中‘多’是指多样性,我们知道无论是DSP、ARM、X86还是FPGA、GPU,每个平台都有各自的优点和缺陷,因此在设计产品时就可以根据转载 2015-08-03 14:02:38 · 3416 阅读 · 0 评论 -
H3C交换机划分vlan和作为DHCP Server配置
交换机划分Vlan及DHCP----H3C S5110 Series一、划分VLAN1. 保证交换机不连接到外网,因为连接到外网后,交换机容易自动转变为转发功能。然后进入系统视图。 <H3C>system-view2. VLAN 100---创建VLAN 100,注意需要先进入系统视图 dis vlan 100 3. 配置交换端口GigabitEthernet1...原创 2018-06-11 09:29:54 · 46285 阅读 · 0 评论 -
嵌入式ARM-LINUX系统搭建vlan服务
1. 内核移植支持VLAN(配置编译即可) --- Networking support Networking options <M> 802.1Q VLAN Support (编译为模块加载) [ ] GVRP (GARP VLAN Registration Protocol) support (不选,即不编译)烧录内核后,系统启动,用下面方法验证是否成...原创 2018-06-11 09:27:43 · 2089 阅读 · 0 评论 -
Windows上构建DHCP Server
转载请注明出处~~~ 如果计算机不是安装的windows Server版操作系统,搭建DHCP可以使用Open DHCP Server软件,这个软件有windows版本和Linux版本。这里介绍windows版本。 下载地址: https://sourceforge.net/projects/dhcpserver/, 这个软件的优点是只有1MB左右大小,运行起来不占用CPU等系...原创 2018-06-09 15:51:43 · 16783 阅读 · 0 评论 -
进程与线程
1. 进程是系统最小资源分配单位,线程是最小执行单位。2. 进程切换开销大,线程开销小。因此进程之间通信要比线程之间通信开销大。3. 进程有独立的地址空间,虚拟地址理论上4GB,1GB内核空间,3GB应用空间。因此运行LINUX系统的处理器一般都支持MMU内存管理单元实现虚拟地址与物理地址之间映射。4. 线程间共享与独享资源: (1) 共享资源: a...原创 2020-01-13 17:36:39 · 123 阅读 · 0 评论 -
Linux输入子系统(Input Subsystem)
1.1 input子系统概述 入设备(如按键,键盘,触摸屏,鼠标等)是典型的字符设备,其一般的工作机制是低层在按键,触摸等动作发生时产生一个中断(或驱动通过timer定时查询),然后cpu通过SPI,I2C或者外部存储器总线读取键值,坐标等数据,放一个缓冲区,字符设备驱动管理该缓冲区,而驱动的read()接口让用户可以读取键值,坐标等数据。 在Linux中,输入子转载 2016-01-24 22:20:45 · 939 阅读 · 0 评论 -
Linux workqueue工作原理
1. 什么是workqueue Linux中的Workqueue机制就是为了简化内核线程的创建。通过调用workqueue的接口就能创建内核线程。并且可以根据当前系统CPU的个数创建线程的数量,使得线程处理的事务能够并行化。workqueue是内核中实现简单而有效的机制,他显然简化了内核daemon的创建,方便了用户的编程. 工作队列(workqueue)是另外一种将转载 2016-01-22 16:07:16 · 314 阅读 · 0 评论 -
查看Linux内核源码技巧的记录
一、关于Linux内核启动流程 参见文章《Linux内核启动流程笔记》。二、关于数据结构1. 双向循环链表 参见总结《Linux中List.h文件分析和应用》。2. 哈希表三、关于驱动程序的分析 基于4412-linux3.5平台,以I2C接口的触摸屏驱动为例子。1. 找驱动程序源文件 触摸屏肯定原创 2016-01-20 15:54:31 · 942 阅读 · 0 评论 -
二分法与printk()
转自《Linux内核修炼之道》 人生就是一个茶几,上面摆满了杯具。内核也是一个大茶几,不过它上面的杯具是一个个的bug。确定 bug 什么时候被引入是一个很关键的步骤, 在这个定位 bug 的过程中,不论有意或无意,都会很自然地用到二分查找的方法。二分查找法的基本原理 对于二分查找法,我们不会也不应该会感到陌生。作为 一种高效的查找算法,它曾出现在我转载 2016-01-13 10:19:41 · 383 阅读 · 0 评论 -
Linux内核启动流程笔记
一、总体流程图根据《嵌入式Linux开发完全手册》:二、移植一个新内核大致步骤1. 官网下载源码,解压缩2. 打补丁(怎么打,可以查看内核文档)3 .配置(1) Makemenuconfig(2) 使用默认配置文件,在此基础上修改 在arch/arm/config下找到相似的配置文件xxx_defconfig。执行make xxx_原创 2016-01-11 10:12:36 · 2288 阅读 · 0 评论 -
early_printk函数
分析Linux内核启动流程时可以知道,在调用setup_arch函数之前就已经调用过printk函数了,但是这个时候的printk函数只是将打印信息放在缓存区中,并没有打印到控制台上,因为这个时候控制台还没有被初始化。 只有在start_kernel函数中的console_init函数被调用后,控制台才会被注册、初始化,printk函数打印的内容才会被真正地输出到屏幕上。如果想在co原创 2016-01-06 15:12:44 · 1666 阅读 · 0 评论 -
Linux下对进程的监控
Linux下对进程的监控有多种方法,如busbox自带的top工具,可以下载安装的atop工具,其他监控程序、软件等。这里主要使用hell脚本的方法对Linux下的一个进程进行简单的监控,当然没有那些高达上的监控工具的进程异常报警功能等。#!/bin/bashwhile truedosleep 600 HOME=/opt/armDATE=/bin/date原创 2015-05-25 16:12:38 · 536 阅读 · 0 评论 -
Linux常用命令及常用法记录
1. dmesg与grep 用 dmesg 列出核心信息,再以 grep 找出内含 eth 那行,要将捉到的关键字显色,且加上行号来表示:dmesg | grep -n --color=auto 'eth' 2. grep命令常用法(1) 文本字符搜索 将/etc/passwd,有出现 root 的行取出来,同时显示这些行在/et原创 2017-10-09 10:56:16 · 273 阅读 · 0 评论 -
PC端安装Linux相关记录
一、计算机的硬盘接口1 . IDE接口 IDE接口的装置(硬盘或光盘设备)比较老,可以连接到IDE接口的装置都可称为IDE装置,不管是硬盘设备还是光盘设备。 一般计算机都会提供两根IDE扁平电缆,每根电缆可以连接2个IDE装置,所以一台计算机最多可以连接四个IDE装置,如果已经有一个光盘设备,那么计算机就只能连接3个IDE硬盘。 计算机上的两根ID原创 2016-02-23 11:47:13 · 1104 阅读 · 0 评论 -
Fedora 20中man的应用
1.如果无法查看标准库函数,需要安装man-pages软件,安装好后即可查看。2.man具体介绍(1)man手册分为多个section,每个section用一个字符表示这里的section可以理解为类别,例如:man 1 passwd 和 man 5 passwd是不一样的类别(详细见表一)。通常我们使用man passwd,这个时候man就按照预先设置的搜索路径和顺序去搜索passw转载 2015-08-25 17:28:28 · 376 阅读 · 0 评论 -
Fedora 20下安装与配置SSH服务
1. 安装openssh.xxx软件 yum -y install openssh* 2. systemctl#systemctl is-enabled servicename.service #查询服务是否开机启动#systemctl enable xxx.service #开机运行服务#systemctl disable xxx.service #取消开原创 2015-01-18 11:59:54 · 757 阅读 · 0 评论 -
WIFI相关记录
最近接到一个做wifi打印相关的需求,因此特地研究了下wifi相关知识。本文分为如下三个部分:1. wifi基本知识----相关概念2. 组网相关知识3. wifi打印相关知识一、wifi基本知识1.WLAN的定义 无线局域网(Wireless Local Area Network,即WLAN,无线局域网的缩写,指采用802.11无线技术进行互连的一组原创 2016-02-26 10:23:56 · 3164 阅读 · 0 评论 -
Linux下驱动:分层、分离机制学习笔记
一、分离分层的概念 即把硬件相关和相对稳定的东西给抽出来,并向上提供统一的接口,每一层专注于自己的事情。比如输入子系统。二、bus-dev-drv模型原创 2016-01-08 18:14:50 · 2744 阅读 · 0 评论 -
Linux下触摸屏驱动程序分析
本文以Linux3.5--Exynos4412平台,分析触摸屏驱动核心内容。Linux下触摸屏驱动(以ft5x06_ts为例)需要了解如下知识:1. I2C协议2. Exynos4412处理器的I2C接口3. bus-dev-drv模型4. Linux下I2C总线驱动框架6. Linux下输入子系统7. Linux下中断处理8. Linux下工作队原创 2016-01-22 16:31:24 · 2641 阅读 · 0 评论 -
同步,异步,阻塞,非阻塞的区别
老张爱喝茶,废话不说,煮开水。出场人物:老张,水壶两把(普通水壶,简称水壶;会响的水壶,简称响水壶)。1 老张把水壶放到火上,立等水开。(同步阻塞)老张觉得自己有点傻2 老张把水壶放到火上,去客厅看电视,时不时去厨房看看水开没有。(同步非阻塞)老张还是觉得自己有点傻,于是变高端了,买了把会响笛的那种水壶。水开之后,能大声发出嘀~~~~的噪音。3 老张把响水壶放到火上,立等水转载 2015-05-13 12:07:38 · 361 阅读 · 0 评论 -
Linux驱动设计中相关知识点记录
1. 查看主、次设备号(1)查看主次设备号 进入/dev目录,执行如下命令: ls -l |grep 设备名 //显示所有含有"设备名"字样的设备文件的主设备号和次设备号(2)单独查看 cat /pr原创 2016-01-21 17:06:06 · 388 阅读 · 0 评论 -
Linux3.5下I2C设备驱动程序
一、驱动框架 以4412+linux3.5平台为例,说明Linux下I2C设备驱动程序。这里先介绍框架的原因在于如果一条I2C总线上只连接一个I2C设备,比如本文将要用到的示例EEPROM,那么只需要以字符型设备驱动框架来写此驱动即可,即填充file_opreoration结构体中的各个成员即可,这就是设备驱动程序。 但是实际上还有可能在此I2C总线上挂接其他设备,原创 2016-01-15 11:54:48 · 4996 阅读 · 2 评论