- 博客(22)
- 收藏
- 关注
转载 嵌入式 GDB调试死锁示例
死锁:一种情形,此时执行程序中两个或多个线程发生永久堵塞(等待),每个线程都在等待被 其他线程占用并堵塞了的资源。例如,如果线程A锁住了记录1并等待记录2,而线程B锁住了记录2并等待记录1,这样两个线程就发生了死锁现象。 gdb调试死锁的方法: ...
2014-10-09 23:13:00 144
转载 嵌入式 hi3518c平台网卡模式MII与RMII模式在Uboot和kernel中切换小结
由于公司项目的需要,我们需要在原有的MII的基础上,修改为RMII模式,针对hi3518c平台,我的网卡是LAN8701需要修改的地方有如下几个: 首先我的uboot中env是: bootargs=mem=64M console=ttyAMA0,115200 root=/dev/mtdbl...
2014-10-09 23:13:00 103
转载 服务器 libevent源码深度剖析十二
Libevent本身不是多线程安全的,在多核的时代,如何能充分利用CPU的能力呢,这一节来说说如何在多线程环境中使用libevent,跟源代码并没有太大的关系,纯粹是使用上的技巧。 1 错误使用示例 在多核的CPU上只使用一个线程始终是对不起CPU的处理能力啊,那好...
2014-10-09 23:13:00 97
转载 嵌入式 Linux下修改MAC地址
Linux下修改MAC地址 方法一: 1.关闭网卡设备 ifconfig eth0 down 2.修改MAC地址 ifconfig eth0 hw ether MAC地址 3.重启网卡 ifconfig eth0 up 方法二: 以上方法一修改后linux重启后MA...
2014-10-09 23:13:00 1007
转载 服务器 libevent源码深度剖析二
前面讲到,整个libevent本身就是一个Reactor,因此本节将专门对Reactor模式进行必要的介绍,并列出libevnet中的几个重要组件和Reactor的对应关系,在后面的章节中可能还会提到本节介绍的基本概念。 1 Reactor的事件处理机制 首先来回想一下普通函数调用的...
2014-10-09 23:13:00 104
转载 服务器 libevent源码深度剖析五
对事件处理流程有了高层的认识后,本节将详细介绍libevent的核心结构event,以及libevent对event的管理。 1 libevent的核心-event Libevent是基于事件驱动(event-driven)的,从名字也可以看到event是整个库的核心。e...
2014-10-09 23:13:00 71
转载 嵌入式 uboot中ping或者tftp的错误“Retry count exceeded; starting again”
今天在u-boot对DM9000X网卡的支持的移植。最后通过tftp下载时候,遇到如下问题: tf[u-boot@MINI2440]# tp 0x30000000 root_qtopia-128M.img Filename 'root_qtopia-128M.img'. Load add...
2014-10-09 23:13:00 1242
转载 服务器 libevent中epoll使用实例demo
名词解释:man epoll之后,得到如下结果: NAME epoll - I/O event notification facility SYNOPSIS #include <sys/epoll.h> DESCRIPTION epo...
2014-10-09 23:13:00 265
转载 嵌入式 hi3518平台uboot引导nfs文件系统
首先贴出来我的bootargs的设置(注没有换行符!!!): setenv bootargs noinitrd mem=64M root=/dev/nfs init=/linuxrc rw nfsroot=10.10.2.59:/opt/rootfs/ ip=10.10.1.156:10...
2014-10-09 23:13:00 208
转载 服务器 libevent源码深度剖析八
现在我们已经了解了libevent的基本框架:事件管理框架和事件主循环。上节提到了libevent中I/O事件和Signal以及Timer事件的集成,这一节将分析如何将Signal集成到事件主循环的框架中。 1 集成策略——使用socket pair 前一节已...
2014-10-09 23:13:00 137
转载 服务器 libevent源码深度剖析七
现在我们已经初步了解了libevent的Reactor组件——event_base和事件管理框架,接下来就是libevent事件处理的中心部分——事件主循环,根据系统提供的事件多路分发机制执行事件循环,对已注册的就绪事件,调用注册事件的回调函数来处理事件。 1 阶段性的胜利 ...
2014-10-09 23:13:00 98
转载 嵌入式 Notepad++快捷键小结
Notepad++绝对是windows下进行程序编辑的神器之一,要更快速的使用以媲美VIM,必须灵活掌握它的快捷键,下面对notepad++默认的快捷键做个整理(其中有颜色的为常用招数): 1. 文件相关 快捷键 动作定义 ...
2014-10-09 23:13:00 140
转载 服务器 libevent源码深度剖析九
现在再来详细分析libevent中I/O事件和Timer事件的集成,与Signal相比,Timer事件的集成会直观和简单很多。Libevent对堆的调整操作做了一些优化,本节还会描述这些优化方法。 1 集成到事件主循环 因为系统的I/O机制像select()和ep...
2014-10-09 23:13:00 106
转载 服务器 libevent源码深度剖析三
1 前言 学习源代码该从哪里入手?我觉得从程序的基本使用场景和代码的整体处理流程入手是个不错的方法,至少从个人的经验上讲,用此方法分析libevent是比较有效的。 2 基本应用场景 基本应用场景也是使用libevnet的基本流程,下面来考虑一个最简单的场景,使用livevent设...
2014-10-09 23:13:00 114
转载 服务器 libevent源码深度剖析十
Libevent的核心是事件驱动、同步非阻塞,为了达到这一目标,必须采用系统提供的I/O多路复用技术,而这些在Windows、Linux、Unix等不同平台上却各有不同,如何能提供优雅而统一的支持方式,是首要关键的问题,这其实不难,本节就来分析一下。 1 统一的关键 ...
2014-10-09 23:13:00 83
转载 嵌入式 VFS: Cannot open root device "mtdblock2" or unknown-block(2,0)
【问题】 系统启动后,虽然nand驱动表现正常,但是最后挂载rootfs时候出错: Kernel command line: root=/dev/mtdblock2 rw init=/linuxrc console=ttyAMA1,115200 mem=64M rootfstype=...
2014-10-09 23:13:00 321
转载 服务器 libevent源码深度剖析六
前面已经对libevent的事件处理框架和event结构体做了描述,现在是时候剖析libevent对事件的详细处理流程了,本节将分析libevent的事件处理框架event_base和libevent注册、删除事件的具体流程,可结合前一节libevent对event的管理。 1 事件...
2014-10-09 23:13:00 85
转载 服务器 libevent源码深度剖析四
1 前言 详细分析源代码之前,如果能对其代码文件的基本结构有个大概的认识和分类,对于代码的分析将是大有裨益的。本节内容不多,我想并不是说它不重要! 2 源代码组织结构 Libevent的源代码虽然都在一层文件夹下面,但是其代码分类还是相当清晰的,主要可分为头文件、内部使用的头文件、...
2014-10-09 23:13:00 133
转载 嵌入式 修改u-boot与Linux调试串口以及文件系统显示终端串口
1.背景 近期一个项目,使用TI Cortex-A8的芯片AM3517作为主控开发。前期使用北京瑞泰公司的ICETEK-AM3517-KB核心板搭建开发环境。在自己做底板布板的时候的时候涂个布线方便,改用UART1作为调试串口,而原来瑞泰给的开发包,已经TI的AM3517...
2014-10-09 23:13:00 189
转载 服务器 libevent源码深度剖析十一
为了支持定时器,Libevent必须和系统时间打交道,这一部分的内容也比较简单,主要涉及到时间的加减辅助函数、时间缓存、时间校正和定时器堆的时间值调整等。下面就结合源代码来分析一下。 1 初始化检测 Libevent在初始化时会检测系统时间的类型,通过调用函数det...
2014-10-09 23:13:00 155
转载 嵌入式 hi3518c平台网卡模式MII与RMII模式在Uboot和kernel中切换小结
由于公司项目的需要,我们需要在原有的MII的基础上,修改为RMII模式,针对hi3518c平台,我的网卡是LAN8701需要修改的地方有如下几个: 首先我的uboot中env是: bootargs=mem=64M console=ttyAMA0,115200 root=/dev/mtdbl...
2014-10-09 23:11:00 125
转载 嵌入式 amr-linux上udpsvd以及tcpsvd作用说明
1、udpsvd: BusyBox v1.22.1 (2014-09-04 14:45:17 CST) multi-call binary. Usage: udpsvd [-hEv] [-c N] [-u USER] [-l NAME] IP PORT PROGCreate UDP soc...
2014-09-16 15:39:00 1147
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人