![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
linux
文章平均质量分 62
zhangbin-eos
这个作者很懒,什么都没留下…
展开
-
linux驱动-poll使用笔记
一个项目中使用了赛灵思的FPGA,需要fpga这边和arm这边进行数据通讯,通讯方式使用的是一段fpga和arm共享的ddr内存,把这块内存做了一个fifo,并通过中断出发,我在arm这边实现一个驱动来接收处理中断,然后读取fifo.原创 2024-01-02 19:52:41 · 477 阅读 · 0 评论 -
linux 应用层下/dev/i2c-%d 设备文件访问封装
在linux 应用层使用的原因有以下几点为啥要封装一层其他。原创 2023-03-22 11:31:14 · 435 阅读 · 0 评论 -
libcurl域名检测超时段错误分析
使用libcurl在域名检测超时时出现段错误,通过堆栈打印,定位问题原创 2022-11-15 10:33:46 · 774 阅读 · 2 评论 -
makefile 自动生成依赖关系-笔记
利用$(CC) -MM生成.d文件从而实现.c对.h的自动依赖,下面的例子是我从工程里的一个模块中用的原创 2022-08-26 10:51:16 · 254 阅读 · 0 评论 -
交叉编译Apache httpd for PPC
下载代码git clone https://github.com/apache/httpd.gitcd httpd当前的最新发布版本为 2.4.46 官网链接;注意官网有这么一句话Apache HTTP Server version 2.4.43 or newer is required in order to operate a TLS 1.3 web server with OpenSSL 1.1.1.git checkout 2.4.46下载一个叫srclib/apr的东西svn c原创 2021-06-28 15:57:30 · 363 阅读 · 0 评论 -
ubuntu安装局域网域名解析服务
方案1 : samba简介Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。通过设置“NetBIOS over TCP/IP”使得Samba不但能与局域网络主机分享资源,还能与全世界的电脑原创 2021-06-28 15:55:10 · 1268 阅读 · 0 评论 -
ELDK 工具链安装
访问ELDK5网站 http://www.denx.de/wiki/ELDK-5/WebHome从ftp下载对应平台镜像 ftp://ftp.denx.de/pub/eldk/5.5.3/iso/eldk-5.5.3-powerpc.iso也可以分别下载wget ftp://ftp.denx.de/pub/eldk/5.5.3/install.shwget ftp://ftp.denx.de/pub/eldk/5.5.3/targets/powerpc/core-image-base-gener.原创 2021-06-28 15:52:26 · 635 阅读 · 1 评论 -
MODULE_LICENSE的展开和检测
我们在写驱动模块的时候,一定会包含 <linux/module.h>,在我们的驱动模块代码中,一定会写MODULE_LICENSE("GPL");这个语句发生了什么,起到了什么作用?不写会怎么样?在kernel/module.c 和 include/linux/module.h#define ___PASTE(a,b) a##b#define __PASTE(a,b) ___PASTE(a,b)#define __UNIQUE_ID(prefix) __PASTE(__PASTE(_原创 2021-05-10 10:09:23 · 3495 阅读 · 0 评论 -
git.plugin.alias 自用
# cpoy from git.plugin.zsh### Query/use custom command for `git`.## Aliases# (sorted alphabetically)#alias g='git'alias ga='git add'alias gaa='git add --all'alias gapa='git add --patch'...原创 2020-06-18 17:01:59 · 151 阅读 · 0 评论 -
修改自linux内核中的kfifo模块
模块说明这个模块是修改自linux kernel的fifo模块,我用在一些裸板程序上,作为基础的数据结构;数据结构struct __fifo { unsigned int in; unsigned int out; unsigned int mask; unsigned int esize; void *data;};初始化函数参数:struct __fifo *fif...原创 2020-06-18 17:00:13 · 2238 阅读 · 0 评论 -
使用linux内核版本生成脚本setlocalversion
使用效果准备localversion文件,里面写上当前的版本>>> echo "1.0.1" > localversion运行版本生成脚本(需要在git仓库中运行)>>> ./setlocalversion $(pwd)1.0.1-00081-g3511b91当仓库中的文件进行了修改(新增文件不算),会加-dirty,如下>>> ./setlocalversion $(pwd)1.0.1-00081-g3511b91-dirty原创 2020-06-18 16:45:23 · 612 阅读 · 0 评论 -
ipsvd交叉编译
在一个项目中使用到了tcpsvd和udpsvd,但是由于bosybox无法更新,不能使用bosybox中的ipsvd程序,因此使用ipsvd的源码进行交叉编译来获取tcpsvd和udpsvd.此处使用的交叉编译器为/eldk-5.5.2/powerpc/;$CC=“powerpc-linux-gcc -m32 -mhard-float --sysroot=/opt/eldk-5.5.2/powerpc/sysroots/powerpc-linux”$AR=powerpc-linux-ar下载w.原创 2020-05-12 10:28:25 · 361 阅读 · 0 评论 -
linux 驱动开发问题记录
linux 驱动问题记录问题1ioctl(fd,2,arg): bad address解决问题1ioctl(fd,2,arg): bad address写了一个字符驱动,使用ioctl控制,内核版本是4.1.15static struct file_operations spp_fops = { ... ... .unlocked_ioctl = spp_...原创 2019-08-09 19:26:09 · 1112 阅读 · 1 评论 -
Git 安装和本地服务器构建
摘要一.Git介绍Git 是用于 Linux内核开发的版本控制工具。与常用的版本控制工具不同,它采用了分布式版本库的方式,不必服务器端软件支持.分布式的管理和多分支的结构,使得Git的出现简化了开发的流程.二.Git的安装下载Git源码包建议使用源码安装,因为rpm包通常版本太低,导致很多功能无法使用 官方源码下载https://www.kernel.org/pub/software/scm/g原创 2017-11-11 14:10:01 · 456 阅读 · 0 评论 -
vim笔记-diff
vim文件比较原文链接http://www.ibm.com/developerworks/cn/linux/l-vimdiff/源程序文件(通常是纯文本文件)比较和合并工具一直是软件开发过程中比较重要的组成部分。现在市场上很多功能很强大的专用比较和合并工具,比如 BeyondCompare;很多IDE 或者软件配置管理系统,比如Eclipse, Rational ClearCase都提供了内建的功能转载 2017-11-11 14:13:39 · 196 阅读 · 0 评论 -
linux git bash提示符设置
都配置号了之后在home下的显示[alex@alex-ubuntu ~]@~>>> 在仓库中的显示[alex@alex-ubuntu ~/git_space/VS-XXXXDN-EM]@VS-XXXXDN-EM(develop)>>> 修改仓库后显示[alex@alex-ubuntu ~/git_space/VS-XXXX......原创 2018-09-07 10:29:39 · 2052 阅读 · 0 评论 -
lua交叉编译
获取源码curl -R -O http://www.lua.org/ftp/lua-5.3.5.tar.gztar zxf lua-5.3.5.tar.gzcd lua-5.3.5修改Makefile修改安装路径vi MakefileINSTALL_TOP= /usr/local改为INSTALL_TOP= 自定义安装路径修改编译配置...原创 2018-09-07 17:50:10 · 1020 阅读 · 0 评论 -
crc16代码-标C实现
16位循环冗余校验#include &lt;stdio.h&gt;#include &lt;stdint.h&gt;#include &lt;string.h&gt;#include &lt;stdlib.h&gt;#include &lt;unistd.h&gt;#include &lt;fcntl.h&原创 2018-09-30 16:14:28 · 1477 阅读 · 0 评论 -
替换 rm 为 mv
#history -cexport LANGUAGE=&quot;en_US.UTF-8&quot;#export LC_ALL=&quot;C&quot;#Aliases#auther zb#To make work easy#1------------------------alias vi='vim'alias cp='cp -v'alias cpr='cp -vr'alias mv='mv -v'ali...原创 2019-03-12 16:13:49 · 219 阅读 · 0 评论 -
修改自linux/include/linux/list.h的链表模块
/****************************************************************************** LIG HEAD FILE ****************************************************************************** File Name : lig_bas...原创 2019-03-12 16:25:24 · 314 阅读 · 0 评论 -
curl调试web/cgi
#! /bin/bash#URL='http://192.168.20.127/cgi-bin/lig_switch.cgi'cat &amp;lt;&amp;lt;EOF | while read linequery={&quot;name&quot;:&quot;switch&quot;,&quot;data&quot;:{&quot;at原创 2019-03-12 16:26:36 · 599 阅读 · 0 评论 -
echo显示带颜色
echo显示带颜色echo显示带颜色,需要使用参数-e格式如下:echo -e “\033[字背景颜色;文字颜色m字符串\033[0m”例如:echo -e “\033[41;37m TonyZhang \033[0m”其中41的位置代表底色, 37的位置是代表字的颜色注:1、字背景颜色和文字颜色之间是英文的“&quot;&quot;”2、文字颜色后面有个m3、字符串前后可以没有空格,如果有的话,...转载 2019-03-12 16:27:03 · 4474 阅读 · 0 评论 -
编写PC上的linux驱动模块
安装 kernel-header模块代码helloworld.c#include <linux/init.h>#include <linux/module.h>//程序入口static int helloworld_init(void){ printk("%s\n", __func__); return 0;}//程序出口st...原创 2019-03-26 18:33:27 · 147 阅读 · 0 评论 -
u-boot env 存储
查找env的偏移地址和大小:通过查找saveenv命令,找到```#elif defined(CONFIG_ENV_IS_IN_NAND)#undef CONFIG_ENV_SIZE#define CONFIG_ENV_OFFSET (60 << 20)#define CONFIG_ENV_SECT_SIZE (128 << 10)#define CONF...原创 2019-03-26 18:36:31 · 790 阅读 · 0 评论 -
linux文件锁笔记
一、概述应用程序的一个常见的需求是从一个文件中读取数据,修改这些数据,然后将这些数据写回文件,当同一时刻只有一个进程使用这个文件,这么做不会出现问题,但是当多个进程同时更新一个文件时,就会出现资源竞争的问题。文件锁是一种文件读写机制,在任何特定的时间只允许一个进程访问一个文件。利用这种机制能够使读写单个文件的过程变得更安全。主要内容文件锁的分类与原理文件锁的使用结束语二、文件锁的介绍文件锁主原创 2017-10-14 10:09:21 · 374 阅读 · 0 评论