c++实现ping模块

#pragma once


//这里需要导入库 Ws2_32.lib,在不同的IDE下可能不太一样 
#include <WinSock2.h>
#pragma comment(lib, "Ws2_32.lib")

#define DEF_PACKET_SIZE 32
#define ECHO_REQUEST 8
#define ECHO_REPLY 0

struct IPHeader
{
    BYTE m_byVerHLen; //4位版本+4位首部长度
    BYTE m_byTOS; //服务类型
    USHORT m_usTotalLen; //总长度
    USHORT m_usID; //标识
    USHORT m_usFlagFragOffset; //3位标志+13位片偏移
    BYTE m_byTTL; //TTL
    BYTE m_byProtocol; //协议
    USHORT m_usHChecksum; //首部检验和
    ULONG m_ulSrcIP; //源IP地址
    ULONG m_ulDestIP; //目的IP地址
};

struct ICMPHeader
{ 
    BYTE m_byType; //类型
    BYTE m_byCode; //代码
    USHORT m_usChecksum; //检验和 
    USHORT m_usID; //标识符
    USHORT m_usSeq; //序号
    ULONG m_ulTimeStamp; //时间戳(非标准ICMP头部)
};

struct PingReply
{
    USHORT m_usSeq;
    DWORD m_dwRoundTripTime;
    DWORD m_dwBytes;
    DWORD m_dwTTL;
};

class CPing
{
public:
    CPing();
    ~CPing();
    BOOL Ping(DWORD dwDestIP, PingReply *pPingReply = NULL, DWORD dwTimeout = 2000);
    BOOL Ping(char *szDestIP, PingReply *pPingReply = NULL, DWORD dwTimeout = 2000);
private:
    BOOL PingCore(DWORD dwDestIP, PingReply *pPingReply, DWORD dwTimeout);
    USHORT CalCheckSum(USHORT *pBuffer, int nSize);
    ULONG GetTickCountCalibrate();
private:
    SOCKET m_sockRaw; 
    WSAEVENT m_event;
    USHORT m_usCurrentProcID;
    char *m_szICMPData;
    BOOL m_bIsInitSucc;
private:
    static USHORT s_usPacketSeq;
};


ping.cpp

#include "stdafx.h"
#include "ping.h"

USHORT CPing::s_usPacketSeq = 0;

CPing::CPing() : 
    m_szICMPData(NULL), 
    m_bIsInitSucc(FALSE)
{
    WSADATA WSAData;
    WSAStartup(MAKEWORD(1, 1), &WSAData);

    m_event = WSACreateEvent();
    m_usCurrentProcID = (USHORT)GetCurrentProcessId();

    if ((m_sockRaw = WSASocket(AF_INET, SOCK_RAW, IPPROTO_ICMP, NULL, 0, 0)) != SOCKET_ERROR)
    {
        WSAEventSelect(m_sockRaw, m_event, FD_READ);
        m_bIsInitSucc = TRUE;

		int sz = DEF_PACKET_SIZE + sizeof(ICMPHeader);
		m_szICMPData = new char[sz];
		memset(m_szICMPData, 0, sz);

        if (m_szICMPData == NULL)
        {
            m_bIsInitSucc = FALSE;
        }
    }
}

CPing::~CPing()
{
    WSACleanup();

    if (NULL != m_szICMPData)
    {
        delete []m_szICMPData;
        m_szICMPData = NULL;
    }
}

BOOL CPing::Ping(DWORD dwDestIP, PingReply *pPingReply, DWORD dwTimeout)
{  
    return PingCore(dwDestIP, pPingReply, dwTimeout);
}

BOOL CPing::Ping(char *szDestIP, PingReply *pPingReply, DWORD dwTimeout)
{  
    if (NULL != szDestIP)
    {
        return PingCore(inet_addr(szDestIP), pPingReply, dwTimeout);
    }
    return FALSE;    
}

BOOL CPing::PingCore(DWORD dwDestIP, PingReply *pPingReply, DWORD dwTimeout)
{
    //判断初始化是否成功
    if (!m_bIsInitSucc)
    {
        return FALSE;
    }

    //配置SOCKET
    sockaddr_in sockaddrDest; 
    sockaddrDest.sin_family = AF_INET; 
    sockaddrDest.sin_addr.s_addr = dwDestIP;
    int nSockaddrDestSize = sizeof(sockaddrDest);

    //构建ICMP包
    int nICMPDataSize = DEF_PACKET_SIZE + sizeof(ICMPHeader);
    ULONG ulSendTimestamp = GetTickCountCalibrate();
    USHORT usSeq = ++s_usPacketSeq;    
    memset(m_szICMPData, 0, nICMPDataSize);
    ICMPHeader *pICMPHeader = (ICMPHeader*)m_szICMPData;
    pICMPHeader->m_byType = ECHO_REQUEST; 
    pICMPHeader->m_byCode = 0; 
    pICMPHeader->m_usID = m_usCurrentProcID;    
    pICMPHeader->m_usSeq = usSeq;
    pICMPHeader->m_ulTimeStamp = ulSendTimestamp;
    pICMPHeader->m_usChecksum = CalCheckSum((USHORT*)m_szICMPData, nICMPDataSize);

    //发送ICMP报文
    if (sendto(m_sockRaw, m_szICMPData, nICMPDataSize, 0, (struct sockaddr*)&sockaddrDest, nSockaddrDestSize) == SOCKET_ERROR)
    {
        return FALSE;
    }
    
    //判断是否需要接收相应报文
    if (pPingReply == NULL)
    {
        return TRUE;
    }

    char recvbuf[256] = {"\0"};
    while (TRUE)
    {
        //接收响应报文
        if (WSAWaitForMultipleEvents(1, &m_event, FALSE, 100, FALSE) != WSA_WAIT_TIMEOUT)
        {
            WSANETWORKEVENTS netEvent;
            WSAEnumNetworkEvents(m_sockRaw, m_event, &netEvent);

            if (netEvent.lNetworkEvents & FD_READ)
            {
                ULONG nRecvTimestamp = GetTickCountCalibrate();
                int nPacketSize = recvfrom(m_sockRaw, recvbuf, 256, 0, (struct sockaddr*)&sockaddrDest, &nSockaddrDestSize);
                if (nPacketSize != SOCKET_ERROR)
                {
                    IPHeader *pIPHeader = (IPHeader*)recvbuf;
                    USHORT usIPHeaderLen = (USHORT)((pIPHeader->m_byVerHLen & 0x0f) * 4);
                    ICMPHeader *pICMPHeader = (ICMPHeader*)(recvbuf + usIPHeaderLen);

                    if (pICMPHeader->m_usID == m_usCurrentProcID //是当前进程发出的报文
                        && pICMPHeader->m_byType == ECHO_REPLY //是ICMP响应报文
                        && pICMPHeader->m_usSeq == usSeq //是本次请求报文的响应报文
                        )
                    {
                        pPingReply->m_usSeq = usSeq;
                        pPingReply->m_dwRoundTripTime = nRecvTimestamp - pICMPHeader->m_ulTimeStamp;
                        pPingReply->m_dwBytes = nPacketSize - usIPHeaderLen - sizeof(ICMPHeader);
                        pPingReply->m_dwTTL = pIPHeader->m_byTTL;
                        return TRUE;
                    }
                }
            }
        }
        //超时
        if (GetTickCountCalibrate() - ulSendTimestamp >= dwTimeout)
        {
            return FALSE;
        }
    }
}

USHORT CPing::CalCheckSum(USHORT *pBuffer, int nSize)
{
    unsigned long ulCheckSum=0; 
    while(nSize > 1) 
    { 
        ulCheckSum += *pBuffer++; 
        nSize -= sizeof(USHORT); 
    }
    if(nSize ) 
    { 
        ulCheckSum += *(UCHAR*)pBuffer; 
    } 

    ulCheckSum = (ulCheckSum >> 16) + (ulCheckSum & 0xffff); 
    ulCheckSum += (ulCheckSum >>16); 

    return (USHORT)(~ulCheckSum); 
}

ULONG CPing::GetTickCountCalibrate()
{
    static ULONG s_ulFirstCallTick = 0;
    static LONGLONG s_ullFirstCallTickMS = 0;

    SYSTEMTIME systemtime;
    FILETIME filetime;
    GetLocalTime(&systemtime);    
    SystemTimeToFileTime(&systemtime, &filetime);
    LARGE_INTEGER liCurrentTime;
    liCurrentTime.HighPart = filetime.dwHighDateTime;
    liCurrentTime.LowPart = filetime.dwLowDateTime;
    LONGLONG llCurrentTimeMS = liCurrentTime.QuadPart / 10000;

    if (s_ulFirstCallTick == 0)
    {
        s_ulFirstCallTick = GetTickCount();
    }
    if (s_ullFirstCallTickMS == 0)
    {
        s_ullFirstCallTickMS = llCurrentTimeMS;
    }

    return s_ulFirstCallTick + (ULONG)(llCurrentTimeMS - s_ullFirstCallTickMS);
}

test.cpp

#include "ping.h"

CPing objPing;  
PingReply reply;
memset(&reply, 0, sizeof reply);
static bool bIsCon = true;
while (TRUE)
{
	objPing.Ping(GlobalManger::m_strSendIp.GetBuffer(0), &reply);
	if (reply.m_dwBytes == 0)
	{
		bIsCon = false;
		//m_InfoNote.SetInfo("网络连接失败...");
		break;
	}
	else//ping通了
	{
		if (bIsCon == false)
		{
			GlobalManger::ReConnectUDP();//重连UDP
		}
		bIsCon = true;
	}
	//CString str;
	//str.Format("Reply from %s: bytes=%ld time=%ldms TTL=%ld\n", GlobalManger::m_strSendIp.GetBuffer(0),\
	//reply.m_dwBytes,reply.m_dwRoundTripTime, reply.m_dwTTL);
	//Sleep(500);
}


  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
文件格式为azw3,文字版本,可以用kindle阅读,PC端可以用calibre,可以转成epub所有手机阅读软件都支持,对手机的排版支持还不错. 内容目录 第1天 文本操作指令 1.1 ar 指令:创建、修改或从档案文件中提取文件 1.2 aspell指令:检查文件的错误 1.3 bunzip2指令:解压缩.bz2类型的文件 1.4 bye指令:中断FTP连接 1.5 bzip2指令:压缩成.bz2类型的文件 1.6 bzip2recover指令:损坏.bz2文件的修复 1.7 cat指令:连接并输出文件内容 1.8 chattr指令:改变文件的属性 1.9 chgrp 指令:改变文件或者目录所属的用户组 1.10 chmod指令:改变文件或者目录的权限 1.11 chown指令:改变文件的拥有者或用户组 1.12 cksum指令:文件的CRC校验 1.13 cmp指令:比较文件差异 1.14 cp指令:复制 1.15 cpio指令:备份文件 1.16 csplit指令:分割文件 1.17 cut指令:剪切文件 1.18 diff指令:生成差异信息 1.19 diffstat指令:diff结果的统计信息 1.20 dump指令:文件系统备份 1.21 file指令:辨识文件类型 1.22 find指令:查找目录或者文件 1.23 fsck指令:检查并尝试修改文件系统错误 1.24 fsck.ext2指令:检查ext2文件系统并尝试修改错误 1.25 fsck.ext3指令:检查ext3文件系统并尝试修改错误 1.26 fsck.minix指令:检查文件系统并尝试修复错误 1.27 ftp指令:文件传输协议 1.28 ftpcount指令:显示ftp登录用户数 1.29 ftpshut指令:定时关闭ftp服务器 1.30 ftpwho指令:显示登录ftp用户信息 1.31 gunzip指令:解压缩文件 1.32 gzexe指令:压缩可执行文件 1.33 gzip指令:压缩文件 1.34 indent指令:调整C原始代码文件的格式 1.35 less指令:一次显示一页文本 1.36 lha指令:压缩或解压缩文件 1.37 ln指令:链接文件或目录 1.38 locate指令:查找文件 1.39 lpd指令:打印管理程序 1.40 lpq 指令:查看打印机列表中未完成的工作 1.41 lpr指令:输入打印文件 1.42 lprm 指令:将任务从打印机队列中移除 1.43 lsattr指令:显示文件属性 1.44 mattrib指令:变更或显示MS-DOS文件的属性 1.45 mc指令:菜单式文件管理程序 1.46 mcopy指令:复制MS-DOS文件 1.47 mdel指令:删除MS-DOS文件 1.48 mdir指令:显示MS-DOS目录 1.49 mkdir指令:建立目录 1.50 mktemp指令:建立暂存文件 1.51 more指令:显示文件信息 1.52 mmove指令:移动或重命名MS-DOS文件 1.53 mread指令:复制MS-DOS文件 1.54 mren指令:移动或重命名MS-DOS文件 1.55 mshowfat指令:显示MS-DOS文件的记录 1.56 mtools 指令:显示 mtools 支持的指令 1.57 mtoolstest 指令:测试同时显示mtools的相关设置 1.58 mv 指令:移动或更名现有的文件或目录 1.59 ncftp指令:文件传输 1.60 ncftpget指令:下载文件 1.61 ncftpput指令:上传文件 1.62 od指令:输出文件内容 1.63 paste指令:合并文件的列 1.64 patch指令:修补文件 1.65 rcp指令:远程复制文件或目录 1.66 rhmask指令:产生加密文件 1.67 rm指令:删除文件或目录 1.68 tac指令:反序输出文件 1.69 tar指令:打包同时压缩/解压缩文件 1.70 tee 指令:从标准输入读取数据到标准输出,同时保存为文件 1.71 tftp指令:传输文件 1.72 tmpwatch指令:删除临时文件 1.73 touch指令:更改文件/目录时间 1.74 umask指令:指定在建立文件时权限掩码 1.75 umount指令:卸除文件系统 1.76 unarj指令:解压缩文件 1.77 uncompress指令:解压缩.z文件 1.78 unzip指令:解压缩.zip文件 1.79 uucico指令:.uucp文件传输 1.80 uucp指令:在系统之间传送文件 1.81 uupick指令:处理接收文件 1.82 uuto指令:文件传送到远端主机 1.83 whereis指令:查找文件 1.84 which指令:查找文件 1.85 zip指令:压缩文件 1.86 zipinfo指令:显示压缩文件的信息 第2天 文本编辑指令 2.1 col指令:过滤控制字符 2.2 colrm指令:删除指定的列 2.3 comm指令:比较排序文件 2.4 ed指令:文本编辑器 2.5 egrep指令:输出匹配某种模式的行 2.6 emacs指令:文本编辑器 2.7 ex指令:在Ex模式下启动vim文本编辑器 2.8 expr指令:简单计算器 2.9 fgrep指令:匹配字符串 2.10 fmt指令:编排文本文件 2.11 fold指令:限制文件列宽 2.12 grep指令:匹配搜索 2.13 ispell指令:拼字检查程序 2.14 jed指令:编辑文本文件 2.15 joe指令:编辑文本文件 2.16 join指令:连接两个指定的文件 2.17 look指令:单字查询 2.18 mtype指令:显示MS-DOS文件的内容 2.19 pico指令:编辑文本文件 2.20 rgrep指令:递归查找 2.21 sed指令:利用script命令处理文本文件 2.22 sort指令:将文本文件内容加以排序 2.23 spell指令:拼字检查程序 2.24 tr指令:转换文件中的字符 2.25 uniq指令:检查文件中重复出现的行 2.26 vi指令:文字编辑器 2.27 vim指令:增强型vi文件编辑器 2.28 wc指令:计算字数 第3天 磁盘操作指令 3.1 automount指令:为auto文件系统配置挂载点 3.2 badblocks指令:检查磁盘坏道 3.3 cd指令:切换目录 3.4 cfdisk指令:磁盘分区 3.5 dd指令:转换复制文件 3.6 df指令:磁盘信息 3.7 dirs指令:显示目录信息 3.8 du指令:显示目录或文件所占的磁盘空间 3.9 edquota 指令:编辑用户或用户组的quota 3.10 eject指令:退出抽取式设备 3.11 e2fsck指令:检查ext2文件系统 3.12 fdformat指令:软盘格式化 3.13 fdisk指令:Linux磁盘分区 3.14 fsck 指令:检查文件系统并修复分区错误 3.15 fsck.ext2指令:检查ext2文件系统 3.16 fsconf指令:设置文件系统相关功能 3.17 hdparm指令:显示和设定硬盘参数 3.18 lndir指令:连接目录内容 3.19 losetup指令:设置循环设备 3.20 ls指令:列出目录内容 3.21 mbadblocks 指令:检查 MS-DOS文件系统的磁盘是否有损坏的磁区 3.22 mcd指令:在MS-DOS文件系统中切换工作目录 3.23 mdeltree指令:删除MS-DOS 目录/文件 3.24 mdu指令:显示MS-DOS目录所占用的磁盘空间 3.25 mformat指令:对MS-DOS文件系统的磁盘进行格式化 3.26 mkbootdisk指令:建立目前系统的启动盘 3.27 mkdir指令:建立目录 3.28 mkdosfs指令:建立MS-DOS文件系统 3.29 mke2fs指令:建立ext2文件系统 3.30 mkfs指令:建立各种文件系统 3.31 mkfs.ext2指令:建立ext2文件系统 3.32 mkfs.msdos 指令:建立 MS-DOS文件系统 3.33 mkinitrd指令:建立要载入ramdisk的映像文件 3.34 mkisofts指令:建立iso 9660映像文件 3.35 mkswap指令:设置交换区 3.36 mlabel 指令:显示/设置 MS-DOS磁盘驱动器的标签名称 3.37 mmd 指令:在MS-DOS 文件系统中建立目录 3.38 mmount指令:挂载MS-DOS文件系统 3.39 mount指令:挂载文件系统 3.40 mpartition指令:建立/删除MS-DOS的分区 3.41 mrd指令:删除MS-DOS文件系统中的目录 3.42 pwd指令:显示工作目录 3.43 quota指令:显示磁盘已使用的空间与限制 3.44 quotacheck 指令:检查磁盘的使用空间与限制 3.45 quotaoff指令:关闭磁盘空间限制 3.46 quotaon指令:开启磁盘空间限制 3.47 repquota指令:检查磁盘空间限制的状态 3.48 restore指令:还原dump操作备份文件 3.49 rmdir指令:删除目录 3.50 sfdisk指令:硬盘分区工具程序 3.51 stat指令:显示inode内容 3.52 swapoff指令:关闭系统交换分区 3.53 swapon指令:启动系统交换分区 3.54 symlinks指令:维护符号链接的工具程序 3.55 symlinks 指令:维护符号链接的工具程序 3.56 tree指令:以树状图显示目录内容 3.57 umount指令:卸除文件系统 第4天 网络通信指令 4.1 apachectl指令:apache HTTP服务器控制接口 4.2 arp指令:地址转换协议 4.3 arping指令:ARP请求报文 4.4 arpwatch指令:监听ARP记录 4.5 arptables指令:管理系统的ARP表 4.6 cu指令:主机间通信 4.7 dip指令:IP拨号连接 4.8 dnsconf指令:设置DNS服务器组态 4.9 efax指令:收发传真 4.10 getty指令:设置终端配置 4.11 httpd指令:apache http服务器程序 4.12 ifconfig指令:显示或者配置网络设备 4.13 mesg指令:控制终端的写入 4.14 minicom指令:调制解调器通信程序 4.15 nc指令:设置路由器 4.16 netstat指令:显示网络状态 4.17 newaliases指令:重建别名数据库 4.18 pine指令:处理电子邮件和新闻组 4.19 ping指令:检测主机 4.20 ppp-off指令:关闭ppp连线 4.21 pppsetup指令:设置ppp连线 4.22 pppstats指令:显示ppp连线状态 4.23 samba指令:控制Samba服务端 4.24 sendmail指令:邮件服务器程序 4.25 setserial指令:设置或显示串口的相关信息 4.26 smbclient指令:可存取SMB/CIFS服务器的用户端程序 4.27 smbd指令:Samba服务端 4.28 ssh指令:加密的远程登录工具 4.29 statserial指令:samba服务器程序 4.30 talk指令:与其他用户交谈 4.31 tcpdump指令:倾倒网络传输数据 4.32 telnet指令:远程登录 4.33 testparm 指令:测试 Samba 配置文件 4.34 traceroute指令:显示数据包到主机间的路径 4.35 tty指令:显示标准输入设备名称 4.36 uucp 指令:将特定文件复制到另一个特定系统 4.37 uulog指令:显示uucp记录信息 4.38 uuname指令:显示uucp远端主机 4.39 uustat指令:显示uucp状态 4.40 uux指令:在远端的uucp主机上运行指令 4.41 wall指令:发送信息 4.42 write指令:传送信息 4.43 ytalk指令:与其他用户交谈 第5天 系统管理指令 5.1 adduser指令:增加一个系统用户 5.2 arch指令:输出主机的体系结构 5.3 batch指令:执行批处理指令 5.4 bg指令:将程序放在后台执行 5.5 chfn指令:设置finger信息 5.6 chsh指令:改变登录系统时的shell 5.7 clear指令:清除屏幕信息 5.8 date指令:显示或设置系统时间 5.9 echo指令:字符串输出 5.10 exit指令:退出shell 5.11 finger指令:查找并显示用户信息 5.12 free指令:显示内存信息 5.13 fwhois指令:显示用户的信息 5.14 gitps指令:显示程序情况 5.15 groupadd指令:创建一个新群组 5.16 groupdel指令:删除一个群组 5.17 groupmod 指令:改变系统群组的属性 5.18 groups指令:查看用户属于哪个组 5.19 halt指令:关闭系统 5.20 help指令:显示shell内建指令的帮助信息 5.21 history指令:显示历史指令 5.22 id 指令:显示用户的ID 以及所属群组的ID 5.23 init指令:开关机设置 5.24 ipcs指令:显示进程间通信的信息 5.25 jobs指令:显示所有后台程序 5.26 kill指令:杀死执行中的进程 5.27 last指令:显示所有登录系统的用户相关信息 5.28 lastb 指令:显示登录系统失败的用户信息 5.29 login指令:登录系统 5.30 logname指令:显示登录账号 5.31 logout指令:退出系统 5.32 logrotate指令:管理log文件 5.33 man指令:帮助手册 5.34 nice指令:设置优先级 5.35 procinfo指令:显示系统状态 5.36 ps指令:报告程序状况 5.37 pstree指令:以树状图显示程序 5.38 reboot指令:重新启动 5.39 renice指令:调整优先级 5.40 rlogin指令:远端登录 5.41 rsh指令:远端登录的shell 5.42 rwho指令:查看系统用户 5.43 screen指令:多重视窗管理程序 5.44 shutdown指令:系统关机 5.45 skill指令:工作行程资讯与管理 5.46 sleep指令:休眠 5.47 su指令:变更用户身份 5.48 sudo指令:以其他身份来执行 5.49 suspend指令:暂停执行shell 5.50 swatch指令:系统监控程序 5.51 tload指令:显示系统负载 5.52 top指令:显示进程信息 5.53 uname指令:显示系统信息 5.54 useradd指令:建立用户账号 5.55 userconf指令:设置用户账号 5.56 userdel指令:删除用户账号 5.57 usermod指令:修改用户账号 5.58 vlock指令:锁定终端 5.59 w指令:显示登录系统的用户信息 5.60 who指令:显示系统用户信息 5.61 whoami指令:显示用户名 5.62 whois指令:查找用户/域名信息 第6天 系统设置指令 6.1 alias指令:设置指令的别名 6.2 apmd指令:高级电源管理 6.3 aumix指令:设置音效设备 6.4 bind指令:显示或者设置按键组合 6.5 chkconfig指令:设置系统的应用程序 6.6 chroot指令:改变根目录 6.7 clock指令:系统RTC时间设置 6.8 crontab指令:设置计时器 6.9 declare指令:声明 shell 变量 6.10 depmod指令:模块关系 6.11 dircolors指令:ls指令对应的显示颜色设置 6.12 dmesg指令:显示内核信息 6.13 enable指令:激活或关闭shell内建指令 6.14 eval指令:执行多个指令 6.15 export指令:设置或显示环境变量 6.16 fbset指令:设置帧缓冲区 6.17 grpconv指令:开启群组的投影密码 6.18 grpunconv 指令:关闭群组的投影密码 6.19 hwclock指令:显示与设定硬件时钟(rtc) 6.20 insmod指令:载入模块 6.21 kbdconfig指令:设置键盘类型 6.22 lilo指令:引导安装程序 6.23 liloconfig指令:设置程序的载入 6.24 lsmod 指令:显示Linux内核的模块信息 6.25 minfo指令:显示MS-DOS文件系统的各项参数 6.26 mkkickstart 指令:建立安装的组态文件 6.27 modinfo指令:显示内核信息 6.28 modprobe 指令:自动处理可载入模块 6.29 moouseconfig指令:设置鼠标相关参数 6.30 ntsysv指令:设置系统的各种服务 6.31 passwd指令:设置密码 6.32 pwconv指令:开启用户的投影密码 6.33 pwunconv 指令:关闭用户的投影密码 6.34 rdate 指令:显示其他主机的日期与时间 6.35 reset指令:设置终端机状态 6.36 resize指令:设置终端机视窗的大小 6.37 rmmod指令:删除模块 6.38 rpm指令:管理RPM包 6.39 set指令:设置shell 6.40 setconsole指令:设置系统终端 6.41 setenv指令:查询或显示环境变量 6.42 setup指令:设置公用程序 6.43 sndconfig指令:设置声卡 6.44 timeconfig指令:设置时区 6.45 ulimit指令:控制shell程序的资源 6.46 unalias指令:删除别名 6.47 unset指令:删除变量或函数 6.48 up2date指令:更新Linux系统 6.49 vmstat指令:显示虚拟内存空间 第7天 其他常见指令 7.1 as指令:标准GNU汇编程序 7.2 autoconf指令:产生配置脚本 7.3 autoheader指令:为configure产生模板头文件 7.4 autoreconf指令:更新已经生成的配置文件 7.5 autoscan指令:生成configure.in模板文件 7.6 autoupdate 指令:更新 configure.in文件 7.7 gcc指令:GNU的C和C++编译器 7.8 gdb指令:GNU调试器 7.9 gdbserver指令:远端GNU服务器 7.10 ld指令:链接目标文件和库文件 7.11 make指令:编译内核或模块 7.12 nm指令:显示目标文件中的符号 7.13 startx指令:启动x-Windows图形界面 7.14 xhost指令:设置X服务器的访问权限 7.15 xinit指令:启动x-Windows 7.16 xlsclients 指令:显示正在运行的 X程序 7.17 xlsfonts指令:显示目前X服务器可使用的字体 7.18 xset指令:设置x-Windows
1,01.zip<br>Dialogs in DLL<br>在DLL中实现对话框(5KB)<END><br>2,02.zip<br>Export dialogs in MFC Extension DLLs<br>在MFC扩充DLL中输出对话框(12KB)<END><br>3,03.zip<br>Remapping resource script ID's<br>重影象资源的标识符(4KB)<END><br>4,04.zip<br>Determine DLL version number<br>检测DLL的版本号(7KB)<END><br>5,05.zip<br>Getting the complete information about DLL/Exe module<br>得到DLL/EXE模块的编译信息(5KB)<END><br>6,06.zip<br>Using one extension DLL in another<br>在DLL中使用扩充的DLL(4KB)<END><br>7,07.zip<br>Handling VB strings (as part of an array of UDT)<br>VB的串句柄(5KB)<END><br>8,08.zip<br>Class for Dynamic DLL Loading<br>动态装入DLL的一个类(6KB)<END><br>9,pop3.zip<br>CPop3Connection - an MFC Class to encapsulate the POP3 protocol(20KB)<END><br>10,ipenum.zip<br>IPEnum - an MFC class and console app to allow IP address enumeration<br>(11KB)<END><br>11,smtp.zip<br>CSMTPConnection - an MFC Class to encapsulate the SMTP protocol(69KB)<END><br>12,ping.zip<br>CPing - an MFC class to encapsulate the PING protocol(13KB)<END><br>13,mailslot.zip<br>CServerMailslot & CClientMailslot - 2 MFC classes to support Win32 mailslots(29KB)<END><br>14,rasman.zip<br>A shareware application to monitor your Dial-Up Networking Connections.<br>(49KB)<END><br>15,rasmonitor.zip<br>The MFC class to monitor connections as used by RasMan.(17KB)<END><br>16,npipe.zip<br>A Freeware MFC class to encapsulate Named Pipes(24KB)<END><br>17,apipe.zip<br>A Freeware MFC class to encapsulate(8KB)<END><br>18,csntp.zip<br>A Freeware MFC class to encapsulate the SNTP protocol(18KB)<END><br>19,tracer.zip<br>an MFC class to encapsulate trace route functionality(13KB)<END><br>20,popwatch.zip<br>A freeware application to monitor your POP3 mailbox(72KB)<END><br>21,w3mfc.zip<br>A collection of freeware MFC classes to implement a Web Server(34KB)<END><br>22,mfccddb.zip<br>A freeware MFC class to support access to CDDB servers(39KB)<END><br>23,cmapi.zip<br>an MFC class to encapsulate sending mail using Simple MAPI(21KB)<END><br>24,finger.zip<br>An MFC class to encapsulate the "Finger" protocol(26KB)<END><br>25,eqd.zip<br>A Freeware MFC class to support retrieval of recent Earthquake data from the USGS(10KB)<END><br>26,httpdownloaddlg.zip<br>The class implements an MFC CDialog derived class which performs HTTP downloads similar to the Internet Explorer(43KB)<END><br>27,ccmc.zip<br>an MFC class to encapsulate sending mail using CMC(19KB)<END><br>28,ftptransferdlg.zip<br>CFTPTransferDlg provides an MFC dialog which performs FTP uploads and downloads similar to the Internet Explorer(43KB)<END><br>29,memmap.zip<br>A freeware MFC class to encapsulate Memory Mapped Files(18KB)<END><br>30,pstat.zip<br>A Freeware generalized framework for executing a lengthy operation in a thread. (20KB)<END><br>31,cfile64.zip<br>A freeware MFC class to encapsulate the Win32 64 bit file system API(16KB)<END><br>32,serv.zip<br>A class framework for developing NT services in MFC(53KB)<END><br>33,shelllink.zip<br>2 Freeware MFC classes to encapsulate shell shortcuts(12KB)<END><br>34,dyndata.zip<br>A collection of freeware MFC classes to encapsulate the Windows 95/98 performance counters.(10KB)<END><br>35,cpdh.zip<br>A collection of freeware MFC classes to encapsulate the NT Performance Counters.(25KB)<END><br>36,serialport.zip<br>A freeware MFC class for Win32 serial ports(19KB)<END><br>37,cpl_pp.zip<br>A freeware MFC class framework for developing Control Panel Applets(14KB)<END><br>38,parallelport.zip<br>An MFC class to control parallel ports on 95, 98, ME, NT and 2000(16KB)<END><br>39,versioninfo.zip<br>An MFC class to encapsulate the Windows Version API(14KB)<END><br>40,waitabletimer.zip<br>A freeware MFC class for Win32 waitable timers(13KB)<END><br>41,vfwwnd.zip<br>CAVICapWnd - AN MFC wrapper class for Video For WIndows(47KB)<END><br>42,fraction.zip<br>a double / fraction / string conversion class(5KB)<END><br>43,cmd5.zip<br>A C++ Message Digest 5 Class(13KB)<END><br>44,cryptit.zip<br>Keep sensitive data safe via encryption (130KB)<END><br>45,gener1.zip<br>Template functions for serializing arbitrary linked nodes.(25KB)<END><br>46,gener2.zip<br>Template functions for serializing arbitrary linked nodes. (3KB)<END><br>47,zip1.zip<br>The library to create, modify and extract zip archives(92KB)<END><br>48,zip2.zip<br>The library to create, modify and extract zip archives (31KB)<END><br>49,pointers.zip<br>A Beginner's Guide to Pointers<br>An article showing the use of pointers in C and C++ (4KB)<END><br>50,linkedlist_demo.zip<br>An article showing the basics of the linked list, and how the CList class operates (7KB)<END><br>51,ocarray_demo.zip<br>A simple derived template class that can boost the efficiency of your programs. (18KB)<END><br>52,clist_iter_src.zip<br>A simple iteration class for MFC's CList linked list (2KB)<END><br>53,dynopenhashtable_src.zip<br>Making assorted hash table of strings and/or other data types. (4KB)<END><br>54,extcol_demo.zip<br>Extended Collection classes to provide copy, compare and find operations with 2 dimensional arrays and maps (24KB)<END><br>55,extcol_src.zip<br>Extended Collection classes to provide copy, compare and find operations with 2 dimensional arrays and maps (11KB)<END><br>56,lookaside_src.zip<br>A simple way to keep items such as COM instances 'warm' and available for reuse (3KB)<END><br>57,isarray_src.zip<br>A simple templated array class. (2KB)<END><br>58,collectionnotes.zip<br>An article describing MFC Collection Classes (9KB)<END><br>59,qarray_demo.zip<br>A CArray derived class that provides quick and convenient sorting (13kb)<END><br>60,qarray_src.zip<br>A CArray derived class that provides quick and convenient sorting (2KB)<END><br>61,smartlist.zip<br>Wrapper classes for MFC list classes the extend their functionality (4KB)<END><br>62,ufstmaps.zip<br>A fully featured map class that uses balanced trees to store and retrieve data quickly by key (558KB)<END><br>63,qsort_demo.zip<br>An introduction to a useful function (15KB)<END><br>64,seexception_demo.zip<br>This article describes how to handle SE and C++ exception together(16KB)<END><br>65,seexception_src.zip<br>This article describes how to handle SE and C++ exception together(2KB)<END><br>66,circular_buffer_demo.zip<br>A circular, thread-safe read/write character buffer (12KB)<END><br>67,avltree_demo.zip<br>Describes an implementation of AVL Trees. (54KB)<END><br>68,metaclass_demo.zip<br>A class that can be modified at run-time (6KB)<END><br>69,metaclass_src.zip<br>A class that can be modified at run-time (4KB)<END><br>70,arrayex_src.zip<br>This article presents a callback based, QuickSort enabled CArray template class (2KB)<END><br>71,arrayex_demo.zip<br>This article presents a callback based, QuickSort enabled CArray template class (28KB)<END><br>72,chookwnd_src.zip<br>A freeware MFC class to support MFC subclassing (19KB)<END><br>73,cinifile_demo.zip<br>A class that makes it easy to implement an INI settings file in your applications(14KB)<END><br>74,cinifile_src.zip<br>A class that makes it easy to implement an INI settings file in your applications(4KB)<END><br>75,cint96_src.zip<br>A Freeware MFC class which provides 96 bit integers. (10KB)<END><br>76,csingleinst_src.zip<br>An MFC class to implement single instance apps. (9KB)<END><br>77,enitl.zip<br>A cross platform scripting engine for server applications providing HTML, XML, SGML or other text based formats (38KB)<END><br>78,floatutils_src.zip<br>A set of floating point utilities (3KB)<END><br>79,switch_languages.zip<br>Multilingual Application - Change Application Language(33KB)<END><br>80,duration_demo.zip<br>A simple class that provides high precision timing. (3KB)<END><br>81,duration_src.zip<br>A simple class that provides high precision timing. (1KB)<END><br>82,save_temp_var.zip<br>A safe, and convenient way to store variables temporarily (1KB)<END><br>83,tcxunitconverter_demo.zip<br>TCX Unit Conversion Library(18KB)<END><br>84,tcxunitconverter_src.zip<br>TCX Unit Conversion Library(7KB)<END><br>85,templates_demo.zip<br>Templates are a great way of reusing code, unfortunately MFC<br>makes it hard to write MFC friendly template classes... (124KB)<END><br>86,templates_src.zip<br>Templates are a great way of reusing code, unfortunately MFC<br>makes it hard to write MFC friendly template classes... (2KB)<END><br>87,functionparser.zip<br>A simple yet powerful function parser that parses and evaluates standard mathematical functions (82KB)<END><br>88,stlxmlparser.zip<br>This is a small non-validating XML parser based purely on STL (10KB)<END><br>89,xmimabparser_src.zip<br>A class to read and write non validated XML files (178KB)<END><br>90,rexsearch_src.zip<br>Compiles a regular expression into a fast automaton (11KB)<END><br>91,rexsearch_demo.zip<br>Compiles a regular expression into a fast automaton (50KB)<END><br>92,sascript.zip<br>A simple stack-based language that you can easily add to your projects (52KB)<END><br>93,strtok_src.zip<br>A customizable string tokenizer (23KB)<END><br>94,ismart_demo.zip<br>A template-based smart pointer implementation(19KB)<END><br>95,ismart_src.zip<br>A template-based smart pointer implementation(2KB)<END><br>96,smartptr.zip<br>A smart pointer wrapper class(4KB)<END><br>97,blockallocator.zip<br>A block allocator for use with STL containers that greatly improves speed in programs doing massive data insertions and extractions(6KB)<END><br>98,stltools.zip<br>Defines some TCHAR compatible STL elements and gives you an std::ostream to send output to the debugger windows. (4KB)<END><br>99,tokeniterator.zip<br>Token Iterator provides an easy to use, familiar, and customizable way in which to go through the tokens contained in a string (7KB)<END><br>100,stdsort.zip<br>An introduction to sorting using STL(4KB)<END><br>101,clniex_src.zip<br>Class CIniEx carries out extended set of ini-files functions in memory (106KB)<END><br>102,dtconverter.zip<br>A simple app that converts to and between time_t, DATE, and regular date string expressions(17KB)<END><br>103,dumphandle_demo.zip<br>A method of getting more details about application crashes.(24KB)<END><br>104,libdump.zip<br>A tool to display the contents of a library file (383KB)<END><br>105,vbactivexwithvc.zip<br>A simple way to call a VB ActiveX DLL from a VC/MFC Client(24KB)<END><br>106,staticlink.zip<br>VC++ Standard Edition only has support for dynamically linked exes. This article shows you how to by-pass this restriction.(14KB)<END><br>107,displayloadedmodules.zip<br>A Debugging Tool for Application using Multiple DLLs (246KB)<END><br>108,dynamicdiiloading_demo.zip<br>How to dynamically load a DLL (11KB)<END><br>109,hookimport_src.zip<br>A class to hook any imported function call made by your app.(7KB)<END><br>110,plug-in_demo.zip<br>Extending the functionality of your programs using explicit linking (60KB)<END><br>111,data_seg_share_demo.zip<br>Using #pragma statements to share variables in a DLL(37KB)<END><br>112,niftyloadlib_src.zip<br>The home of NiftyLoadLibrary - and some notes on rebasing dlls(3KB)<END><br>113,rcremap.zip<br>Remapping resource script ID's (21KB)<END><br>114,get_info.zip<br>Getting the complete information about DLL/Exe module (29KB)<END><br>115,vbstring.zip<br>Handling VB strings (as part of an array of UDT) (5KB)<END>
友善之臂mini2440用户手册 第一章 Mini2440 开发板介绍...........................................................................................................................- 15 -  1.1 Mini2440开发板简介...........................................................................................................................- 15 -  1.1.1 Mini2440 开发板外观................................................................................................................- 16 -  1.1.2 Mini2440 开发板硬件资源特性................................................................................................- 16 -  1.1.3 Linux系统特性...........................................................................................................................- 18 -  1.1.4 WindowsCE 5.0 系统特性.........................................................................................................- 19 -  1.1.5 WindowsCE 6.0 系统特性.........................................................................................................- 21 -  1.1.6 资料光盘资源说明...................................................................................................................- 22 -  1.2 接口布局及跳线...................................................................................................................................- 23 -  1.2.1 跳线说明...................................................................................................................................- 23 -  1.2.2 接口布局...................................................................................................................................- 23 -  1.3 接口资源说明......................................................................................................................................- 24 -  1.3.1 地址空间分配和片选信号定义...............................................................................................- 24 -  1.3.2 SDRAM存储系统......................................................................................................................- 26 -  1.3.3 FLASH存储系统........................................................................................................................- 26 -  1.3.4 电源系统及接口.......................................................................................................................- 27 -  1.3.5 复位系统...................................................................................................................................- 29 -  1.3.6 用户LED....................................................................................................................................- 29 -  1.3.7 用户按键...................................................................................................................................- 30 -  1.3.8 A/D输入测试..............................................................................................................................- 30 -  1.3.9 PWM控制蜂鸣器.......................................................................................................................- 31 -  1.3.10 串口.........................................................................................................................................- 31 -  1.3.11 USB接口...................................................................................................................................- 32 -  1.3.12 LCD接口..................................................................................................................................- 33 -  1.3.13 EEPROM..................................................................................................................................- 34 -  1.3.14 网络接口.................................................................................................................................- 34 -  1.3.15 音频接口.................................................................................................................................- 35 -  1.3.16 JTAG接口.................................................................................................................................- 36 -  1.3.17 GPIO.........................................................................................................................................- 37 -  1.3.18 CMOS CAMERA接口.............................................................................................................- 38 -  1.3.19 系统总线接口.........................................................................................................................- 39 -  第二章 Mini2440 开发板使用说明...................................................................................................................- 41 -  2.1 开发板设置及连接.............................................................................................................................- 41 -  2.1.1 启动模式选择...........................................................................................................................- 41 -  2.1.2 外部接口连接...........................................................................................................................- 41 -  2.1.3 设置超级终端...........................................................................................................................- 41 -  2.2 开发板BIOS功能及使用说明.............................................................................................................- 45 - 2.2.1 开机进入BIOS模式..................................................................................................................- 45 -  2.2.2 安装USB下载驱动....................................................................................................................- 46 -  2.2.3 功能主菜单说明.......................................................................................................................- 52 -  2.2.4 设置Linux启动参数子菜单功能说明......................................................................................- 53 -  2.3 非操作系统下的外围资源测试.........................................................................................................- 56 -  2.3.1 下载运行测试程序.................................................................................................................- 56 -  2.3.2 外围资源测试...........................................................................................................................- 60 -  2.4 初试Linux之图形界面Qtopia 2.2.0系统 (预装) ...............................................................................- 68 -  2.4.1 触摸屏校正...............................................................................................................................- 69 -  2.4.2 主要界面说明...........................................................................................................................- 70 -  2.4.3 播放Mp3....................................................................................................................................- 71 -  2.4.4 播放视频...................................................................................................................................- 72 -  2.4.5 图片浏览...................................................................................................................................- 73 -  2.4.6 自动装载SD卡和优盘..............................................................................................................- 75 -  2.4.7 计算器.......................................................................................................................................- 76 -  2.4.8 命令终端...................................................................................................................................- 77 -  2.4.9 文件浏览器...............................................................................................................................- 78 -  2.4.10 网络设置.................................................................................................................................- 79 -  2.4.11 Ping测试...................................................................................................................................- 80 -  2.4.12 浏览器.....................................................................................................................................- 82 -  2.4.13 LED测试...................................................................................................................................- 82 -  2.4.14 EEPROM读写测试..................................................................................................................- 84 -  2.4.15 PWM控制蜂鸣器.....................................................................................................................- 85 -  2.4.16 串口助手.................................................................................................................................- 86 -  2.4.17 录音.........................................................................................................................................- 88 -  2.4.18 使用USB摄像头拍照..............................................................................................................- 89 -  2.4.19 CMOS摄像头预览拍照...........................................................................................................- 90 -  2.4.20 LCD测试..................................................................................................................................- 91 -  2.4.21 背光控制.................................................................................................................................- 92 -  2.4.22 A/D转换....................................................................................................................................- 93 -  2.4.23 按键测试.................................................................................................................................- 94 -  2.4.24 触摸笔测试.............................................................................................................................- 95 -  2.4.25 条码扫描.................................................................................................................................- 97 -  2.4.26 语言设置.................................................................................................................................- 97 -  2.4.27 设置时区-日期-时间-闹钟.....................................................................................................- 99 -  2.4.28 屏幕旋转...............................................................................................................................- 100 -  2.4.29 设置开机自动运行程序.......................................................................................................- 102 -  2.4.30 关于关机...............................................................................................................................- 103 -  2.4.31 看门狗...................................................................................................................................- 104 -  2.4.32 启动QtE-4.6.3........................................................................................................................- 106 -  2.5 通过串口终端操作开发板................................................................................................................- 107 - 2.5.1 播放mp3 ...................................................................................................................................- 108 -  2.5.2 如何中止程序的运行.............................................................................................................- 108 -  2.5.3 使用优盘/移动硬盘................................................................................................................- 109 -  2.5.4 使用SD卡................................................................................................................................ - 110 -  2.5.5 如何通过串口与PC互相传送文件......................................................................................... - 112 -  2.5.6 控制板上的LED...................................................................................................................... - 114 -  2.5.7 测试板上的按键...................................................................................................................... - 115 -  2.5.8 串口2和 3 的测试................................................................................................................. - 116 -  2.5.9 测试蜂鸣器............................................................................................................................. - 117 -  2.5.10 控制LCD的背光................................................................................................................... - 118 -  2.5.11 测试I2C-EEPROM............................................................................................................. - 118 -  2.5.12 AD转换测试...........................................................................................................................- 120 -  2.5.13 CMOS摄像头动态预览.........................................................................................................- 120 -  2.5.14 使用telnet上bbs......................................................................................................................- 121 -  2.5.15 如何设置网络以访问互联网网址........................................................................................- 123 -  2.5.16 如何设置MAC地址..............................................................................................................- 125 -  2.5.17 如何使用Telnet远程登录开发板..........................................................................................- 127 -  2.5.18 使用ftp传递文件...................................................................................................................- 128 -  2.5.19 通过网页控制板上的LED.....................................................................................................- 128 -  2.5.20 如何挂接使用网络文件系统NFS ........................................................................................- 129 -  2.5.21 使用USB无线网卡................................................................................................................- 130 -  2.5.22 设置并保存系统实时时钟....................................................................................................- 132 -  2.5.23 如何掉电保存数据到Flash...................................................................................................- 132 -  2.5.24 如何设置开机自动运行程序................................................................................................- 133 -  2.5.25 如何使用命令进行屏幕截图...............................................................................................- 134 -  2.6 预装WindowsCE5/6系统的使用和设置..........................................................................................- 135 -  2.6.1 按键测试.................................................................................................................................- 136 -  2.6.2 LED测试..................................................................................................................................- 137 -  2.6.3 ADC转换..................................................................................................................................- 137 -  2.6.4 I2C-EEPROM读写...................................................................................................................- 138 -  2.6.5 PWM控制蜂鸣器.....................................................................................................................- 139 -  2.6.6 看门狗.....................................................................................................................................- 140 -  2.6.7 LCD测试..................................................................................................................................- 142 -  2.6.8 CMOS摄像头预览拍照...........................................................................................................- 142 -  2.6.9 录音测试.................................................................................................................................- 144 -  2.6.10 屏幕旋转并保存...................................................................................................................- 145 -  2.6.11 串口助手...............................................................................................................................- 146 -  2.6.12 触摸屏校正...........................................................................................................................- 148 -  2.6.13 设置网络参数以连接互联网...............................................................................................- 150 -  2.6.14 背光设置...............................................................................................................................- 151 -  2.6.15 设置实时时钟并保存...........................................................................................................- 153 -  2.6.16 设置程序开机自动运行.......................................................................................................- 153 -  2.6.17 使用优盘...............................................................................................................................- 155 -  2.6.18 使用SD/MMC卡...................................................................................................................- 156 -  2.6.19 使用ActiveSync进行USB同步通讯.....................................................................................- 156 -  2.6.20 关于USB无线网卡................................................................................................................- 157 -  2.7 安装使用第三方软件.......................................................................................................................- 157 -  2.7.1 输入法...................................................................................................................................- 158 -  2.7.1.1 蒙恬手写输入......................................................................................................................- 158 -  2.7.2 实用工具...............................................................................................................................- 159 -  2.7.2.1 小画笔..................................................................................................................................- 159 -  2.7.2.2 计算器..................................................................................................................................- 160 -  2.7.2.3 记事本..................................................................................................................................- 160 -  2.7.2.4 截图工具..............................................................................................................................- 161 -  2.7.3 办公软件...............................................................................................................................- 161 -  2.7.3.1 文字处理浏览器..................................................................................................................- 161 -  2.7.3.2 电子表格浏览器..................................................................................................................- 162 -  2.7.3.3 幻灯片浏览..........................................................................................................................- 162 -  2.7.3.5 图片浏览器..........................................................................................................................- 163 -  2.7.3.5 pdf阅读器..............................................................................................................................- 163 -  2.7.4 媒体播放...............................................................................................................................- 164 -  2.7.4.1 TCPMP ..................................................................................................................................- 164 -  2.7.4.2 CorePlayer.............................................................................................................................- 164 -  2.7.4.3 Flash播放..............................................................................................................................- 165 -  2.7.5 图形图像...............................................................................................................................- 165 -  2.7.5.1 Photoshop ..............................................................................................................................- 165 -  2.7.6 网络软件...............................................................................................................................- 166 -  2.7.6.1 UCWEB浏览器......................................................................................................................- 166 -  2.7.7 休闲娱乐...............................................................................................................................- 167 -  2.7.7.1 BUBBLETS ............................................................................................................................- 167 -  2.7.7.2 中国象棋..............................................................................................................................- 167 -  2.7.7.3 游戏套装(33 个)...................................................................................................................- 168 -  2.8 体验WindowsCE 5.0 ..........................................................................................................................- 168 -  2.8.1 按键测试.................................................................................................................................- 168 -  2.6.2 LED测试..................................................................................................................................- 169 -  2.8.3 ADC转换..................................................................................................................................- 170 -  2.8.4 I2C-EEPROM读写...................................................................................................................- 171 -  2.8.5 PWM控制蜂鸣器.....................................................................................................................- 172 -  2.8.6 看门狗.....................................................................................................................................- 173 -  2.8.7 LCD测试..................................................................................................................................- 175 -  2.6.8 CMOS摄像头预览拍照...........................................................................................................- 175 -  2.8.9 录音测试.................................................................................................................................- 177 - 2.8.10 屏幕旋转并保存...................................................................................................................- 178 -  2.8.11 串口助手...............................................................................................................................- 179 -  2.8.12 触摸屏校正...........................................................................................................................- 181 -  2.8.13 设置网络参数以连接互联网...............................................................................................- 183 -  2.8.14 背光设置...............................................................................................................................- 184 -  2.8.15 设置实时时钟并保存...........................................................................................................- 186 -  2.8.16 设置程序开机自动运行.......................................................................................................- 186 -  2.8.17 使用优盘...............................................................................................................................- 188 -  2.8.18 使用SD/MMC卡...................................................................................................................- 189 -  2.8.19 使用ActiveSync进行USB同步通讯.....................................................................................- 189 -  2.8.20 使用USB无线网卡................................................................................................................- 190 -  第三章 备份恢复系统及安装更新.................................................................................................................- 192 -  3.1 备份和恢复系统...............................................................................................................................- 192 -  3.1.1 备份系统.................................................................................................................................- 192 -  3.1.2 使用备份文件恢复系统.........................................................................................................- 197 -  3.2 安装Linux系统...................................................................................................................................- 200 -  3.2.1 分区.........................................................................................................................................- 200 -  3.2.2 安装bootloader ........................................................................................................................- 202 -  3.2.3 安装Linux内核........................................................................................................................- 204 -  3.2.4 安装根文件系统.....................................................................................................................- 205 -  3.3 安装WinCE系统................................................................................................................................- 208 -  3.3.1 安装Bootloader........................................................................................................................- 208 -  3.3.2 下载烧写BootLogo .................................................................................................................- 210 -  3.3.3 安装wince内核映象................................................................................................................ - 211 -  3.4 下载到内存运行................................................................................................................................- 214 -  3.4.1 运行 2440test...........................................................................................................................- 214 -  3.4.2 运行uCos2 ...............................................................................................................................- 217 -  3.4.3 运行Linux................................................................................................................................- 221 -  3.4.4 运行WinCE .............................................................................................................................- 224 -  第四章 ADS1.2 集成开发环境的使用...........................................................................................................- 227 -  4.1 使用ADS创建LED工程.....................................................................................................................- 227 -  4.1.1 建立一个工程.........................................................................................................................- 227 -  4.1.2 编译和链接工程.....................................................................................................................- 232 -  4.2  使用H‐JTAG进行代码调试................................................................................................................- 239 -  4.2.1  为H‐JTAG配置AXD DEBUGGER.............................................................................................- 239 -  4.2.4  使用H‐JTAG在ADS1.2 环境下进行仿真调试........................................................................- 241 -  4.3  编译运行烧写 2440test ....................................................................................................................- 242 -  4.3.1  编译和使用H‐JTAG调试 2440test.........................................................................................- 242 -  4.3.2  通过USB把 2440test下载到内存运行..................................................................................- 247 -  4.4.3  把 2440test烧写到Nand Flash运行......................................................................................- 249 -  4.5 uCos2 的编译和烧写..........................................................................................................................- 252 - 4.5.1  编译uCos2 ..............................................................................................................................- 252 -  4.5.2 把uCos2 下载到内存运行......................................................................................................- 254 -  4.5.3 把uCos2 烧写到Nand Flash运行............................................................................................- 257 -  第五章 建立Linux开发环境............................................................................................................................- 260 -  5.1 图解安装Fedora 9.0 ...........................................................................................................................- 260 -  5.2 常用设置和服务................................................................................................................................- 274 -  5.2.1 添加新用户.............................................................................................................................- 275 -  5.2.2 访问Windows系统中的文件.................................................................................................- 277 -  5.3 建立交叉编译环境.............................................................................................................................- 282 -  5.4 解压安装源代码及其他工具............................................................................................................- 284 -  5.4.1 解压安装源代码.....................................................................................................................- 284 -  5.4.2 解压创建目标文件系统.........................................................................................................- 287 -  5.4.3 解压安装必要实用工具.........................................................................................................- 287 -  5.5 配置网络文件系统NFS服务..............................................................................................................- 288 -  5.5.1 设置共享目录.........................................................................................................................- 289 -  5.5.2 和启动NFS服务.......................................................................................................................- 289 -  5.5.3 通过NFS启动系统..................................................................................................................- 290 -  第六章 定制Linux内核及制作文件系统........................................................................................................- 293 -  6.1 使用缺省配置文件配置和编译内核.................................................................................................- 293 -  6.2 各个驱动程序源代码位置................................................................................................................- 296 -  6.3 手工定制Linux内核...........................................................................................................................- 297 -  6.3.1 配置CPU平台选项..................................................................................................................- 297 -  6.3.2 配置各个尺寸的LCD驱动以及背光控制支持........................................................................- 300 -  6.3.3 配置触摸屏.............................................................................................................................- 302 -  6.3.4 配置USB鼠标和键盘..............................................................................................................- 303 -  6.3.5 如配置优盘的支持.................................................................................................................- 304 -  6.3.6 配置万能驱动USB摄像头.......................................................................................................- 306 -  6.3.7 配置CMOS摄像头驱动..........................................................................................................- 308 -  6.3.8 配置网卡驱动.........................................................................................................................- 310 -  6.3.9 配置USB无线网卡驱动..........................................................................................................- 313 -  6.3.10 配置音频驱动.......................................................................................................................- 317 -  6.3.11 配置SD/MMC卡驱动................................................................................................................- 320 -  6.3.12 配置看门狗驱动支持...........................................................................................................- 321 -  6.3.13 配置LED驱动.........................................................................................................................- 322 -  6.3.14 配置按键驱动.......................................................................................................................- 323 -  6.3.15 配置PWM控制蜂鸣器驱动.....................................................................................................- 324 -  6.3.16 配置AD转换驱动...................................................................................................................- 324 -  6.3.17 配置串口驱动.......................................................................................................................- 325 -  6.3.18 如何配置RTC实时时钟驱动................................................................................................- 326 -  6.3.19 配置I2C-EEPROM驱动支持...................................................................................................- 327 -  6.3.20 配置yaff2s文件系统的支持..................................................................................................- 329 - 6.3.21 配置EXT2/VFAT/ NFS等文件系统.....................................................................................- 332 -  6.3.22 制作Linux logo......................................................................................................................- 335 -  6.4 制作目标板文件系统映象................................................................................................................- 338 -  第七章 嵌入式Linux应用开发入门指南........................................................................................................- 340 -  7.1Hello,World! .........................................................................................................................................- 340 -  7.1.1 Hello,World源代码...................................................................................................................- 340 -  7.1.2 编译Hello,World......................................................................................................................- 341 -  7.1.3 把Hello,World下载到开发板运行..........................................................................................- 341 -  7.2 嵌入式Linux程序开发入门...............................................................................................................- 344 -  7.2.1 LED测试程序...........................................................................................................................- 344 -  7.2.2 测试按键.................................................................................................................................- 345 -  7.2.3 PWM控制蜂鸣器编程示例.....................................................................................................- 347 -  7.2.4 I2C-EEPROM编程示例...........................................................................................................- 351 -  7.2.5 串口编程示例.........................................................................................................................- 354 -  7.2.6 UDP网络编程..........................................................................................................................- 359 -  7.2.7 数学函数库调用示例.............................................................................................................- 365 -  7.2.8 线程编程示例.........................................................................................................................- 366 -  7.2.9 管道应用编程示例-网页控制LED ........................................................................................- 368 -  7.2.10 基于C++的Hello,World ........................................................................................................- 373 -  7.3 最简单的嵌入式Linux驱动程序模块...............................................................................................- 374 -  7.3.1 Hello,Module源代码................................................................................................................- 374 -  7.3.2 把Hello,Module加入内核代码树,并编译...........................................................................- 375 -  7.3.3 把Hello, Module下载到开发板并安装使用..........................................................................- 378 -  7.4 简易Linux驱动程序示例...................................................................................................................- 378 -  7.4.1 LED驱动程序...........................................................................................................................- 379 -  7.4.2 按键驱动程序.........................................................................................................................- 383 -  7.5 编译Qtopia-2.2.0 ................................................................................................................................- 388 -  7.5.1 解压安装源代码.....................................................................................................................- 388 -  7.5.2 编译和运行x86 版本的Qtopia-2.2.0 ......................................................................................- 388 -  7.5.3 编译和运行arm版本的Qtopia-2.2.0 .......................................................................................- 389 -  7.6 编译QtE-4.6.3 ....................................................................................................................................- 390 -  7.6.1 解压安装源代码.....................................................................................................................- 390 -  7.6.2 编译和运行arm版本的QtE-4.6.3............................................................................................- 391 -  第八章 常见bootloader的配置和编译............................................................................................................- 393 -  8.1 编译vboot ...........................................................................................................................................- 393 -  8.2 配置和编译vivi ..................................................................................................................................- 394 -  8.3 配置和编译U-Boot ............................................................................................................................- 396 -  8.3.1 配置和编译U-Boot .................................................................................................................- 397 -  8.3.2 把U-Boot烧写到开发板.........................................................................................................- 398 -  8.4 使用ADS编译YL-BIOS.....................................................................................................................- 400 -  8.4.1 使用ADS编译YL-BIOS..........................................................................................................- 400 -  8.4.2 把YL-BIOS下载到内存中运行...............................................................................................- 401 -  8.4.3 烧写YL-BIOS到开发板...........................................................................................................- 404 -  第九章 WindowsCE 6.0 开发指南..................................................................................................................- 407 -  9.1 建立WindowsCE 6.0 开发环境..........................................................................................................- 407 -  9.1.1 安装Visual Studio 2005 及补丁..............................................................................................- 409 -  9.1.2 安装Windows CE 6.0 及补丁.................................................................................................- 423 -  9.1.3 安装第三方软件腾讯QQ........................................................................................................- 445 -  9.1.4 安装BSP及内核工程示例......................................................................................................- 452 -  9.1.5 各个驱动程序源代码的位置.................................................................................................- 455 -  9.2 配置和编译WindowsCE 6.0 内核及Bootloader................................................................................- 456 -  9.2.1 缺省内核工程特性简介.........................................................................................................- 456 -  9.2.2 编译缺省内核工程示例.........................................................................................................- 457 -  9.2.3 编译带腾讯QQ的内核工程示例............................................................................................- 467 -  9.2.4 编译和烧写BootLoader之NBOOT.........................................................................................- 474 -  9.2.5 在BSP中修改LCD类型及串口输出功能..............................................................................- 480 -  9.2.6 制作和修改Windows CE启动Logo........................................................................................- 481 -  9.2.7 创建SDK .................................................................................................................................- 485 -  9.2.8 安装SDK .................................................................................................................................- 487 -  9.3 与PC同步(基于Windows 7)................................................................................................................- 492 -  9.3.1 安装Windows Mobile设备中心实现PC同步.........................................................................- 493 -  9.4 通过VS2005 创建应用程序, 并编译下载到开发板运行................................................................- 497 -  9.4.1 创建项目.................................................................................................................................- 497 -  9.4.2 设置连接开发板.....................................................................................................................- 500 -  9.4.3 编译下载程序到开发板运行.................................................................................................- 503 -  第十章 WindowsCE 5.0 开发指南..................................................................................................................- 505 -  10.1 基于WindowsCE5.0的开发环境.....................................................................................................- 505 -  10.1.1 安装Platform Builder 5.0(含2007最新补丁) ......................................................................- 505 -  10.1.2 导入安装BSP ........................................................................................................................- 516 -  10.1.3 安装无线网卡驱动程序.......................................................................................................- 519 -  10.1.4 编译内核工程示例...............................................................................................................- 522 -  10.1.5 导出SDK ...............................................................................................................................- 526 -  10.1.6 安装Embedded Visual C++(EVC) ........................................................................................- 532 -  10.1.7 安装EVC补丁和导出的SDK ...............................................................................................- 538 -  10.1.8 定制CE内核..........................................................................................................................- 547 -  10.1.9 制作WindowsCE开机画面StartLogo ...................................................................................- 561 -  10.1.10 BootLoader之Nboot的编译和烧写.....................................................................................- 565 -  10.1.11 把NBOOT烧写到Nand Flash..............................................................................................- 568 -  10.2 使用ActiveSync与PC同步................................................................................................................- 570 -  10.2.1 安装ActiveSync.....................................................................................................................- 570 -  10.2.2 为同步通讯安装USB驱动....................................................................................................- 574 -  10.2.3 使用ActiveSync同步传输工具复制文件.............................................................................- 578 - 10.2.4 使用ActiveSync与Platform Builder连接实现通讯并屏幕截图..........................................- 581 -  10.2.5 使用ActiveSync与Platform Builder在线编辑注册表...........................................................- 588 -  10.3 创建EVC的Hello,World, 并编译下载到开发板运行....................................................................- 589 -  10.4 创建VS2005/2008 应用程序, 并编译下载到开发板运行............................................................- 596 -  10.4.1 创建项目...............................................................................................................................- 597 -  10.4.2 设置连接开发板...................................................................................................................- 599 -  10.4.3 编译下载程序到开发板运行...............................................................................................- 602 -  10.5 LED驱动程序编写及测试示例.....................................................................................................- 603 -  10.5.1 了解硬件连接.......................................................................................................................- 604 -  10.5.2 编写LED流式驱动程序........................................................................................................- 605 -  10.5.3 把LED驱动程序添加到BSP中以编译.................................................................................- 612 -  10.5.4 编写并编译LED测试应用程序............................................................................................- 614 -  10.5.5 把LED测试程序添加到内核,并建立桌面快捷方式........................................................- 617 -  附录 使用H-JTAG快速烧写BIOS到开发板...................................................................................................- 620 -  1. 1 H-JTAG简介.......................................................................................................................................- 620 -  2. 2 安装并设置H-JTAG..........................................................................................................................- 621 -  2. 3 设置Flash型号并烧写BIOS..............................................................................................................- 625 -  2. 4 常见问题...........................................................................................................................................- 631 - 

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值