![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux操作系统
join_sheng
这个作者很懒,什么都没留下…
展开
-
Linux 操作系统 - 内存映射函数-mmap函数
Linux提供了内存映射函数mmap, 它把文件内容映射到一段内存上(准确说是虚拟内存上), 通过对这段内存的读取和修改, 实现对文件的读取和修改, 先来看一下mmap的函数声明:头文件:原型: void *mmap(void *addr, size_t length, int prot, int flags, int fd, off_t offsize);返回值: 成功则转载 2017-09-04 20:30:28 · 514 阅读 · 0 评论 -
git新建分支
1.创建本地分支git branch 分支名,例如:git branch 2.0.1.20120806注:2.0.1.20120806是分支名称,可以随便定义。2.切换本地分支git checkout 分支名,例如从master切换到分支:git checkout 2.0.1.201208063.远程分支就是本地分支push到服务器上。比如master就转载 2017-12-18 11:12:50 · 222 阅读 · 0 评论 -
linux 的POLL机制
Poll就是监控文件是否可读的一种机制,作用与select一样。应用程序的调用函数如下:int poll(struct pollfd *fds,nfds_t nfds, int timeout);Poll机制会判断fds中的文件是否可读,如果可读则会立即返回,返回的值就是可读fd的数量,如果不可读,那么就进程就会休眠timeout这么长的时间,然后再来判断是否有文件可读转载 2017-11-22 09:55:47 · 214 阅读 · 0 评论 -
ZYNQ 中断详解
Interrupt中断 概述: 1. Zynq的中断类型有: 软件中断(Software Generated Interrupt, SGI,中断号0-15)(16–26 reserved) 私有外设中断(Private Peripheral Interrupt, PPI,中断号27-31), 共享外设中断(Shared Peripheral Interrupt, SPI,中转载 2017-10-12 11:42:59 · 19794 阅读 · 3 评论 -
Linux中断
前言在前面分析了中断的基本原理后,就可以写一个内核中断程序来体验以下,也可以借此程序继续深入来了解内核中断的执行过程一.内核中断程序:我们还是来看一看成程序:在看程序之前,要熟悉如何进行模块编程,和了解module_pararm()的用法。如果不熟悉的话请大家看,module_param()的学习和Linux内核模块编程,在此不作解释。1.程序interru转载 2017-11-29 11:15:38 · 351 阅读 · 0 评论 -
json 快速入门
cJSON 开源项目位置: http://sourceforge.net/projects/cjson/ cJSON,目前来说,就只有两个文件,一个cJSON.c 一个cJSON.h文件。使用的时候,自己创建好一个main.c文件后,如果是在linux pc上,请使用以下命令进行编译: 1 gcc -g -Wall *.c -l m就会默认生成一个转载 2017-11-09 19:58:21 · 362 阅读 · 0 评论 -
Linux内核访问外设io--动态映射和静态映射
我们知道默认外设I/O资源是不在Linux内核空间中的(如sram或硬件接口寄存器等),若需要访问该外设I/O资源,必须先将其地址映射到内核空间中来,然后才能在内核空间中访问它。Linux内核访问外设I/O内存资源的方式有两种:动态映射(ioremap)和静态映射(map_desc)。一、动态映射(ioremap)方式动态映射方式是大家使用了比较多的,也比较简单。即直接通过内核提供的i转载 2017-10-11 15:07:07 · 568 阅读 · 0 评论 -
platform_device和platform_driver
原文:http://blog.csdn.net/unbutun/article/details/4026474platform_device和platform_driver(一)首先介绍一下注册一个驱动的步骤:1、定义一个platform_driver结构2、初始化这个结构,指定其probe、remove等函数,并初始化其中的driver变量3、实现转载 2017-10-10 20:18:15 · 224 阅读 · 0 评论 -
VMware Ubuntu安装详细过程
转载自转载自:http://blog.csdn.net/u013142781目录(?)[+]不是每一个程序员都必须玩过linux,只是博主觉得现在的很多服务器都是linux系统的,而自己属于那种前端也搞,后台也搞,对框架搭建也感兴趣,但是很多生产上的框架和工具都是安装在服务器上的,而且有不少大公司都要求熟悉在linux上开发,因此从个人职业发展有必要转载 2017-10-10 11:37:58 · 159 阅读 · 0 评论 -
Linux中readl和writel函数的使用方法
readX/writeX() are used to access memory mapped devices. On some * architectures the memory mapped IO stuff needs to be accessed * differently. On the simple architectures, we just read/write转载 2017-10-10 10:38:23 · 5710 阅读 · 2 评论 -
IO端口映射
linux下不可以对设备的寄存器直接访问,必须使设备的物理地址映射到内存中的虚拟地址,这样访问内存中的虚拟地址就等于访问设备的物理地址。起初在分析TX2440_adc.c中不明白 “static void __iomem *base_addr;”这个定义,主要是不清楚__iomem这个关键字的作用,后来在网上搜集到了一些关于它的资料:__iomem是2.6.9中加入的特性。是用来个表示指向一个转载 2017-10-10 09:22:07 · 995 阅读 · 0 评论 -
linux 中断机制
中断之原理篇前言:中断是计算机发展中一个重要的技术,它的出现很大程度上解放了CPU,提高了CPU的执行效率。在中断出现之前,CPU对IO采用的是轮询的方式进行服务,这使的CPU纠结在某一个IO上,一直在等待它的响应,如果它不响应,CPU就在原地一直的等下去。这样就导致了其他IO口也在等待CPU的服务,如果某个IO出现了important or emergency affai转载 2017-10-09 17:57:14 · 366 阅读 · 0 评论 -
设备树
设备树详解在Linux3.x版本后,arch/arm/plat-xxx和arch/arm/mach-xxx中,描述板级细节的代码(比如platform_device、i2c_board_info等)被大量取消,取而代之的是设备树,其目录位于arch/arm/boot/dts1.设备树的组成1个dts文件+n个dtsi文件,它们编译而成的dtb文件就是真正的设备树so转载 2017-09-30 16:40:47 · 306 阅读 · 0 评论 -
UBOOT的环境变量
uboot环境变量(设置bootargs向linux内核传递正确的参数)这是我uboot的环境变量设置,在该设置下可以运行initram内核(从内存下载到nandflash再运行),但是运行nfs根文件系统的时候一直出错,各种错误。查看了很多资料后猜想应该是uboot传递给linux内核的参数有问题,也就是bootargs的设置有问题。#printenvbootargs=noini转载 2017-09-30 10:20:50 · 341 阅读 · 0 评论 -
内存地址的计算方法
转自:http://blog.csdn.net/u014449366/article/details/65630338内存是按字节编址的,所以单位是字节哈,1字节可是等于8位的。因为计算的范围一般比较小,所以就记住两个就够了。记住几个常用的2的10次方为1024即1KB2的20次方=(2的10次方)的平方,即1MB就行了如果要求更大的,那就再记住2的40次方=(2的10次方)的4次方=转载 2017-09-30 09:06:57 · 9053 阅读 · 0 评论 -
Ubuntu PetaLinux安装教程
转自:http://blog.csdn.net/u013793399/article/details/53054734前言PetalLinux是Xilinx公司推出的嵌入式Linux开发工具,专门针对Xilinx公司的FPGA SoC芯片和开发板,用户可以在PetaLinux工具的帮助下进行完整的开发流程,包括设计,验证,仿真,下载等。 本文将详细介绍PetaLinux的安转载 2017-09-11 20:26:56 · 2308 阅读 · 0 评论 -
关于memparse函数的使用方法
作用: 将具有mem后缀的字符串解析成数字概要unsigned long long memparse ( char * ptr, char ** retptr) ; 参数ptr 解析开始的地方retptr (输出)解析完成后指向下一个字符描述 将一个字符串解析成数字。存储的数字ptr潜在地后缀为K(千字节或1024字节), M(兆字节或1048576翻译 2017-09-28 16:30:05 · 1689 阅读 · 0 评论 -
git代码提交
代码提交代码提交一般有五个步骤:1.查看目前代码的修改状态2.查看代码修改内容3.暂存需要提交的文件4.提交已暂存的文件5.同步到服务器1. 查看目前代码的修改状态提交代码之前,首先应该检查目前所做的修改,运行git status命令a) 已暂存 (changes to be committe转载 2017-12-18 11:33:57 · 190 阅读 · 0 评论