
Linux
文章平均质量分 93
chenwr2018
人与人之间最小的差别是智商,最大的差别是坚持。
展开
-
Linux-epoll机制
主要接口epoll_createepoll_ctlepoll_waitepoll_create头文件#include <sys/epoll.h>函数原型int epoll_create(int size);int epoll_create1(int flags);成功返回整型fd,失败返回-1作用创建一个epoll的句柄,size用来告诉内核这个监听的数目一共有多大。这个参数不同于select()中的第一个参数,给出最大监听的fd+1的值。需要注意的是,当创建好ep原创 2022-02-16 16:50:06 · 3626 阅读 · 0 评论 -
Linux-select机制
select中文释义表示选择为实现socket非阻塞。通过将fd句柄放在集合中(一维数组),通过轮询的方式来判断当前是否有事件发生。select作用监视文件描述符的变化(可读、可写或异常)在Linux系统中,一切都以文件的形式存在,包括网络通讯也是。因此select通常用来监视socket文件句柄。简单理解为#mermaid-svg-548N3Xo3KvW1MuC9 .label{font-family:'trebuchet ms', verdana, arial;font-family:var原创 2022-02-16 16:01:25 · 3783 阅读 · 0 评论 -
【ARM】程序快速定位segmentation fault core dumped错误
1.应用场景ARM开发过程中经常进程运行着出现段错误,这时候单纯靠加日志打log效率太低。使用gdb的话,由于APP进程太多,生成的core的文件特别大,而且gdb再arm板子也不好单步调试,不太友好还是pass掉。目前使用段错误捕捉SIGSEGV信号,通过backtrace和backtrace_symbols函数进行堆栈信息定位,再使用addr2line工具将指令的地址和可执行映像转换成文件名、函数名和源代码行数。2.实现代码C代码接口。/****************************原创 2020-07-21 09:46:09 · 3058 阅读 · 0 评论 -
EC20 配置DHCP客户端自动获取IP
1.应用场景两台EC20开发板,通过以太网口进行连接通讯,其中一台当服务端,另外一台当客户端。(用于模拟客户的Network Manager网络设备)服务端使用dnsmasq这个工具来创建DHCP服务器。2.DHCP客户端配置开发板没有dhclient,差点dhclient与udhcpc是同一个概念的东西,都是用来配置DHCP客户端。...原创 2020-07-03 10:44:43 · 2731 阅读 · 0 评论 -
cmake自动选择编译器脚本
一、什么是cmakeCMake 是一个跨平台的,开源的构建系统(BuildSystem)。CMake 可以通过 CMakeLists.txt 文件来产生特定平台的标准的构建文件,例如:为 Unix 平台生成makefiles文件(使用GCC编译),为 Windows MSVC 生成 projects/workspaces(使用VS IDE编译)或Makefile文件(使用nmake编译)。关键...原创 2019-12-11 15:43:37 · 757 阅读 · 0 评论 -
mmap: Invalid argument 错误记录
相同的demo。Ubuntu下运行没问题,在海思开发板运行一直有问题。期间检查了无数遍参数与mmap的实现代码,完全没问题。后来发现原来是文件系统的问题导致。mmap的文件存放在SD卡中成功,放在在内置Flash ext目录下出现mmap: Invalid argumentext目录下文件系统为jffs2 SD卡为vfatjffs2会对文件进行压缩,不知道是否是这个因素导致的。...原创 2019-09-18 09:30:14 · 2878 阅读 · 0 评论 -
移植busybox中mkfs.vfat命令
为了延长磁盘寿命来存储音视频文件,打发在格式化磁盘过程中将簇的大小设置大点。因为存储的音视频文件现对较大,那么将簇大小设置得尽可能大,这样可以增强磁盘读取数据的性能,同时也不会浪费太多空间。但发现我们设备的mkfs.vfat不支持-s参数设置簇的大小。于是打算重新移植mkfs.vfat.思路1重新移植busybox1.官网上下载最新的busybox源码2.修改MakefileAR...原创 2019-07-06 11:12:32 · 2226 阅读 · 1 评论 -
海思3515A移植记录
&amp;amp;nbsp;&amp;amp;nbsp;第一次写博客,暂时就先粗略记录下自己移植lrzsz、samba服务器和ssh服务器的流程,方便日后提供思路快速解决同类问题。 lrzsz移植步骤平台:海思3515A系统:Ubuntu12.04作用:串口发送接收工具移植成功的源码版本压缩包存放地址a. lrzsz源码下载1.lrzsz源码包下载地址:https://ohse.de/uwe...原创 2018-09-06 19:45:06 · 886 阅读 · 0 评论 -
Ubuntu14.04 安装搜狗输入法
一、安装fcitx1.点击System Settings2.选择Software &amp;amp;amp;amp;amp; Updates3.点击Other Software4.添加软件源:ppa:fcitx-team/nightly5.点击 Add Source6.勾选添加的源,点击Revert后点击close.出现如下7.点击Reload,出现如下,等待Uptating cach...原创 2018-09-06 19:58:29 · 322 阅读 · 0 评论 -
AT+CNMI指令详解
看EC20 AT手册对这块全英文看的头蒙蒙的,还好在找到这篇,内容说明的很清楚。GSM Modem一般都支持一条“AT+CNMI”指令,用于设定当有某类短消息到达时,如何处理它——只储存在制定的内存(易失的/非易失的)中;先储存后通知TE;直接转发到TE,等等。AT+CNMI指令语法为:AT+CNMI=<mode>,<mt>,<bm>,<ds>,<bfr><mode>控制通知TE的方式。...转载 2019-03-07 16:55:44 · 3808 阅读 · 0 评论 -
AT短信命令与离线短信应用获取异常
一、短信AT命令1、AT+CPMS作用:设置短信存储位置AT+CPMS=?+CPMS: (&amp;amp;quot;ME&amp;amp;quot;,&amp;amp;quot;MT&amp;amp;quot;,&amp;amp;quot;SM&amp;amp;quot;,&amp;amp;quot;SR&amp;amp;quot;),(&amp;原创 2019-03-07 20:25:02 · 1487 阅读 · 1 评论 -
CrazyDiskInfo硬盘检测工具 安装记录
一、安装相关库apt-get install libatasmart-dev libncurses5-dev libncursesw5-dev二、克隆源码git clone https://github.com/otakuto/crazydiskinfo三、进入crazydiskinfo文件夹后编译和运行mkdir buildcd buildcmake ..make &...原创 2019-04-21 14:24:59 · 1197 阅读 · 0 评论 -
Ubuntu14.04搭建FTP服务器记录
一、Ubuntu 14.04下FTP服务器的安装1.安装vsftpd打开"终端窗口",输入"sudo apt-get install vsftpd"–>回车–>安装完成。2.判断vsftpd是否安装成功打开"终端窗口",输入"sudo service vsftpd restart"重启vsftpd服务–>回车–>vsftpd处于运行状态,说明安装成功。3.设置用户...原创 2019-05-24 11:11:09 · 535 阅读 · 0 评论 -
mmap内存映射用法总结
将最近网上搜索的资料统一整理下,方便后续复查。一、什么是mmapmmap是一种内存映射文件的方法,即将一个文件或者其它对象映射到进程的地址空间,实现文件磁盘地址和进程虚拟地址空间中一段虚拟地址的一一对映关系,函数原型如下void *mmap(void *addr, size_t length, int prot, int flags, int fd, off_t offset);实现这样的...原创 2019-05-28 14:59:37 · 3245 阅读 · 0 评论 -
FOTA升级差分包编译服务器搭建
奈何公司测试组电脑没有Linux系统,每次测试FOTA升级用的差分包都需要找我来制作,实在麻烦。本想搞个QT界面弄得专业点,后面有时间再去搞吧,现在打算先临时写一个应急。一、Ubuntu端先搭建FTP服务器参考之前搭建的记录Ubuntu14.04搭建FTP服务器记录 - chenwr2018的博客 - 优快云博客 https://blog.youkuaiyun.com/chenwr2018/art...原创 2019-06-14 13:59:18 · 2594 阅读 · 0 评论