自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(81)
  • 资源 (1)
  • 收藏
  • 关注

原创 HttpClicent用法

package com.test;import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.UnsupportedEncodingException; import java.security.KeyManagementException; import j

2017-03-30 17:04:38 5354

原创 mjpg-streamer服务器移植

“MJPG-streamer”,是用户从webcam摄像头采集图像,并以流的形式通过基于IP的网络传输到浏览器图Firefox,Cambozola,VlC播放器,Windows的移动设备或者其他用户浏览器的移动设备,她可以利用某系webcam的硬件压缩功能来降低服务器CPU的开销,她为嵌入式设备和一些常规的服务器提供了一个轻量级且更少CPU消耗的方案。在UBuntu上编译安装MJPG-streame

2017-03-30 16:58:17 1188

原创 GDB compile configure

for debug configure:./configure –enable-debugger –enable-disasmfor gdb debug configure:./configure –prefix=/opt/bochs/gdbstub –with-x11 –enable-gdb-stub –enable-disam –enable-pci –enable-pcidev - -

2017-03-30 16:53:25 779

转载 MinGW as 与 Linux as的一些微小差异

.globl cpuidfunc .def .type cpuidfunc, @function; .enddef ELF and PE/COFF are different platforms; they have different assembler syntaxes. Just because they both use the GNU assembler and th

2017-03-30 16:45:54 499

原创 Ubuntu安装mysql

1.安装mysql-server,在Ubuntu 10.04下安装mysql-server-5.1,会自动安装mysql-client_5.1 sudo apt-get install mysql-server-5.1 2.C APIs包含在mysqlclient库文件中与MySQL的源代码一块发行,用于连接到数据库和执行数据库查询,因此需要安装libmysqlclient-dev

2017-03-30 16:41:52 435

原创 Linux 0.11进程共享同一个页目录表

打断一下各位,前面关于我提问的 linux0.11中所有进程共享一个页目录表,而所有进程平分4G空间,每个64MB,每个应用程序编译时入口地址相同,而载入运行时,由于所有进程的产生的虚拟地址都一样,一张页目录表无法将相同的虚拟地址映射到不同的物理地址。即无法将进程空间分配到每个64M地址中。 为了解决这个问题,可以有两种方法:(1)就是每个应用程序在编译链接时,分别预先指定入口地址为1x64m ,

2016-09-07 18:18:42 1706

转载 PCI总线枚举

有了设备模型基础及usb设备驱动的基础知识,来了解PCI设备驱动,就相对简单了,因为PCI设备驱动仍然套用了设备驱动模型的方式,用到的仍然是设备模型的相应函数,只是把相应的pci设备挂载到PCI总线的device队列,而凭此驱动则挂载到pci总线的driver队列,对应的匹配函数,探测函数,都是pci总线提供的函数。因为pci设备驱动的安装跟usb设备驱动的安装模式相似,因此,其繁杂的地方则是如何发

2016-06-20 10:43:40 1897

原创 Keil-原文件类型不明确导致编译出错的解决方法

在使用Keil编译工程文件时,偶尔出现以下提示:FCARM - Output Name not specified, please check 'Options for Target - Utilities'按照提示到指定地方去找,并没有发现什么东西,其实这可能是由于源文件的类型不被编译器识别,这时候就会报此类信息。例如下面项目目录结构包含了两个文件,一个.c文件一个.s文件: 选中start_e

2016-06-13 17:28:29 3067 1

原创 Keil 离线安装packet方法

Keil用的不是很多,在使用packet installer 下载时,出现故障。 故此,只有通过http://www.keil.com/dd2/Pack/直接下载离线包安装。 需要注意的是,版本要对应,否则也安装不了。

2016-06-08 17:32:02 7916

原创 X86 通用寄存器使用惯例

在给定的时刻只能有一个过程是活动的, 它占使用CPU的程序寄存器组. 程序寄存器组作为一个单个资源被所有的函数过程共享. 所以, 我们必须保证: 一个过程(调用者)调用另一个(被调用者)时, 被调用者不会覆盖某个调用者稍后会使用到的寄存器的值.为此, IA32(俗称x86)采用了一组统一的寄存器使用惯例., 所有的过程调用都必须遵守, 包括程序库中的过程.根据惯例, 寄存器%eax, %ecx,

2016-05-03 17:10:30 1949

原创 TI BLE 1.4.1 协议栈 定义128位UUID的方法

在BLE应用过程中,一般都会自定义服务或特征的UUID,如果使用默认的16位方式定义,那么UUID的一部分将由TI的协议栈自动添加,为了完全控制UUID长度和内容,我们 可以把他定义为128位的,方式如下: 定义一个宏: #define TI_UUID(uuid) 0x0,0xb0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x40,0x51,0x04,LO_UINT16(uuid

2016-02-23 17:57:06 2571

原创 2015 年度工作总结

新年伊始之际回首2015年的工作,有付出时的艰辛,也有挫折时的的惆怅,更有有丰收的喜悦。也是一年前,心中怀抱着一个小小心愿,我踏上了实现梦想的征途,几经周折,庆幸终于有一家愿意接受自己的企业,给了自己一个比较满意的工作岗位,非常感谢公司能够给自己这样不具备工作经验的应届毕业生一个学习锻炼的平台和机会,同时也非常感谢所有同事,是你们的热心帮助和关心,才使我在多方面得到提升:一、工作学习能力 (1)

2016-01-26 18:31:24 783

原创 MFC 扩展CStatic类绘图-双缓冲区避免闪屏

[WM]用双缓冲在CStatic上面画Native编程,貌似除了画没有其他好的选择.其实在哪里画不是画,而我选择了Static控件,我不觉得在其他控件上面画和Static控件上面有什么本质区别.(我只是觉得Static控件够简单,而且还能达到我的目标) OK.先来说画.自己画的画,唯一需要注意的就是闪屏的问题,而双缓冲就是用来防止闪屏的,怎么来做呢? 1. 阻止画背景.背景我需要自己来画 2.

2015-10-23 12:07:58 2091

原创 UDP中connet()的验证代码

Server:#include <stdio.h>#include <stdlib.h>#include <string.h>#include <sys/types.h>#include <sys/socket.h>#include <netinet/in.h>#include <arpa/inet.h>int main(int argc, char **argv){ int

2015-10-20 11:22:28 535

原创 对UDP执行connect()操作产生的问题

上面一篇文章说到一些网络操作常用的函数,现在补充一下。对于UDP来说,不存在connect()一说,因为UDP本身没有建立连接、三次握手之说,那是TCP的事,但是如果在程序中对UDP套接字执行了connect会产生什么状况?对UDP执行connect(),并没有进行真正地连接操作,而相当于给对应的套接字设置了目的地址:端口,此后对该套接字可以直接使用send(),recv()发送数据和接收数据。 需

2015-10-20 10:43:45 1971

原创 关于网络编程中一些常用函数的理解

自以为对于UDP,TCP的理解还算深刻,但是具体到使用的时候还是经常犯糊涂,现在再梳理梳理。在网络编程中,用到的一些函数有:socket,bind,listen,accept,connect,send,sendto,recv,recvfrom等。 socket()用于创建一个套接字。 bind()将套接字和本地地址结构绑定。 listen()将套接字设置为监听状态。 connect()用于向

2015-10-19 11:43:40 1470

原创 CC254x修改蓝牙名称的方法

TI BLE协议栈中,我们可以使用primary IEEE地址作为我们设备名称的一部分,primary IEEE的地址保存在芯片特定的地址(貌似从0x780c开始),我们可以在协议栈初始化时读取这个地址连续6字节就可以得到primary ieee,这样可以用来作为我们的设备名称或者广播数据的内容。但是primary IEEE是不可以修改的,每个芯片都不一样,虽然可以做到不重复,但是还是不方便,从网上

2015-10-07 11:01:52 2040

原创 Linux命令-VIM常用配置

在VIM的配置文件.vimrc中加入以下配置,可是vim的功能更加强大。set number显示行号。 set ts=4 Tab键宽度为4个空格。 set autoindent行尾回车时,自动缩进。 其余的配置为(){}[]<>自动匹配,就是输入第一个符号之后,VIM将自动匹配后面的部分。

2015-09-17 23:50:40 342

原创 Linux脚本-chmod

$ chmod u+x file 给file的属主增加执行权限$ chmod 751 file 给file的属主分配读、写、执行(7)的权限,给file的所在组分配读、执行(5)的权限,给其他用户分配执行(1)的权限$ chmod u=rwx,g=rx,o=x file 上例的另一种形式$ chmod =r file 为所有用

2015-09-02 16:19:20 784

原创 Shell脚本编程-判断当前用户是否为root

shell脚本如下: 添加可执行权限并执行: 其中UID为系统环境变量。

2015-09-02 15:50:12 1818

原创 linux-samba服务搭建

一、安装Samba服务 1,在联网情况下使用yum工具安装,若没有联网,在可以挂载有samba服务程序的光盘安装。 2,查看安装情况。 其中samba-common-xxx是samba服务配置文件和配置文件语法检查程序。 samba-swat-xxxx是提供https协议的web页面配置。 samba-client-xxx是客户端软件,主要提供linux主机作为客户端是,所需要的工

2015-08-30 17:06:59 546

原创 域名解析-vs2010代码示例

头文件的内容dns.h/** * file dns.h * Define the DNS request packet header format. * Author : Wen Shifang * 2015.8.20 */#ifndef __DNS_H__#define __DNS_H__#define PLATFORM_WINDOWS /* 域名查询请求报文头定义,1字节对齐*/

2015-08-25 18:57:28 1127

原创 域名解析-DNS-MDNS-LLMNR

域名系统DNS(Domain Name System)。 网络上提供名字解析的服务称为域名服务器,网络上存在大量树状组织的DNS服务器,用来完成用域名到网络地址或者网络地址到域名的解析工作。DNS是一种最传统,最重要,也是最常用的,工作原理可参考http://blog.csdn.net/yipiankongbai/article/details/25031461的详细描述。在用Wireshark抓

2015-08-20 10:47:36 5715

原创 Shell脚本编程-反引号,单引号,双引号

反引号位 “ 位于键盘的Tab键的上方、1键的左方。注意与单引号(‘)位于Enter键的左方的区别。   在Linux中起着命令替换的作用。命令替换是指shell能够将一个命令的标准输出插在一个命令行中任何位置。   如下,shell会执行反引号中的date命令,把结果插入到echo命令显示的内容中。     单引号、双引号用于用户把带有空格的字符串赋值给变量事的分界符。  [root@loc

2015-08-13 16:03:29 538

原创 Shell脚本编程-脚本格式

Shell脚本文件是一个文本文件,在Linux中,文件后缀名不作为系统识别文件类型的依据,但是可以作为我们识别文件的依据,可以简单的将脚本文件以.sh结尾。Shell脚本就是一些程序,命令的集合,shell使用一定的流程控制语句来组织这些命令以完成特定的工作。最简单的shell文件如下:#!/bin/bash# this is shell script demoecho "well come t

2015-08-13 15:40:28 5936

原创 ARM9开发之实现多任务操作系统的基本技术

/** * I has illustrated a way to using exception handling mechanism to implement * a operating system(multi task scheduler) on ARMv4 architecture in this article. * 2015.8.7 */ 本文介绍了再ARMv

2015-08-07 16:38:24 2964

原创 我的旅途-嵌入式软件工程师成长之路(一)

不知不觉,从拿到毕业证到现在,已经一个多月过去了。 目前的状况,搞IT的生活真是苦逼,工作几个月来,我都光荣的成为了月光一族,尤其是像我这种刚入门的菜鸟来说,要在深圳这个地方有模有样的活着,每天除了要努力工作,还要利用一切能利用的时间,拿起书本。   我介绍一下基本情况,本人毕业于贵州一所不入流的大学,大学没混好,逃课,挂科,没拿到奖学金,没泡到妞,现在想起来,自己都觉得失败。大学四年,一台14

2015-08-06 14:19:00 3955 2

原创 ARM9开发之学习过程总结

时至今日,与心爱的TQ2440相伴已有一年,从当初的一无所知到今天的得心应手,其间经历的种种,实在难以言表。这里先将我学习ARM中的整个过程总结一下,希望对刚接触的朋友有个提示作用,也希望高手不吝赐教,欢迎拍砖^_^。需要说明的是,这仅仅说是ARM,其间涉及到别的知识也是需要很多时间去学习的,这里我就不列举了。开发板的配套光盘有很多资料文档,在学习之前,大概浏览一下是非常不错的,强烈建议,特别是S3

2015-07-30 13:49:52 4915 4

原创 网络协议学习之ARP相关概念

ARP高速缓存 该高速缓存存放着最近Internet地址到硬件地址之间的映射记录。每个映射记录都设置了生存时间(通常为几分钟或几十分钟),凡超过生存时间的记录都会从映射记录中删除。 可以通过arp -a查看ARP高速缓存中的所有内容。 可以通过arp -s来增加高速缓存中的内容,通过命令只能增加静态ARP信息。可以通过arp -s来删除高速缓存中的内容,比如arp -s 157.55.

2015-07-29 16:35:47 1045

原创 C++虚函数的深入理解

1,虚函数是C++面向对象程序设计思想继数据抽象,继承之后的第三个基本特性。 2,封装是通过特性与行为的组合来创建新的数据类型,通过让细节private来使得接口和具体实现隔离。而虚函数则反映相同类型之间的区别。 3,首先来看看一个例子:#include <iostream>using namespace std;class A{ public: void play(

2015-07-29 16:22:41 950

原创 网络协议学习之局域网监听技术

ARP即地址解析协议,用于处理主机之间获取MAC地址与IP地址的映射问题。 若主机A和主机B通讯。当A主机网络层数据交给数据链路层时,数据就被数据链路层封装为MAC帧,MAC帧需要知道目的主机B的MAC地址。 于是在目的B的MAC未知的情况下,A主机数据链路层会向局域网广播一个ARP广播,广播的内容类似于”请问ip地址为aaaa的主机是谁, 请告诉我(IP bbbb,MAC bbbbb

2015-07-28 18:14:45 1746

原创 TCP/IP协议-TCP的7个定时器

1,连接建立(connection establishment)”定时器在发送SYN报文段建立一条新连接时启动。如果在75秒内没有收到响应,连接建立将中止。 2, “重传(retransmission)”定时器在TCP发送某个数据段时设定。如果该定时器超时而对端的确认还未到达,TCP将重传该数据段。重传定时器的值 (即TCP等待对端确认的时间)是动态计算的,与RTT的估计值密切相关,且还取决于该

2015-07-28 18:01:03 594

原创 数电模电基础(1)分压电路

虽然在高中大学都有学过电路知识,但是现在电子知识对我来说,可以说是一片空白,很庆幸的是,目前有接触一些电路相关知识的的机会,所以,特别奖每天学到的东西记录一下。今天讲的是一个非常简单,也很基础知识,貌似这个电路在中学就学过(我一开始居然看不懂^_^),下图是一个分压电路。 图中的 VBAT是接到电源端正极的,几条长短不一的横线表示电源地,可以理解为接到电源的负极,两个方向向下的曲线为电阻,两个电阻

2015-07-24 11:22:55 5393

原创 TI BLE开发(二)修改蓝牙连接参数

这里修改蓝牙连接参数,主要是为了降低连接频率,达到低功耗目的。设计的参数包括:连接间隔最小值(Interval Min),连接间隔最大值(Interval Max),从机潜伏次数(Slave Latency),连接超时时间(connSupervisionTimeout)。BLE蓝牙的通讯值通过连接事件来完成的,其中连接事件一直伴随着整个蓝牙连接的周期,不管这其中有没有数据要传输,连接事件一直在周期的

2015-07-22 15:37:59 5025 5

原创 TI BLE开发(一)修改蓝牙广播间隔

其实在做这个项目时,一直希望可以降低蓝牙广播的频率已达到低功耗的目的,但是在百度千百回也没有找到一个合适的答案,TI CC254x的群也问了好几次,最后还是无果而终。庆幸今天在http://www.deyisupport.com/question_answer/wireless_connectivity/bluetooth/f/103/p/22810/214659.aspx发现一点提示,然后试试修改

2015-07-21 12:56:16 4339 1

原创 平均值的一种取法--去掉两端的值后再平均

#define LEN 32#define LEN_FILTER 5unsigned long adc_average_value(void){ unsigned long adc_array[LEN]; int i,j; unsigned long temp, sum; for(i = 0; i < LEN; i++){ adc_array[i

2015-07-20 10:51:49 1028

原创 GIT基本用法

下面是一个在本地创建一个git库的步骤: (1) 初始化仓库,并配置一些必要的变量 git init git config –global user.name “wensf” git config –global user.email “wensf@manridy.com”(2) 添加文件过滤规则文件(可选) 文件名为 .gitignore (3) 添加所

2015-07-17 14:46:18 475

原创 TFTP协议简介

TFTP(Trival File Transfer Protocol),即简单文件传输协议.TFTP是使用广泛,也是比较传统的文件传输协议之一.它采用C/S模式,也即分为TFTP服务器和TFTP客户端.TFTP服务器为TFTP客户端提供文件上传、下载服务.一般的TFTP协议使用UDP作为下层协议,但是有的TFTP也使用了其他的协议作为下层支持.本文仅简单描述TFTP协议,若

2014-11-13 18:28:52 2221

原创 嵌入式第一天(linux下minicom连接开发板)

本人使用linux,而天嵌科技的开发板的开发工具全都是基于windows的,本人又不想重回windows,所以板子买来之后一直搁置了好几个月,基于各种原因,今天特意花了一点时间来研究linux下如何连接开发板。条件:宿主机T400,linux2.6,usb2.0接口,无串口,开发板TQ2400,支持USB主/从接口,串口,RJ45网络接口。步骤:(由于计算机不带

2014-06-29 15:51:41 2874

原创 网络协议学习之局域网监听技术

ARP即地址解析协议,用于处理主机之间获取MAC地址与IP地址的映射问题。    若主机A和主机B通讯。当A主机网络层数据交给数据链路层时,数据就被数据链路层封装为MAC帧,MAC帧需要知道目的主机B的MAC地址。于是在目的B的MAC未知的情况下,A主机数据链路层会向局域网广播一个ARP广播,广播的内容类似于"请问ip地址为aaaa的主机是谁,请告诉我(IP bbbb,MAC bbbb

2014-06-11 21:07:26 1101

VC++开发的MCI音乐播放程序

非常简单的音乐播放程序,采用VC++开发的win32应用,可以实现播放,暂停,停止等功能,适合win32入门开发

2012-12-21

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除