
LINUX编程
黄大刀
如有技术交流,请发邮件: fighterever@163.com
展开
-
RK3568禁用调试口改成普通口
【代码】RK3568禁用调试口改成普通口。原创 2023-11-06 14:08:43 · 794 阅读 · 0 评论 -
Centos安装驱动编译环境,CH348L驱动安装记录
Centos安装驱动编译环境,CH348L驱动安装记录原创 2021-12-15 14:39:32 · 1896 阅读 · 1 评论 -
平均无故障运行时间相关
GB/T9813.3 计算机通用规范 第3部分 服务器 要求MTBF不得小于10000小时GB/T 5080.7-1986设备可靠性试验 恒定失效率假设下的失效率与平均无故障时间的验证试验方案GB50174-2008 电子信息系统机房设计规范以上随记, 其它,待补充...原创 2021-08-29 22:51:26 · 797 阅读 · 0 评论 -
I.MX6UL 增加ADC
项目需要,需要增加ADC功能,通道数量是8个因为中间GPIO06和GPIO07没有对应IO,且不知道如何跳过这两个IO,所以配置中使用了10通道。1. 修改设备树&adc1 { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_adc1>; num-channels = <10>; vref-supply = <...原创 2021-01-10 21:10:30 · 518 阅读 · 0 评论 -
关于LWIP因为网络异常导致无法再次连接的解决办法
关于这个问题,n年前就遇到了,当时是设备运行半个月一个月网络就中断了,死活连不上。后来在办公室模拟了现场网络不稳定的情况,找到了问题的根源,就是连接一直停留在FIN_WAIT1状态无法超时退出,导致资源占用了,客户端连接不上来。没想到今天新作的项目,也遇到了这个问题,解决办法:在tcp_slowtmr(void)函数内部,复制FIN_WAIT2的处理程序,改成FIN_WAIT1即可。 /* Check if this PCB has stayed too long in FIN-WAIT-1 *原创 2020-05-31 17:23:22 · 7911 阅读 · 9 评论 -
ARM LINUX UBIFS文件系统只读问题解决
第一次使用UBIFS文件系统,按照厂家的方式制作SD卡镜像之后,烧录成功,但是文件系统是只读的,无法修改,修改文件时提示“Read-only file system”,因为是自己做的文件系统,和原厂的文件系统不一样,所以把问题定位在文件系统上,但是找来找去也没找到好的解决办法。后来尝试修改了U-BOOT启动参数,问题解决。以下是我修改的U-BOOT启动参数,增加了RW选项。...原创 2020-04-28 00:00:51 · 3854 阅读 · 0 评论 -
IMX6UL修改U-BOOT默认环境变量
因设备要烧录新的U-BOOT、KERNEL、ROOTFS,需要配置相关的启动参数,如果没有烧录一台设备都要登录上去修改启动参数的话,那是太过麻烦了,所以,就把参数直接写到U-BOOT程序里,烧录完也就完事了。使用的是米尔IMX6UL核心板,256M NAND FLASH。需要配置U-BOOT的文件: include/configs/myd_y6ull.h 或者 include/confi...原创 2020-04-27 23:54:28 · 687 阅读 · 0 评论 -
IMX6 KERNEL定制相关文件
IMX6定制UART、GPIO、IIC等外设涉及到的文件,在这里记录一下,以免后期用到是忘记了。设备树相关:设备树文件:arch\arm\boot\dts\myb-y6ull-14x14.dts,在里面定制自己需要的设备PIN脚定位文件:arch\arm\boot\dts\imx6ul-pinfunc.h,例如里面UART5的PIN脚定义有问题,需要修改才能正常收发。串...原创 2020-04-07 10:52:56 · 250 阅读 · 0 评论 -
IMX6UL串口RS485半双工模式设置调试过程
前言:RS485驱动有两种模式,一种是硬件的(也就是通过TXD信号控制485芯片的使能),这种模式简单实用,但是也有弊端。另外一种是软件的方式,发送数据前,通过软件控制GPIO使能外部485芯片,发送完毕后,再去禁用外部RS485芯片。1. IMXUL的驱动中是支持RS485模式的,通过修改设备树文件即可实现。2. 但是由于电路的问题,导致在发送数据的同时,也收到了自己发送出去的数据...原创 2020-04-06 21:51:10 · 7198 阅读 · 12 评论 -
IMX6 SD启动卡在虚拟机UBUNTU下烧录
一个小批量的主板出问题了,有些跑个几个小时就死机,有些则跑几天才死机,但是之前的小批量是没问题的,硬件没动,SD卡烧录重新制作了,用的是Win32DiskImager烧录的,抱着怀疑一切的问题,认为这次的SD卡制作过程出现了问题,所以打算用UBUNTU直接烧录。1. 插入读卡器,并关联到虚拟机。2. fdisk -l查看读卡器所在盘。3. 编译4. 烧录sudo dd...原创 2020-04-06 18:24:13 · 397 阅读 · 0 评论 -
Linux编程send函数,网络异常导致程序退出解决办法
发现调用send函数时,如果远端的socket异常中断的时候,会导致send异常,并退出,这是不允许的。原因是网络异常的时候,系统会触发一个底层信号SIGPIPE,如果没有函数接口处理这个信号的话,就会导致程序异常退出。解决办法,最简单的办法:禁用这个信号,也就是调用send的时候,使用MSG_NOSIGNAL标志,例如:if (send(comm->comm_fd, Dat...原创 2020-02-28 22:37:40 · 1464 阅读 · 0 评论 -
C语言调用Lua编译问题总结
1、首先安装lualinux系统make linuxmake install2、编译gcc -lm -g -o test test.c /usr/local/lib/liblua.a -ldl如果少-ldl,那么编译就会报:gcc -lm -g -o test test.c /usr/local/lib/liblua.a/usr/local...转载 2020-02-28 00:15:17 · 931 阅读 · 0 评论 -
SQLITE3 操作实例
插入记录INSERT INTO TABLE_NAME [(column1, column2, column3,...columnN)] VALUES (value1, value2, value3,...valueN);实例INSERT INTO device_template (id, name, protocol_id)VALUES (3, "三特UPS", 3)...原创 2020-02-25 20:47:39 · 525 阅读 · 0 评论 -
如何使用LUA脚本动态解析外部智能设备的通信协议
有一个项目,需要通过串口或者TCP/IP读取一些设备的运行参数,例如温湿度、发电机等,通信协议一般是MODBUS或者电总协议的帧格式协议。为了使程序使用更多的设备,打算用LUA来解析通信协议。这样子在设备在不同的应用场合时,只需要更新或者增加LUA脚本就可以接入新的设备类型。实现思路1. 每个唯一LUA文件对应特定设备的协议接入,在协议里完成数据帧的发送、接收、校验,并得到设备的运行参数,...原创 2020-02-12 14:45:22 · 1358 阅读 · 0 评论 -
redmine 发送提醒邮件
Redmine提供了一个rake任务, 它可以发送那些未来几天之内需要完成的问题的提醒邮件.可用选项: days: 设置几日之内的提醒邮件 默认值:7tracker 跟踪标签的ID 默认:所有跟踪标签project: ID或者项目标识符 默认:所有项目下面是一个发送未来7天之内需要解决的问题的提醒邮件示例, 问题的指派人将收到这封邮件:在Redmine安装包根目录下执行原创 2013-03-20 23:18:08 · 3241 阅读 · 3 评论 -
busybox httpd无法运行cgi的解决办法
网上找了资料,尝试编写了一个CGI程序,结果老是网页找不到,最后问题如下:1. 网上的例子当中CGI的目录没有“/”,导致找不到。/cgi-bin/mult.cgi"> 2. cgi程序必须放在根目录cgi-bin文件夹下。3. 增加cgi-bin到环境变量Title of page #这里指示cgi脚本的路径请在下原创 2017-03-05 20:22:30 · 2637 阅读 · 0 评论 -
iproute2安装
转载:原文地址不详Socket CAN 对CAN protocol做了封装,对CAN设备的读写变成了类似tcp/ip的读写网络(socket操作)。目标环境:linux2.6.37, i.mx27开发板带mcp2515首先注册spi device和mcp2515 device: 代码1 static const int plat27_pi转载 2017-03-11 15:40:52 · 1913 阅读 · 0 评论 -
arm-linux开发板修改时区
开发板环境编译好之后,发现时间设置好之后,重启立刻就变了,正好是8个小时,应该是时区的问题。使用date查看时间是UTC时间,解决办法:1. 将ubuntu系统下面的/usr/share/zoneinfo/Asia/shanghai文件复制到开发板的/etc/目录下,并改名为localtime。2. 在启动初始化文件/etc/init.d/rcS文件中添加一行,/sbin/hwcloc原创 2017-09-14 12:47:08 · 5113 阅读 · 0 评论 -
自定义组合键进入u-boot
原本u-boot是nand版的,现在用的是emmc板,有些功能又得重来一遍,例如u-boot组合键,预防意外进入u-boot。当时忘记怎么搞的了,没有记录,今天重新操作一遍,并记录,以备后用。u-boot版本号:2013.01.011. 打开command的man.c,找到int abortboot(int bootdelay)函数2.将按下任意键的提示信息改为c原创 2017-09-30 22:13:11 · 1498 阅读 · 0 评论 -
JS遇上IOT
原文地址:https://zhuanlan.zhihu.com/p/29137921S.9N7 个月前1995年,当工作于 Netscape 的 Brendan Eich着手为Netscape Navigator 2.0 开发一个称之为 LiveScript 的脚本语言时,没有人会想到avascript将在今天的互联网软件开发中发挥重要作用。如今,Javascript已经在越来越多的领域攻城略地,...转载 2018-03-23 21:50:09 · 956 阅读 · 0 评论 -
JavaScript 很少为人所知的玩法
JavaScript 很少为人所知的玩法 造物邦 关注2017.02.01 22:12* 字数 1211 阅读 805评论 2喜欢 30Stack OverFlow 的联合创始人杰夫·阿特伍德(Jeff Atwood)曾提出著名的“Atwood定律”,即:Any application that can be written in JavaScript, will eventually be wr...转载 2018-03-24 13:02:59 · 803 阅读 · 0 评论 -
SNMP报文格式
转至:https://blog.51cto.com/xleft/1895630SNMP协议入门1、引言基于TCP/IP的网络管理包含3个组成部分:1)一个管理信息库MIB(Management Information Base)。管理信息库包含所有代理进程的所有可被查询和修改的参数。RFC1213[McCloghrie and Rose 1991]定义了第二版的MIB,叫做...转载 2019-08-05 15:18:16 · 8980 阅读 · 2 评论 -
完成arm-linux busybox httpd cgi实现IP地址、时钟等配置。
经过几天折腾,摸索完成了arm-linxu busybox httpd cgi的实现,完成对开发板的网络参数、时钟、串口进行配置设置网络参数的cgi程序#include #include #include int main(void){int ip[4];int mask[4];int gw[4];int mac[6];char str[原创 2017-03-10 13:18:24 · 1326 阅读 · 0 评论 -
busybox httpd用法及httpd.conf说明
没玩过httpd,很纠结怎么用,找了很多资料,甚至httpd.conf都不知道怎么下手,但实际上,如果不需要特殊配置的话,不需要httpd.conf文件也可以,例如使用以下命令:http -p 80 -u 80 -h /www(web所在目录)即可。当然也可以参考如下文件执行:基本用法: httpd -h /documentroot -c /etc/httpd.conf/*原创 2017-03-04 19:50:11 · 11796 阅读 · 0 评论 -
apache + subversion for linux 安装
http://www.cnblogs.com/dengqiye/archive/2009/07/11/1521464.htmlapache + subversion for linux 安装SVN是管理工程本版的必备工具,相对vss以及其前身cvs来说都有着无与伦比的优势以下是apache+subversion服务端安装步骤:一、准备好安装包:①apr-1.3.6.tar.转载 2013-10-17 22:08:19 · 626 阅读 · 0 评论 -
Redmine通过邮件提交问题(issue)的配置
转载:http://redmine.ossxp.com/redmine/documents/4#从邮件服务器转发邮件 Redmine通过邮件提交问题(issue)的配置用户文档2010-03-24从Redmien-0.8.0 开始, 通过配置, 你可以以发送邮件的方式创建或者评论问题(issue).设置从邮件服务器转发邮件从IMAP服务器读取邮件:从POP3转载 2013-08-12 18:24:12 · 6888 阅读 · 0 评论 -
redmine配置邮件通知 v2.2.2
# http://www.redmine.org/projects/redmine/wiki/EmailConfiguration## production:# email_delivery:# delivery_method: :smtp# smtp_settings:# enable_starttls_auto: true#原创 2013-07-20 15:10:55 · 4447 阅读 · 2 评论 -
linux ipv4 keep alive
# cat /proc/sys/net/ipv4/tcp_keepalive_time 7200 # cat /proc/sys/net/ipv4/tcp_keepalive_intvl 75 # cat /proc/sys/net/ipv4/tcp_keepalive_probes 9意思是当连接空闲超过2小时(7200s)后,进行一次keep ali原创 2013-05-11 14:27:56 · 710 阅读 · 0 评论 -
js库函数大全
js库函数大全Global(全局对象/属性)Global全局对象Infinity表示无穷大的数字属性NaN非数字属性undefined未定义值Global全局对象转载 2013-05-03 15:26:58 · 1863 阅读 · 0 评论 -
Ubuntu修改Apach+redmine的端口
因为外网的80端口被电信禁用了,所以需要将redmine端口修改成8080端口。1. 修改Apach默认端口 1.1 修改/etc/apach2/sites-available/default文件中 默认80端口 1.2 修改/etc/apache2/ports.conf中的 NameVirtualHost *:8080 Li原创 2013-02-17 15:24:32 · 5287 阅读 · 2 评论 -
ubuntu防火墙设置
ubuntu防火墙设置自打2.4版本以后的Linux内核中, 提供了一个非常优秀的防火墙工具。这个工具可以对出入服务的网络数据进行分割、过滤、转发等等细微的控制,进而实现诸如防火墙、NAT等功能。一般来说, 我们会使用名气比较的大iptables等程序对这个防火墙的规则进行管理。iptables可以灵活的定义防火墙规则, 功能非常强大。但是由此产生的副作用便是配置过于复杂。一向以简单易用著转载 2013-02-17 14:54:09 · 796 阅读 · 0 评论 -
ubuntu apache2端口配置
(1)安装apt-get install apache2配置文件目录在/etc/apach2/(2)设置默认目录修改/etc/apach2/sites-available/default文件中DocumentRoot /var/www,将/var/www改为期望的目录。(3)设置默认端口修改/etc/apach2/sites-available/default文件中原创 2013-02-17 14:05:44 · 626 阅读 · 0 评论 -
使用AJAX刷新网页数据
http://www.w3school.com.cn/ajax/ajax_example.asp使用AJAX刷新页面的数据,保持页面不变化,不跳动。原创 2013-02-14 01:35:13 · 675 阅读 · 0 评论 -
Linux下检测网卡与网线连接状态
Linux下检测网卡与网线连接状态:方法一:使用ioctl向socket发送SIOCETHTOOL命令字[cpp] view plaincopyprint?#include #include #include #include #include #include #include #include转载 2012-11-14 23:05:27 · 3493 阅读 · 0 评论 -
基于MySQL的数据库集群系统的实现
基于MySQL的数据库集群系统的实现.图文形式,写的不错,收藏备用。http://www.ibm.com/developerworks/cn/linux/database/mysql-ha/第一节 数据库集群技术的现状目前数据库集群系统应用得比较成功,应用范围比较广泛的是:Oracle公司的Oracle9与IBM公司DB2。Oracle9采用Shared-storage的技术,DB转载 2013-10-23 12:01:03 · 952 阅读 · 0 评论 -
字符编码 ASCII,Unicode 和 UTF-8 概念扫盲
转载:http://www.codeceo.com/article/ascii-unicode-utf-8.html字符编码 ASCII,Unicode 和 UTF-8 概念扫盲今天中午,我突然想搞清楚Unicode和UTF-8之间的关系,于是就开始在网上查资料。结果,这个问题比我想象的复杂,从午饭后一直看到晚上9点,才算初步搞清楚。下面就是我的笔记,主转载 2017-02-12 21:21:02 · 348 阅读 · 0 评论 -
求解arm-linux busybox httpd执行cgi时需要认证的问题
busybox httpd搭建成功,可以登录打开静态web,但是需要执行cgi的时候跳出如下对话框,使用root账号密码登录也无效,求解!!!!!!原创 2017-03-05 20:56:30 · 1062 阅读 · 0 评论 -
嵌入式linux利用ln映射设备驱动
今天调试一个开发板,AM335X,串口驱动做在Kernel里,名称已经固定,而偏偏有个应用程序调用串口的时候必须以特殊的名字和顺序,一开始想去修改Kernel驱动,但是觉得太过麻烦,改完了之后测试完了又要改回去,觉得挺麻烦,于是想到了硬链接。于是做了个脚本进行了测试:ln -s /dev/ttySA5 /dev/ttyEUart1ln -s /dev/ttySA4 /dev/tty原创 2017-02-24 22:09:17 · 519 阅读 · 0 评论 -
编写uboot env多命令语句,减少重复性操作
最近调试内核和文件系统,最方便的方法,不过是nfs了,请参考相关文章。但是到了下载镜像的时候就有点麻烦了,需要下载镜像,删除nand,烧写nand,至少三条指令,输入有点繁琐。实际可以通过设置环境变量命令解决,例如更新内核可以如下:setenv update_kernel tftp 0x080200000 uImage\;nand erase 0x280000 0x500000\;na原创 2017-02-24 15:52:56 · 3103 阅读 · 0 评论 -
完成ARM Linux的SSHD移植
1.下载zlib-1.2.3.tar.gzhttps://nchc.dl.sourceforge.net/project/libpng/zlib/1.2.3/zlib-1.2.3.tar.gz2. 下载openssl-1.0.2k.tar.gzhttps://www.openssl.org/source/openssl-1.0.2k.tar.gz3. 下载http://mirr原创 2017-02-24 09:13:48 · 2798 阅读 · 0 评论