linux
文章平均质量分 94
-草原骑士-
嵌入式自学者
喜欢历史,哲学类
展开
-
嵌入式linux网卡bonding配置
介绍linux的bonding功能,以及嵌入式设备上的实现原创 2023-04-03 20:37:48 · 483 阅读 · 0 评论 -
Linux 上的内置链表
Linux 上的内置链表1 简介2 特征tail queuecircular queue1 简介在 Linux 的 <sys/queue.h>中定义一系列操作不同链表的宏函数。如: LIST_ENTRY(TYPE); LIST_HEAD(HEADNAME, TYPE); LIST_INIT(LIST_HEAD *head); LIST_INSERT_AFTER(LIST_ENTRY *listelm, TYPE *elm, LIST_E转载 2020-09-11 21:39:56 · 243 阅读 · 0 评论 -
Linux的链表sys/queue.h
Linux的链表sys/queue.h环境介绍ListSingly-linked listSingly-linked tail queue(Simple queue)Tail queueCircular queue环境Ubuntu16.04 x86_64 GNU/Linux , 4.15.0-43-generic介绍<sys/queue.h> 实现了5种数据结构 : singly-linked list list simple queue tail queue ci转载 2020-09-11 17:53:16 · 1111 阅读 · 0 评论 -
linux 路由表设置 之 route 指令详解
使用下面的 route 命令可以查看 Linux 内核路由表。# routeDestination Gateway Genmask Flags Metric Ref Use Iface192.168.0.0 * 255.255.255.0 U 0 0 0 eth0169.254.0.0 * 255.255.0.0 U 0 0转载 2020-07-08 22:10:52 · 3293 阅读 · 0 评论 -
嵌入式linux修改mac地址后无法广播通信
问题描述由于产品需要批量生产,为了防止mac冲突,在linux启动后通过脚本修改mac地址,mac地址使用最后16bit随机数生成。修改成功后发现udp的广播报文无法收发,然而在桌面系统是可以的,且没修改之前广播也是没问题的。修改广播地址为单播亦是没有问题。删除自启动修改mac脚本后,则可恢复正常。修改mac命令如下ifconfig eth0 downifconfig hw ether xx:xx:xx:xx:xx:xxifconfig eth0 up问题解决通过增加路由表的方式可以解原创 2020-07-08 21:07:49 · 436 阅读 · 0 评论 -
一个可笑的错误
今天想摆弄一下开发板上的音频驱动,在PC上编译好一个应用程序,弄到开发板上运行出现错误,错误如下./a.out: line 1: syntax error: "(" unexpected感觉很纳闷,好像不是在运行程序,而是在编译它一样。它在PC上还好好的啊,到开发板上就成这样了呢?········发现问题啦!我是直接那在PC上用gcc编译好的a.out来执行的,可是,可是在开发原创 2013-08-19 21:51:59 · 796 阅读 · 1 评论 -
linux下的Termios库
tcflush() 丢弃要写入引用的对象,但是尚未传输的数据,或者收到但是尚未读取的数据,取决于 queue_selector 的值: TCIFLUSH 刷新收到的数据但是不读 TCOFLUSH 刷新写入的数据但是不传送 TCIOFLUSH 同时刷新收到的数据但是不读,并且刷新写入的数据但是不传送通俗地说就是将输出缓冲器清空,把输入缓冲区清空。缓冲区里的数据都废弃。转载 2013-07-03 23:56:16 · 1952 阅读 · 1 评论 -
串口编程 tcflush()函数
tcflush函数刷清(扔掉)输入缓存(终端驱动法度已接管到,但用户法度尚未读)或输出缓存(用户法度已经写,但尚未发送). int tcflush(int filedes,int quene) quene数该当是下列三个常数之一: *TCIFLUSH 刷清输入队列 *TCOFLUSH 刷清输出队列 *TCIOFLUSH 刷清输入、输出队列 例转载 2013-07-03 23:52:19 · 1544 阅读 · 0 评论 -
Linux 下串口编程入门
串口简介简介串行口是计算机一种常用的接口,具有连接线少,通讯简单,得到广泛的使用。常用的串口是 RS-232-C 接口(又称 EIA RS-232-C)它是在 1970 年由美国电子工业协会(EIA)联合贝尔系统、 调制解调器厂家及计算机终端生产厂家共同制定的用于串行通讯的标准。它的全名是"数据终端设备(DTE)和数据通讯设备(DCE)之间串行二进制数据交换接口技术标准"该标准规定采用一个 2转载 2013-07-03 23:37:33 · 869 阅读 · 0 评论 -
linux下使用C多线程网络库xs
1、解压缩 tar -xvf xs-6468289.tar.gz2、进入xs/src 目录删除qt-win目录(我没有使用qt)3、make 如果成功后会出现几个bin文件和一个libxs.so文件4、执行其中一个bin文件./timer.bin出现如下错误./timer.bin: error while loading shared libraries: libxs.so:原创 2014-02-19 00:29:51 · 1853 阅读 · 1 评论 -
Boa的移植过程
移植Boa我原创 2014-05-05 21:57:55 · 1328 阅读 · 0 评论 -
ubuntu14安装gnuplot
Gnuplot是一个命令行的交互式绘图工具(command-driven interactive function plotting program)。用户通过输入命令,可以逐步设置或修改绘图环境,并以图形描述数据或函数,使我们可以借由图形做更进一步的分析。Gnuplot是由Colin Kelly和Thomas Williams于1986年开始开发的科学绘图工具,支持二维和三维图形。它的功能是原创 2015-11-19 23:15:11 · 937 阅读 · 0 评论 -
Net-SNMP安装
Net-SNMP的安装目录Net-SNMP的安装目录1、安装环境2、源码下载3、安装准备4、安装依赖包5、解压6、配置6、编译和安装6、配置snmpd.conf7、运行snmpd8、测试snmpd1、安装环境使用的系统为ubuntu16.4的64位系统安装在VMware 12.5.7上 Net-SNMP使用5.7.3版本...原创 2018-04-24 23:41:37 · 11233 阅读 · 2 评论 -
使用lm-sensors和Net-SNMP监控计算机硬件
1、lm-sensors简介2、lm-sensors下载3、安装lm-sensors依赖4、安装lm-sensors5、验证安装的lm-sensors6、安装Net-SNMP7、使用SNMP命令获取lm-sensors状态1、lm-sensors简介lm-sensors是一款linux的硬件监控的软件,可以帮助我们来监控主板,CPU的工作电压,风扇转速、温度等数...原创 2018-04-25 01:19:20 · 10181 阅读 · 1 评论 -
Net-SNMP的agent开发
1、Net-SNMP安装2、MIB文件3、产生.c和.h文件4、修改readObject.c和writeObject.c文件4.1、修改readObject.c4.2、修改writeObject.c5、编译.c和.h文件6、agent测试之前7、readObject测试8、writeObject测试8.1、writeObject读测试8.2、writeObj...原创 2018-04-27 23:32:04 · 3084 阅读 · 0 评论 -
Linux下cfsetospeed和cfsetispeed函数——对linux下串口编程的补充
对于波特率的设置通常使用cfsetospeed和cfsetispeed函数来完成。获取波特率信息是通过cfgetispeed和cfgetospeed函数来完成的。cfsetospeed函数 头文件: #include 函数原型: int cfsetospeed(struct termios *termptr, speed_t spe转载 2013-07-03 23:48:47 · 6510 阅读 · 1 评论 -
bash中的export命令的使用
export export命令将会使得被 export 的变量在运行的脚本(或shell)的所有的子进程中都可用. 不幸的是,没有办法将变量export 到父进程(就是调用这个脚本或shell 的进程)中. 关于export 命令的一个重要的使用就是用在启动文件中,启动文件是用来初始化并且 设置环境变量,让用户进程可以存取环境变量脚本不能export(导出)变量到它的父进程(p原创 2012-03-19 19:14:32 · 12008 阅读 · 0 评论 -
LINUX系统目录详解
根文件系统一般应该比较小,因为包括严格的文件和一个小的不经常改变的文件系统不容易损坏。损坏的根文件系统一般意味着除非用特定的方法(例如从软盘)系统无法引导,所以不应该冒这个险。 根目录一般不含任何文件,除了可能的标准的系统引导映象,通常叫/vmlinuz 。所有其他文转载 2011-08-01 17:19:59 · 405 阅读 · 0 评论 -
编程实践setuid root
[linux]编程 getuid,setuid函数 在linux中每个进程有三个[实际上有第4个]用户标识符.转载 2011-09-17 21:44:59 · 1801 阅读 · 0 评论 -
linux下/proc/stat 计算CPU利用率
一般来说对于需要大量cpu计算的进程,当前端压力越大时,CPU利用率越高。但对于I/O网络密集型的进程,即使请求很多,服务器的CPU也不一定很到,这时的服务瓶颈一般是在磁盘的I/O上。比较长见的就是,大文件频繁读写的cpu开销远小于小文件频繁读写的开销。因为在I/O吞吐量一定时,转载 2011-09-18 22:43:11 · 785 阅读 · 0 评论 -
Linux /etc/profile文件详解
Linux /etc/profile文件的改变会涉及到系统的环境,也就是有关Linux环境变量的东西,学习Linux要了解Linux profile文件的相关原理,这里对则以文件进行具体分析。这里修改会对所有用户起作用。 1、Linux是一个多用户的操作系统。每个用户登转载 2011-08-01 16:43:30 · 643 阅读 · 0 评论 -
解决RedHat中ifconfig命令不能使用的问题
在RedHat中, 打开终端, 运行 "ifconfig" 命令, 如果给出的提示是 "command not found", 那里我们可以按下面的方法来解决:1. 输入 ifconfig 命令的绝对路径, ifconfig在是/sbin这个目录下面, 所以在终端输入下列转载 2011-08-01 16:42:06 · 2011 阅读 · 0 评论 -
查看Linux内核版本的命令
查看Linux内核版本方法一: 命令: uname -a作用: 查看系统内核版本号及系统名称方法二:命令: cat /proc/version作用: 查看目录"/proc"下version的信息,也可以得到当前系统的内核版本号及系统名称转载 2011-07-30 19:15:40 · 509 阅读 · 0 评论 -
bash: [: 丢失了“]”
在ubuntu上修改bahs.bashrc文件时遇到了这样的问题,经过上网查找知道了原因,呵呵。因为我在修改bash.bashrc时没有在[ ]内部添加空格,导致的错误。原创 2011-09-27 22:03:57 · 724 阅读 · 0 评论 -
S3C2440下clock的源码分析
s3c2440时钟的体系结构OM控制使用内部时钟和内部时钟,详细情况可以看数据手册这里使用的源代码版本是2.6.35.14初始化时钟代码arch\arm\s3c2440\s3c244x.cvoid __init s3c244x_init_clocks(int xtal){ /* initialise the clocks here, to allow原创 2011-11-03 11:50:38 · 1059 阅读 · 0 评论 -
Makefile中指示符“include”、“-include”和“sinclude”的区别
指示符“include”、“-include”和“sinclude” 如果指示符“include”指定的文件不是以斜线开始(绝对路径,如/usr/src/Makefile...),而且当前目录下也不存在此文件;make将根据文件名试图在以下几个目录下查找:首先,查找使用命令行选项“-I”或者“--include-dir”指定的目录,如果找到指定的文件,则使用这个文件;否则继续依此搜索以下几转载 2011-12-04 15:49:38 · 462 阅读 · 0 评论 -
Ubuntu下arm-linux-gdb+gdbserver的编译及安装
注:arm-linux-gdb的安装路径是/usr/local/arm/3.4.11、arm-linux-gdb的编译安装下载gdb-6.8.tar.bz2至工作目录gdb源码下载:http://ftp.gnu.org/gnu/gdb/命令如下:$tar -jxvf gdb-6.8.tar.bz2$cd gdb-6.8$./configure --target=arm-转载 2012-03-04 11:31:36 · 5849 阅读 · 0 评论 -
安装gdb6.8时出现错误的解决
按照上一篇文章安装gdb6.8时出现了好多错误 make之后出现【1】.././gdb/cli/cli-cmds.c: In function ‘pwd_command’: .././gdb/cli/cli-cmds.c:323: error: ignoring return value of ‘getcwd’, declared with attribute wa原创 2012-03-04 13:17:35 · 3910 阅读 · 0 评论 -
使用KDB调试工具
KDB是针对官方版本的linux内核代码,所以无法使用Ubuntu自带的linux内核版本,需从官网上下载。1、从ftp://oss.sgi.com/www/projects/kdb/download上下载对应内核代码版本的KDB补丁,如linux内核2.6.18版本,需下载kdb-v4.4-2.6.18-common-1.bz2和kdb-v4.4-2.6.18-i386-1.bz这2个文原创 2012-03-16 20:31:39 · 3377 阅读 · 0 评论 -
Ubuntu下安装nfs服务
Ubuntu下安装nfs服务1. sudo apt-get install nfs-kernel-server会自动安装nfs-common和portmap2. 配置portmap: 2.1. 编辑/etc/default/portmap, 将 -i 127.0.0.1 去掉. 2.2. 配置/etc/hosts.deny,禁止任何host能和你的NFS服务器进行N转载 2012-03-18 18:06:43 · 714 阅读 · 0 评论 -
sysv-rc-conf:Ubuntu运行级管理工具
一、sysv-rc-conf简介sysv-rc-conf是一个强大的服务管理程序,群众的意见是sysv-rc-conf比chkconfig好用。二、背景知识1、Ubuntu运行级别Linux 系统任何时候都运行在一个指定的运行级上,并且不同的运行级的程序和服务都不同,所要完成的工作和要达到的目的都不同,系统可以在这些运行级之间进行切换,以完成不同的工作。Ubuntu 的系统转载 2012-03-18 18:02:24 · 1132 阅读 · 0 评论 -
linux终端下,使用ls时,显示的文件颜色,都表示什么含义,在哪里可以查看和修改
白色:表示普通文件蓝色:表示目录绿色:表示可执行文件红色:表示压缩文件浅蓝色:链接文件红色闪烁:表示链接的文件有问题黄色:表示设备文件灰色:表示其他文件这是linux系统约定的默认颜色在环境变量$LS_COLORS上修改就行,想永久保存就在~/.bashrc原创 2011-07-30 20:09:14 · 3375 阅读 · 0 评论