![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux
詆調
故不积蹞步,无以至千里不积小流,无以成江海。
展开
-
在VIM中设置 显示行号,语法高亮,自动缩进
本文对vim的设置仅仅针对UBUNTU与Fedora系统,其他LINUX版本我没有实验过,敬请读者谅解!谢谢在UBUNTU中vim的配置文件存放在/etc/vim目录中,配置文件名为vimrc在Fedora中vim的配置文件存放在/etc目录中,配置文件名为vimrc在终端 输入以下命令来编辑vimrc配置文件:sudo vim /etc/vim/vimrc或者 s原创 2011-12-26 17:43:58 · 612 阅读 · 0 评论 -
Epoll编程-I/O多路复用
Epoll定义epoll是Linux内核为处理大批句柄而作改进的poll,是Linux下多路复用IO接口select/poll的增强版本,它能显著的减少程序在大量并发连接中只有少量活跃的情况下的系统CPU利用率。因为它会复用文件描述符集合来传递结果而不是迫使开发者每次等待事件之前都必须重新准备要被侦听的文件描述符集合,另一个原因就是获取事件的时候,它无须遍历整个被侦听的描述符集,只要遍历那些被原创 2015-01-27 16:15:18 · 834 阅读 · 0 评论 -
u-boot-2014.10 make流程分析
u-boot-2014.10在做完xxx_defconfig后,它会根据configs/_defconfig创建的.config配置文件。接着使用make命令进行编译,则执行默认目标all# That's our default target when none is given on thecommand linePHONY := _all_all:…# We process the原创 2015-02-10 11:34:44 · 2198 阅读 · 0 评论 -
u-boot 2014-10 Makefile 配置过程分析
u-boot 2014-10的Makefile工程管理结构与以前的有了很大的区别,要做移植工作,就要了解整个工程的配置和编译过程。从u-boot文件配置到生成bin文件需要这些两个操作 1. 配置 在命令行中输入 make xxx_defconfig 2. 编译 在命令行中输入make命令配置首先分析的配置部分,当我们在命令行下输入make xxx_defconfg 命令时,顶层的Mak原创 2015-02-09 11:34:36 · 2311 阅读 · 0 评论 -
timerfd API使用总结
timerfd 介绍timerfd 是在Linux内核2.6.25版本中添加的接口,其是Linux为用户提供的一个定时器接口。这个接口基于文件描述符,所以可以被用于select/poll/epoll的场景。当使用timerfd API创建多个定时器任务并置于poll中进行事件监听,当没有可响应的事件,则程序阻塞在poll中,当有事件发生,通过poll的这个事件入口,对产生的事件进行响应,从而构成了一原创 2016-01-01 20:15:23 · 4899 阅读 · 2 评论 -
signalfd API 使用总结
最近在做一个openwrt的项目,需要实现一个功能:当系统恢复出厂设置前发送一个信号给我设计的程序,当前程序接收到信号后,恢复出厂设置外围的MCU处理器。程序才有poll方式设计的,刚开始使用的signal函数注册了SIGUSR1信号,并设置相应的处理函数。测试时发现当发送给程序信号时会导致poll程序退出,而且signal信号是异步发生的,需要解决数据的并发访问,可重入问题。破坏了程序的整体设计架原创 2016-01-03 22:49:43 · 723 阅读 · 0 评论 -
Linux 非阻塞connect
套接字执行I/O操作有阻塞和非阻塞两种模式。在阻塞模式下,在I/O操作完成前,执行操作的函数一直等候而不会立即返回,该函数所在的线程会阻塞在这里。相反,在非阻塞模式下,套接字函数会立即返回-1,而不管I/O是否完成,该函数所在的线程会继续运行。客户端调用connect()发起对服务端的socket连接,如果客户端的socket描述符为阻塞模式,则connect()会阻塞到连接建立成功或连接建立超时(原创 2016-01-04 22:11:10 · 973 阅读 · 0 评论 -
bitnami gitlab修改密码
在ubuntu上安装了gitlab,但是很久都没有使用管理员账号登录,忘记了管理员密码,而且也无法通过邮箱找回密码,所有在网上参考了其他网友的建议进行密码修改,在此记录操作过程中需要注意的地方: 参考链接 - 环境 Ubuntu 14.04 64bit gitlab-8.8.4-0 软件安装路径:/opt/gitlab-8.8.4-0 - 操作步骤 假如管理员的邮箱地址为a原创 2016-08-18 16:24:07 · 2338 阅读 · 1 评论 -
Linux程序编译时自动添加git或SVN版本
1. 添加git版本在Makefile中添加-DVERSION命令宏,并放入编译命令行中-DVERSION=\"$(shell git describe --tags)\"在代码中可以输出VERSION宏....printf("%s (%s,%s)\n",VERSION,__DATE__,__TIME__);....2. 添加SVN版本在Makefile中定义一个变量REV=`svn info原创 2016-12-08 14:58:56 · 738 阅读 · 0 评论 -
OpenWrt移植Apache2 apr 到MT7620N
1、下载apr-1.6.2 https://apr.apache.org/download.cgi 2、解压 tar xvf apr-1.6.2.tar.gz 3、cd apr-1.6.2 4、配置#!/bin/shfilePath=`pwd`./configure --host=mips CC=mips-openwrt-linux-gcc --prefix=$filePath/libap原创 2017-07-27 14:17:19 · 923 阅读 · 0 评论 -
Ubuntu 扩展磁盘空间
在VMware中安装了一个Ubuntu系统,可是需要下载android源码,导致空间不足,所以需要对虚拟机中的Ubuntu磁盘进行扩充。在操作的过程中遇到扩充后无法启动系问题:/dev/disk/by-uuid does not exist,停留在initramfs。 出现这种原因是因为扩充后,分区的起始信息和原来的不一样。现将具体的扩充步骤记录如下:查看分区信息 在扩充前需要通过f原创 2018-01-11 10:43:33 · 21987 阅读 · 3 评论 -
RK3288/RK3399 Ubuntu 系统备份
RK3288 / RK3399 Ubuntu 系统备份原创 2018-05-12 14:48:41 · 14107 阅读 · 29 评论 -
CH340G U-BOOT阶段乱码
问题描述硬件:MT7628 系统:OpenWrt 15.05 串口:CH340G 在硬件重启后进入到U-BOOT阶段串口输出的全部都是乱码,但是进入到内核后串口输出有全部正常了。解决方式在github上看见其他开发者也遇到同样的问题, https://github.com/pepe2k/u-boot_mod/issues/21 CH340这款芯片的波特率有一点点小小偏差,解决...原创 2018-05-29 18:29:33 · 2723 阅读 · 0 评论 -
C/C++开源库大全
https://blog.csdn.net/qing101hua/article/details/78614604转载 2018-08-09 21:45:01 · 837 阅读 · 0 评论 -
Linux 串口编程
在linux中,所有的设备文件一般位于"/dev"目录下,其中串口对应的名称为"/dev/ttySx",(因驱动不同,该设备名也会有所不同),可也查看在"/dev"下的文件以确认。在linux下对设备的操作方法与对文件操作方法一样,因此,对串口的读写就可以使用简单的read,write等函数来完成,所不同的只是需要对串口的其他参数另做配置。 串口的设置主要是设置structterm原创 2015-01-26 21:34:52 · 965 阅读 · 0 评论 -
Linux串口程序收发16进制数据错误
问题描述: 通过串口网原创 2014-09-26 21:52:34 · 5946 阅读 · 2 评论 -
ubuntu10.04-amd64 上安装android SDK环境
1.安装JAVA-JDK sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner" sudo add-apt-repository "deb-src http://archive.canonical.com/ubuntu lucid partner" sudo apt-get原创 2011-12-26 17:41:43 · 725 阅读 · 0 评论 -
个人常用的VIM命令列表
移动光标上:k nk:向上移动n行 9999k或gg可以移到第一行 G移到最后一行下:j nj:向下移动n行左:h nh:向左移动n列右:l nl:向右移动n列w:光标以单词向前移动 nw:光标向前移动n个单词 光标到单词的第一个字母上b:与w相反e: 光标以单词向前移动 ne:光标向前移动n个单词 光标到单词的最后一个字母上ge:与e相反$:移动光标到原创 2011-12-26 17:43:13 · 445 阅读 · 0 评论 -
内核初始化优化宏 ,初始化顺序, __init,__devexit等
内核使用了大量不同的宏来标记具有不同作用的函数和数据结构。如宏__init 、__devinit 等。这些宏在include/linux/init.h 头文件中定义。编译器通过这些宏可以把代码优化放到合适的内存位置,以减少内存占用和提高内核效率。下面是一些常用的宏:· __init ,标记内核启动时使用的初始化代码,内核启动完成后不再需要。以此标记的代码位于.init.text转载 2013-01-14 15:42:58 · 424 阅读 · 0 评论 -
ubuntu12.04.1安装与java环境搭建
首先到ubuntu官网上下载LiveCD包http://www.ubuntu.com/download/desktop/windows-installer,是个iso文件。在下个VM Workstation,网上有很多随便找。装好了vm后,将iso文件装到虚拟机里。建议内存>2G,不然有点卡。-------------------------------------------转载 2013-02-21 16:56:29 · 702 阅读 · 0 评论 -
OK6410移植Boa过程中遇到的错误!
今天在OK6410-A板卡上自己移植了一个boa服务器,在通过boa服务器调用CGI程序,在移植好后通过浏览器访问boa服务器上的CGI程序时浏览器上出现502 Bad Gateway The CGI was not CGI/1.1 compliant.终端上显示cgi_header: unable to find LFLF解决方法:在mime.types文件中添加l将#AddType原创 2013-03-08 17:29:49 · 1027 阅读 · 0 评论 -
sqlite3 表里插入系统时间(时间戳)
转载地址:http://www.360doc.com/content/13/0128/21/1538189_262933682.shtml就像在提交日志的时候系统会把提交的时间记录下来一样,如果想在sqlite3下创建的表里插入数据的时候也把插入数据的时间点存储在sqlite数据库里怎么处理呢?创建一个数据库,如foo.db在这个表里创建一个表:CREATE转载 2013-05-14 10:37:10 · 1048 阅读 · 0 评论 -
【学习】交叉编译安装错误
ubuntu 12.04 x64安装交叉编译错误bash: /usr/local/arm/4.4.1/bin/arm-linux-gcc: No such file or directory出现问题原因:64位机与32位不兼容解决:1、sudo apt-get upgrade2、sudo apt-get install ia32-libs软件包下载地址http://原创 2014-02-19 19:27:04 · 723 阅读 · 0 评论 -
linux 压缩解压命令
.tar 解包:tar xvf FileName.tar打包:tar cvf FileName.tar DirName(注:tar是打包,不是压缩!)———————————————.gz解压1:gunzip FileName.gz解压2:gzip -d FileName.gz压缩:gzip FileName.tar.gz 和 .tgz解压:tar zxvf转载 2014-03-05 10:05:15 · 568 阅读 · 0 评论 -
tiny4412 SD卡烧录命令
emmc open 1movi read fwbl1 0 40000000;movi w z f 1 40000000;movi read bl2 0 40000000;movi w z b 1 40000000;movi read u-boot 0 40000000;movi w z u 1 40000000;movi read tzsw 0 40000000;movi w z原创 2014-04-03 20:07:06 · 1085 阅读 · 0 评论 -
【学习笔记】vim winmanager中添加NERDTREE工具
先上一张图,左边分别是Nerdtree原创 2014-04-05 22:41:16 · 2130 阅读 · 0 评论 -
让Source Insight支持ARM汇编.S文件关键字高亮,函数支持
转载:http://hi.baidu.com/381082014/item/109a7315e31dde416926bbee1. 首先去Source Insight的官网下载ARM.CLF 文件:http://www.sourceinsight.com/public/languages/ 2. 导入ARM.CLF 文件:打开 "Options"->"Pr转载 2014-04-06 20:53:11 · 5758 阅读 · 1 评论 -
嵌入式C编程32条准则
01、版权和版本02、缩进、空格、换行、空行、对齐03、程序注释04、函数的[in][out]参数05、对系统调用的返回进行判断06、if 语句对出错的处理07、头文件中的#ifndef08、在堆上分配内存09、变量的初始化10、h和c文件的使用11、出错信息的处理12、常用函数和循环语句中的被计算量1转载 2014-06-18 11:19:02 · 1500 阅读 · 2 评论 -
ubuntu 安装ftp软件
FTP ServerFile Transfer Protocol (FTP) is a TCP protocol for uploading and downloading files between computers. FTP works on a client/server model. The server component is called an FTP daemon.翻译 2014-07-14 20:07:38 · 674 阅读 · 0 评论 -
配置ubuntu ftp
安装vsftpdsudo apt-get install vsftpd# vsftp(Very Secure FTP)是一种在Unix/Linux中非常安全且快速稳定的FTP服务器安装完毕后或许会自动生成一个帐户”ftp”,/home下也会增加一个文件夹。如果没有生成这个用户的话可以手动来,生成了就不用了:sudo useradd -m ftpsudo转载 2014-07-14 20:14:00 · 506 阅读 · 0 评论 -
【Aliso-things笔记】AliOS Things编译esp8266固件的BUG修改
转载: AliOS Things编译esp8266固件的BUG修改问题在使用aos upload命令下载esp8266固件时会出现找不到对于的bin文件 解决方法修改文件: AliOS-Things/site_scons/scons_upload.py 并做如下修改 ...转载 2018-08-18 13:00:12 · 1043 阅读 · 0 评论