work
玛丽奥ZJY
这个作者很懒,什么都没留下…
展开
-
Linux struct itimerval用法
先看一段代码[cpp] view plain copy print?#include #include #include #include #include static int count = 0; void set_timer() { str转载 2017-04-08 19:03:55 · 421 阅读 · 0 评论 -
Linux网络编程——tcp并发服务器(多线程)
tcp多线程并发服务器多线程服务器是对多进程服务器的改进,由于多进程服务器在创建进程时要消耗较大的系统资源,所以用线程来取代进程,这样服务处理程序可以较快的创建。据统计,创建线程与创建进程要快 10100 倍,所以又把线程称为“轻量级”进程。线程与进程不同的是:一个进程内的所有线程共享相同的全局内存、全局变量等信息,这种机制又带来了同步问题。tcp多线程并发服务转载 2017-08-25 09:52:29 · 329 阅读 · 0 评论 -
嵌入式 uboot命令及内核启动参数
uboot中如果支持spi/qspi flash, 那么可以使用sf的erase, read, write命令操作spi flashsf read用来读取flash数据到内存sf write写内存数据到flashsf erase 擦除指定位置,指定长度的flash内容, 擦除后内容全1具体用法sf probe [[bus:]cs] [转载 2017-10-13 10:20:28 · 835 阅读 · 0 评论 -
网络性能测试工具iperf详细使用图文教程
Iperf是一个网络性能测试工具。Iperf可以测试TCP和UDP带宽质量。Iperf可以测量最大TCP带宽,具有多种参数和UDP特性。Iperf可以报告带宽,延迟抖动和数据包丢失。利用Iperf这一特性,可以用来测试一些网络设备如路由器,防火墙,交换机等的性能。Iperf有两种版本,windows版和linux版本。linux版本更新快,最新版本为iperf 3.0,下载地址为htt转载 2017-10-13 10:49:43 · 704 阅读 · 0 评论 -
关于setvbuf()函数的详解
为什么要使用setvbuf函数如果你的内存足够大,可以把文件IO的BUF设置大一些,这样每次你用fopen/fread/fwrite/fscanf/fprintf语句的时候,都会在内存里操作,减少内存到磁盘IO读写的操作次数,提高系统效率。如果你的程序的功能涉及到类似数据库、视频、音频、图像处理等大量需要爆发式磁盘到内存的IO情况下,可以考虑用setvbuf进行优化内存IO,其他情况下可以不考转载 2017-10-23 17:22:07 · 2085 阅读 · 0 评论 -
P4080 RCW总结
在Freescale DPAA QorIQ平台上的启动和non-DPAA QorIQ平台的启动有一些区别:1.non-DPAA QorIQ平台在上电时通过采样配置管脚来决定对CPU的配置(P2020 ( e500核 ) 上电启动及uboot流程|http://bbs.ednchina.com/BLOG_ARTICLE_1988662.HTM),而DPAA QorIQ平台采用RCW (R转载 2017-11-14 15:01:22 · 2918 阅读 · 0 评论 -
crond 计划任务使用
在ubuntu 测试 12.04 默认crond 服务是开启的crontab -e //第一次编辑时提示选择编辑器 vim*/3 * * * * date >> ~/time.log //每3分钟更新一次时间到time.log文件中sudo service cron restart // 重启服务目标版测试 TI平台 如果busybox中不支持crontab需要编译进去,c...转载 2018-04-01 11:34:27 · 176 阅读 · 0 评论 -
linux获取网线插拔状态的实现
linux获取网线插拔状态的实现1、对于基于linux2.4内核的uclinux系统如何实现在应用层监控网线插拔状态?2、硬件环境:IPS100(ARM7TDMI)3、实现过程由于linux下的ifconfig命令就能够实现在应用层监控网线插拔状态,例如当网线连接正常时,使用ifconfig eth0命令,打印的信息中会有RUNNING,而拔掉网线后,再使用ifconfig eth0命令,RUNN...转载 2018-04-11 14:21:25 · 1139 阅读 · 0 评论 -
led子系统 及 内核中led触发器实例
本篇文章主要介绍了"led子系统 及 内核中led触发器实例",主要涉及到led子系统 及 内核中led触发器实例方面的内容,对于led子系统 及 内核中led触发器实例感兴趣的同学可以参考一下。============================================作者:yuanluluhttp://blog.csdn.net/yuanlulu版权没有,但是转...转载 2019-02-25 14:48:23 · 523 阅读 · 0 评论 -
ioctl获取本地IP和MAC地址
参考了一些网上的方法,整理如下:#include <net/if.h>#include <sys/ioctl.h>#include <arpa/inet.h>#include <stdlib.h>#include <stdio.h>#include <string.h> #define ETH_NA...转载 2019-02-25 16:38:17 · 549 阅读 · 0 评论 -
给内核设备驱动增加sysfs调试文件
我遇到的这个问题来自于Linux内核的一个培训项目,具体可以搜索Eudyptula关键字。目的是培养更多的内核开发者,不过这个项目现在已经截止报名。首先需要了解的是sysfs,procfs和debugfs都是内核提供的伪文件系统,实现内核/驱动和用户空间的通信。对于sysfs来说,增加一个文件的方法如下:第一步:分别实现读和写的方法,命名规范是"文件名_show"和"文件名_store...转载 2019-02-25 15:33:38 · 516 阅读 · 0 评论 -
Linux C函数库大全
Linux C函数库参考手册 [转自ChinaUnix]第1章字符测试函数isalnum(测试字符是否为英文字母或数字)isalpha(测试字符是否为英文字母)isascii(测试字符是否为ASCII码字符)isblank(测试字符是否为空格字符)iscntrl(测试字符是否为ASCII码的控制字符)isdigit(测试字符是否为阿拉伯数字)isgraph(测试字符是否为可打印字...转载 2019-02-25 10:09:30 · 1642 阅读 · 0 评论 -
linux内核中分配4M以上大内存的方法
在内核中, kmalloc能够分配的最大连续内存为2的(MAX_ORDER-1)次方个page(参见alloc_pages函数, "if (unlikely(order >= MAX_ORDER))return NULL;"), page的大小一般是4K bytes, MAX_ORDER缺省定义为11, 所以如果不修改内核, kmalloc能够分配的最大连续内存一般是...转载 2019-02-21 17:44:33 · 571 阅读 · 0 评论 -
linux内核的队列实现移植
转载:https://blog.csdn.net/u013401853/article/details/53063434?utm_source=blogxgwz8linux内核的队列实现移植[!TOC]在c编程中有时会使用一些常用的数据结构,如队列。每次都手写一遍有些麻烦,写一个通用的比较好,而内核有实现队列,直接移植出来就好了。内核的队列实现 内核的队列实现在linux-2.6...转载 2019-02-21 17:24:31 · 417 阅读 · 0 评论 -
signal(SIGCHLD, SIG_IGN)和signal(SIGPIPE, SIG_IGN);
signal(SIGCHLD, SIG_IGN);因为并发服务器常常fork很多子进程,子进程终结之后需要服务器进程去wait清理资源。如果将此信号的处理方式设为忽略,可让内核把僵尸子进程转交给init进程去处理,省去了大量僵尸进程占用系统资源。(Linux Only)对于某些进程,特别是服务器进程往往在请求到来时生成子进程处理请求。如果父进程不等待子进程结束,子进程将成为僵尸进程转载 2017-08-09 15:03:29 · 368 阅读 · 0 评论 -
linux 多进程并发服务__关于子进程回收的方法
以TCPServ 服务程序来说:1)父进程:负责系统初始化,以及监听(listen),接受连接请求(accept);其中accept 默认阻塞调用。2)每接受一个连接请求,动态新建(fork)一个子进程,任务完成或客户端断开,服务子进程需要退 出并收回系统资源。3)根据linux的设计子进程的收回需要父进程参与(wait调用),而此时附进程主要服务工作在监听转载 2017-08-09 13:28:05 · 534 阅读 · 0 评论 -
TCP并发服务器,每个客户一个子进程
今天我带来的是服务器模型中的第一种,也是最基本最常用的一种模型–TCP并发服务器,每个客户一个子进程。先简单介绍一下:TCP并发服务器,每个客户一个子进程,也就是说并发服务器调用fork派生一个子进程来处理每个子进程,使得服务器能够同时为多个客户服务,每个进程一个客户。客户数目的唯一限制是操作系统对以其名义运行服务器的用户ID能够同时拥有多少子进程的限制。具体到我们的需求,我们的客转载 2017-08-08 16:58:09 · 426 阅读 · 0 评论 -
精确时间协议 (Precision Time Protocol, PTP)
转载:http://docs.oracle.com/cd/E56344_01/html/E53863/gen_html/gntlb.html精确时间协议 (Precision Time Protocol, PTP)PTP 软件用于在诸如局域网 (Local Area Network, LAN) 等广播域中的多个系统之间同步系统时间。Oracle Solaris 11.2 的 PTP转载 2017-04-08 19:40:18 · 2616 阅读 · 0 评论 -
ptpd 守护程序
转载:https://www.ibm.com/support/knowledgecenter/zh/ssw_aix_71/com.ibm.aix.cmds4/ptpd.htmptpd 守护程序用途启动精确时间协议 (1588-2008) 守护程序 (ptpd)。语法/usr/sbin/ptpd [ -? ] [ -h ] [ -H ]转载 2017-04-08 19:41:38 · 4412 阅读 · 1 评论 -
FSL 1588 PTPD简要分析!
转载:http://blog.chinaunix.net/uid-20721651-id-4334175.html1588v2协议目前主要都是基于ptpd开源代码实现。下面是ptpd开源代码中的主要文件介绍:arith.c Time format conversion routines and additional math functions bmc.cBest m转载 2017-04-08 19:44:56 · 2502 阅读 · 0 评论 -
linux基础编程 链路层socket 摆脱winPcap 夸网段socket通信 可夸平台移植
在linux环境中要从链路层(MAC)直接收发数据帧,可以通过libpcap与libnet两个动态库来分别完成收与发的工作。虽然它已被广泛使用,但在要求进行跨平台移植的软件中使用就很难办到了。。这是一种更为直接地、无须安装其它库的从MAC层收发数据帧的方式,即通过定义链路层的套接字来完成。下面的代码也是我做的项目中的代码(夸网段访问网络中的嵌入式设备),去掉了敏感部分,和大家共享!但是转载 2017-04-10 14:36:34 · 400 阅读 · 0 评论 -
解析struct sockaddr_ll获得混杂模式
sockaddr_ll, 源文件为,结构如下:struct sockaddr_ll{unsigned short int sll_family; /* 一般为AF_PACKET */unsigned short int sll_protocol; /* 上层协议 */int sll_ifindex; /* 接口类型 */unsigned short int sll_haty转载 2017-04-10 14:39:57 · 4857 阅读 · 0 评论 -
Linux添加虚拟网卡的多种方法
Linux添加虚拟网卡的多种方法有时候,一台服务器需要设置多个ip,但又不想添加多块网卡,那就需要设置虚拟网卡.这里介绍几种方式在Linux服务器上添加虚拟网卡. 我们向eth0中添加一块虚拟网卡:第一种方法:快递创建\删除虚拟网卡sudo ifconfig eth0:0 192.168.10.10 up以上的命令就可以在eth0网卡上创建一个叫eth0:0转载 2017-05-11 17:38:56 · 974 阅读 · 0 评论 -
如何在codewarrior中的flashprogrammer添加新的flash型号
由于项目需要节约成本,更新硬件,主要包括PPC MPC5125处理器、DDR2内存以及Norflash。林工希望换掉老的spansion S29GL128P, 更新为速度更快、容量更大的spansion 65 nm S29GL256S,但在硬件设计初期发现之前使用的flash烧写工具flashprogrammer并不支持该款新的flash,所有硬件做好了都得让我调试,解决这个问题的任务自然...转载 2017-04-26 10:48:10 · 2161 阅读 · 1 评论 -
Ubifs 文件系统的制作和启动
Ubifs 文件系统的制作和启动UBI 文件系统是 JFFS2 的下一代文件系统,更适合 NAND FLASH。看到一些 AM335x 的用户在应用 UBIFS 时遇到些问题,现在做个简要介绍。1. 在 U-boot 和 kernel 中使能对 UBIFS 的支持1.1 U-boot 的\include\configs\am335x_evm.h 中加入如下宏的定义:#defin转载 2017-05-17 16:36:36 · 761 阅读 · 0 评论 -
ls1021atwr 配置SD卡启动内核
1格式化SD卡,对其进行分区先在windows下面将卡格式化为FAT32格式,然后将SD接入到ubuntu下面,通过脚本文件 mkcard.sh 对SD卡进行分区。执行以下步骤:1 解除SD卡的挂载: umount /media/xxx2 利用脚本进行分区: sudo ./mkcard.sh /dev/sdb3 分区完成后,检验分区是否成功: ls /media 看/media转载 2017-04-27 09:26:09 · 1018 阅读 · 1 评论 -
Linux下gcc编译生成动态链接库*.so文件并调用它
动态库*.so在linux下用c和c++编程时经常会碰到,最近在网站找了几篇文章介绍动态库的编译和链接,总算搞懂了这个之前一直不太了解得东东,这里做个笔记,也为其它正为动态库链接库而苦恼的兄弟们提供一点帮助。1、动态库的编译下面通过一个例子来介绍如何生成一个动态库。这里有一个头文件:so_test.h,三个.c文件:test_a.c、test_b.c、test_c.c,我们将这几个文件转载 2017-06-28 16:03:26 · 245 阅读 · 0 评论 -
Linux下如何查看高CPU占用率线程 LINUX CPU利用率计算
proc文件系统proccpuinfo文件procstat文件procpidstat文件 procpidtasktidstat文件系统中有关进程cpu使用率的常用命令ps 命令top命令单核情况下Cpu使用率的计算基本思想总的Cpu使用率计算计算方法某一进程Cpu使用率的计转载 2017-07-11 10:11:51 · 894 阅读 · 0 评论 -
使用CodeWarrior调试U-Boot
版权声明:本文为博主原创文章,未经博主允许不得转载。 使用USBTAP仿真器,CodeWarrior 8.8可以直接跟踪和调试已经烧写在NOR Flash上的U-Boot。下面以MPC8306 U-Boot为例,介绍如何配置CodeWarrior,让它能连接和调试U-Boot,以及如何跟踪和调试。在此之前,我们首先介绍一下PowerPC体系架构处理器的上电复位知识, PowerPC转载 2017-06-21 17:24:04 · 2901 阅读 · 1 评论 -
TWR_MPC8309调试日志
版权声明:本文为博主原创文章,未经博主允许不得转载。TWR_MPC8309调试日志--------By Moresung Chan , At 12:00 ,Sep 16,2012 一、软硬件:PC机操作系统:Microsoft Windows Server 2003 R2开发板:TWR_MPC8309、网线、USB下载线、USB_TAP、光盘工具软件:超级终端或者ZOC转载 2017-06-21 17:50:05 · 1514 阅读 · 0 评论 -
单片机/ARM死机的常见原因及解决方案
前几天在写ARM时经常死机,莫名其妙,在这搜集了一些比较好的解答和方案,给大家参考。可能原因:一 振荡器停止振荡又可以分为电源电压不稳,或者强干扰引起的振荡器停振。二 PC指针跑飞电源电压不稳或强干扰引起PC跑飞,如果看门狗不好,也会引起死机。三 设计上对长引出线的IO没有保护,静电打在IO口上引起单片机死锁,破坏了硬件逻辑功转载 2017-07-11 10:19:01 · 2792 阅读 · 0 评论 -
Linux 设备驱动--- 并发 与 竞态 --- atomic_t --- atomic_dec_and_test --- 原子操作
并发:多个执行单元同时被执行.竞态:并发的执行单元对资源 ( 硬件资源和软件上的全局变量等 ) 的访问导致的竞争状态.并发的处理:处理并发的常用技术是加锁或者互斥,即保证在任何时间只有一个执行单元可以操作共享资源.在 Linux 内核中主要通过 semaphore 机制(信号...转载 2019-02-21 16:55:33 · 552 阅读 · 0 评论