自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(111)
  • 收藏
  • 关注

原创 宽字符集(unicode)操作函数

最近常在vs2012 unicode环境下编程,特别在网上收集了如下函数,方便编程的时候参考。字符分类:宽字符函数 普通C函数 描述 iswalnum() isalnum() 测试字符是否为数字或字母 iswalpha() isalpha() 测试字符是否是字母 iswcntrl() iscntrl() 测试字符是否是控制符...

2019-06-26 09:00:05 815

原创 UniCode 下 CString 转 char* 的方法--解决VS2012 RichEdit控件末尾显示乱码问题

本人最近在VS2010下打开一个文件,文件中有汉字,然后使用Rich Edit控件来显示,最初发现的问题是Rich Edit控件中显示的汉字全部是乱码;估计应该是Unicode和MBCS字符集之间的转换导致的,就采用了下面网上查询到的Unicode下char *转换为CString方法一进行转换,经过转换后汉字不出现乱码,但是Rich Edit控件的结尾处出现乱码,一直弄了好几天都没有结果,最后在...

2019-06-26 08:59:39 742

原创 UTC时间整理

每个地区都有自己的本地时间,在网上以及无线电通信中时间转换的问题就显得格外突出。我自己就经常混淆于此,特地研究了一下,记录在此以备忘。整个地球分为二十四时区,每个时区都有自己的本地时间。在国际无线电通信场合,为了统一起见,使用一个统一的时间,称为通用协调时(UTC, Universal Time Coordinated)。UTC与格林尼治平均时(GMT, Greenwich Mean Time...

2019-06-26 08:59:20 3514

原创 ASICC码对照表整理

ASCII码大致由三部分组成:1、ASCII 打印字符:数字 32–126 分配给了能在键盘上找到的字符,当您查看或打印文档时就会出现。注:十进制32代表空格 ,十进制数字 127 代表 DELETE 命令。下面是ASCII码和相应数字的对照表2、ASCII 非打印控制字符:ASCII 表上的数字 0–31 分配给了控制字符,用于控制像打印机等一些外围设备。例如,...

2019-06-26 08:58:49 18126 2

转载 LFS构造原理的分析计算机应用论文

摘 要:随着Linux用户的增加,越来越多的人愿意自己定制自己的操作系统,LFS就是一种流行的从源代码构建Linux的一种方法。本文分析该方法的构建原理,重点分析了Binutils、Gcc和Glibc在构建过程种编译多次的原因。关键词:定制 LFS Binutils Gcc Glibc一、引言Linux 是和 Unix很相似的一种操作系统,具有Unix的全部特征,并和POSIX兼容。它是一个...

2019-06-26 08:58:18 243

转载 vi编辑器的使用

vi编辑器是任何Unix及Linux系统下标准的编辑器,他的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下他的用法和一小部分指令。由于对Unix及Linux系统的任何版本,vi编辑器是完全相同的,因此您能够在其他任何介绍vi的地方进一步了解他。Vi也是Linux中最基本的文本编辑器,学会他后,您将在Linux的世界里畅行无阻。1、vi的基本概念  基本上vi能够分为三种状态,...

2019-06-26 08:47:13 152

原创 linux笔记 数据流重导向

数据流重导向是指根据命令的输出不打印在屏幕上而是直接输入到其他设备比如文件或打印机或垃圾箱命令 command [option] 参数 > | >> | 1> | 2> | 2>> 文件或打印装置>表示重导向输出到那里 比如 ls /tmp/man.config > /tmp/out.txt ls结果本来应该在屏幕上输出 但是使用了&g...

2019-06-26 08:45:30 233

转载 Linux压缩打包命令使用方法

tar命令[root@linux ~]# tar [-cxtzjvfpPN] 文件与目录 ....参数:-c :建立一个压缩文件的参数指令(create 的意思);-x :解开一个压缩文件的参数指令!-t :查看 tarfile 里面的文件!特别注意,在参数的下达中, c/x/t 仅能存在一个!不可同时存在!因为不可能同时压缩与解压缩。-z :是否同时具有 gzip 的属性?亦即...

2019-06-26 08:45:17 444

转载 GNU-ld链接脚本浅析 (转)

0. Contents1. 概论2. 基本概念3. 脚本格式4. 简单例子5. 简单脚本命令6. 对符号的赋值7. SECTIONS命令8. MEMORY命令9. PHDRS命令10. VERSION命令11. 脚本内的表达式12. 暗含的连接脚本1. 概论每一个链接过程都由链接脚本(linker script, 一般以lds作为文件的后缀名)控制. 链接脚本主要用于规...

2019-06-26 08:45:04 481

转载 linux sed命令详解

1. Sed简介sed 是一种在线编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有 改变,除非你使用重定向存储输出。Sed主要用来自动编辑一个或多个文件;简化对文件的反复操作;编写转换程序等。以下介...

2019-06-25 09:06:40 188

原创 LFS学习笔记(一)

使用的host环境:Linux fedora15-64 2.6.43.8-1.fc15.x86_64 #1 SMP Mon Jun 4 20:33:44 UTC 2012 x86_64 x86_64 x86_64 GNU/LinuxLFS版本:Linux From Scratch - Version 7.2在虚拟机中新增一个虚拟磁盘/dev/sdb作为lfs安装盘,并创建新磁盘分区和交换分...

2019-06-25 09:06:17 707

原创 LINUX命令后面常见的>/DEV/NULL 和 2>&1 的含义

>为重定向符号 >/dev/null输出到空设备,表示丢掉输出信息。 2 > &1将输出到标准错误的信息输出到标准输出设备(通常是屏幕) 有3个默认的i/o,0是标准输入,一般是键盘 1是标准输出,一般是屏幕了 2是标准错误,有时候屏幕上可以看到,但是重定向的文件中看不到的就是它了...

2019-06-25 09:05:39 5014

原创 LFS学习笔记(二)

根据LFS7.2文档的指导,完成了整个系统的编译安装等步骤,最后在引导的时候出现了下面的问题:内核打出类似下面的一段话,然后死机:VFS: Cannot open root device "hda0" or unknown-block(0,0) Please append a correct "root=" boot optionKernel panic - not syncing...

2019-06-25 09:03:21 259

原创 fedora linux下安装vmware tools工具问题总结

最近又开始了linux的研究之路,有一段时间没有玩这个东西了,刚开始还感觉有点生疏,好在很快就找回感觉了,也近一步加深了对linux的理解,研究linux的第一步是搭建学习平台,之前对linux的研究一直都是用vmware workstation+fedora的方式,现在仍然用这总方法搭建平台。 在这之前最近使用的一个fedora版本是fedora15,用的vmware work...

2019-06-25 09:03:05 1724

原创 Linux诞生记

以下内容来自于本人通过www.oldlinux.org论坛的收集整理,献给每一位喜欢linux的人! 多年以后,面对数十亿的电脑及手机使用者,Linus Torvalds定会想起在屏幕上打出AAAAAAA和BBBBBB的时刻。那时候芬兰的冬天依然是漫长而寒冷,年轻人只能躲在家里捣鼓点东西。由于房屋破旧,家里只有一根电话线,更别提宽带了。Linus不是一个好哥哥,他为了上网,不惜...

2019-06-25 09:02:50 923

转载 linux shell--sed详解

sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换、删除、新增、选取等特定工作。sed 是一种在线编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有 改变...

2019-06-25 09:01:18 257

原创 linux学习步骤:

从程序语言到可执行的二进制文件,以C语言为例,在linux下需要执行条件:首先:需要C语言的编译工具集,cc、ld、as;分别为编译器、连接器、汇编器;根据编译出来的二进制文件所运行的硬件环境(主要是CPU类型),需要将工具集配置为适合CPU类型的工具集,比如cc-linux-arm、ld-linux-arm、as-linux-arm, 一般编译工具默认的是X86类型的CP...

2019-06-25 09:00:56 710

转载 Linux内核发布历史

从linux内核的发布历史可以从整体上对linux有个全局的了解,可以知道各个版本的特点、都有些什么样的改动,可以更好的了解和学习linux。内核版本号 时间 内核发展史 0.00 1991.2-4 两个进程分别显示AAABBB 0.01 1991.9 第一个正式向外公布的Linux内核版本 0.02 199...

2019-06-25 09:00:44 3274

转载 linux awk命令详解

简介 awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。awk有3个不同版本: awk、nawk和gawk,未作特别说明,一般指gawk,gawk 是 AWK 的 GNU 版本。 awk其名称得自于它的...

2019-06-25 08:58:48 2725 1

原创 linux2.6.30.4 顶层Makefile文件分析(一)

下面的代码来自linux2.6.30.4的源码文件中的顶层Makefile文件,黑体部分是对Makefile文件的分析VERSION = 2PATCHLEVEL = 6SUBLEVEL = 30EXTRAVERSION = .4NAME = Man-Eating Seals of Antiquity/*上面定义了5个变量,通过uname -a命令可以看到;注意makefil...

2019-06-24 11:52:08 1384

原创 linux2.6.30.4 顶层Makefile文件分析(二)

# External module support.# When building external modules the kernel used as basis is considered read-only, and no consistency checks are made #and the make system is not used on the basis kernel. ...

2019-06-24 11:51:44 751

转载 Linux中profile、bashrc、bash_profile之间的区别和联系

/etc/profile:此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行.并从/etc/profile.d目录的配置文件中搜集shell的设置.英文描述为:# /etc/profile# System wide environment and startup programs, for login setup# Functions and aliases go...

2019-06-24 11:50:30 104

转载 linux设备号详解

linux 中的设备有2种类型:字符设备(无缓冲且只能顺序存取)、块设备(有缓冲且可以随机存取)。每个字符设备和块设备都必须有主、次设备号,主设备号相同的设 备是同类设备(使用同一个驱动程序)。这些设备中,有些设备是对实际存在的物理硬件的抽象,而有些设备则是内核自身提供的功能(不依赖于特定的物理硬件,又称为"虚拟设备")。每个设备在 /dev 目录下都有一个对应的文件(节点)。可以通过 cat ...

2019-06-24 11:49:49 3140

原创 Makefile与Kconfig和.config使用

这里所说的只是一个大概的了解,对初学的人来说看了心中会有个基本的概念,在linux2.6.x/Documentation/kbuild目录下有周详的介绍有关kconfig、makefile的知识。 内核源码树的目录下都有两个文档 Kconfig (2.4版本是Config.in)和 Makefile。分布到各目录的Kconfig构成了一个分布式的内核配置数据库,每...

2019-06-24 11:49:28 2241

原创 linux etc/inittab 文件解析

init的进程号是1(用命令查看:ps -aux | less),从这一点就能看出,init进程是系统所有进程的起点,Linux在完成内核引导以后,就开始运行init程序,init程序需要读取配置文件/etc/inittab。 init进程是系统中所有进程的父进程,init进程繁衍出完成通常操作所需的子进程,这些操作包括:设置机器名、检查和安装磁盘及文件系统、启动系统日志、配置...

2019-06-24 11:49:08 3290

原创 设置VMWARE通过桥接方式使用主机无线网卡上网及Linux网络配置

环境:WIN7旗舰版,联想E49笔记本,笔记本自带无线上网卡,其中笔记本的有线网卡通过加入公司的域后进行internet访问,而无线网卡连接到wifi网络直接进行internet访问。虚拟软件:VMware10.0 虚拟系统:Linux Fedora10版本实现功能:WMware中的Fedora虚拟机通过桥接笔记本电脑的无线网卡上网。先介绍一下VMware网络设...

2019-06-24 11:48:44 12936 1

原创 Win7宿主机与Vmware fedora10虚拟机通过samba共享文件夹设置过程

使用环境如标题所示,具体设置过程如下:1、检查是否安装samba服务器,如果没有必须安装,可以通过fedora图像化界面安装,当然必须能够上网。选择Add/Remove Software选项:2、安装好服务器后可以通过菜单启动samba服务器,可以使用图形化界面进行配置,进行共享目录、读写权限、访问用户的设置。通过service配置工具来确定哪些服务随系统启动,这...

2019-06-24 11:48:02 331

原创 S3C2440ARM芯片+linux2.6.30.4内核平台的学习过程

S3C2440ARM芯片+linux2.6.30.4内核平台的学习过程原文地址链接请点击 最近这段时间一直在持续的学习linux,主要是基于S3C2440ARM芯片,linux的内核是2.6.30.4;目前总体上来说进展比较顺利,经过NandFlash驱动移植、yaffs文件系统移植、BusyBox(我用的1.16.0,1.13.0版本没有编译成功,编译器版本是4.4.3)工...

2019-06-24 11:47:43 958

原创 计算机是如何启动的?

收集了一篇关于计算机启动过程的文章,个人觉得浅显易懂,当然里面的一些细节需要更进一步的去研究。linux启动流程部分主要讲得是PC端的linux流程,在嵌入式linux启动稍有不同,比如嵌入式linux+ARM的启动流程可以参考我前面的博客文章linux etc/inittab 文件解析 。 从打开电源到开始操作,计算机的启动是一个非常复杂的过程。我一直搞不清楚,这个过程...

2019-06-24 11:46:57 6912

原创 linux usb框架驱动usb-skeleton.c的应用

1、usb-skeleton.c编译为usb-skeleton.ko模块 在内核源码的driver/usb目录中的kconfig、Makefine文件中添加usb框架文件:config USB_SKELETON_CONFIGtristate "TQ2440/SKY2440 USB_SKELETON Driver"depends on USBdefault m if...

2019-06-23 10:11:44 602

转载 Serial Programming Guide for POSIX Operating Systems

最近在调试linux下的串口编程,所以收集了相关的资料作为参考,方便以后查询。原文网址:Serial Programming Guide for POSIX Operating Systems Serial Programming Guide for POSIX Operating Systems Introduction The Serial Programming Guide ...

2019-06-23 10:11:26 472

原创 linux网络编程学习笔记

一、最近在编写linux下获取网络接口的ip地址、mac地址、子网掩码、路由地址的函数,经常看到struct sockaddr和struct sockaddr_in在相互转换,所以有必要搞清楚二者的关系。在linux环境下,结构体struct sockaddr在/usr/include/linux/socket.h中定义,具体如下:typedef unsigned short sa_fam...

2019-06-23 10:11:08 175

原创 编写包含多文件的Makefile以及Makefile的嵌套实验

看到一篇讲Makefile嵌套的文章,刚好看到linux1.0内核Makefile中有.EXPORT_ALL_VARIABLES:,因此也学习一下.EXPORT_ALL_VARIABLES:的使用。输入"tree"命令,查看目录;若没有则安装tree命令则 (sudo apt-get install tree )[root@localhost f1]# cat f1.c//f1....

2019-06-23 10:10:45 908

转载 Linux Shell脚本攻略:shell中各种括号()、(())、[]、[[]]、{}的作用;Linux Makefile中的:=, =, ?=的区别

技巧小结:字符串比较用双中括号[[ ]];算数比较用单中括号[ ]——左右留空格算数运算用双小括号(( )) ;shell命令及输出用小括号( )——左右不留空格快速替换用花括号{ }——左右留空格反单引号起着命令替换的作用` `------------------------------------------------------------------------...

2019-06-23 10:10:26 777

原创 光电直读表的几个设计点

光电直读表的几个设计点1、采样电阻值的选择 采样电阻的选择要考虑到在进行采样的时候环境光对采样值的干扰:如果采样值太大,很弱的环境光都会在采样电阻上形成比较大的采样值,对正确采样值的判断形成干扰;如果采样电阻太小,需要的信号又得不到放大;因此需要通过测试来选择一个比较好的采样电阻值,当各个接收管导通时其在采样电阻上形成的采样值一致。 有一种做法是在采样...

2019-06-23 10:10:13 449

原创 linux下3G/4G cdrom模式挂载问题

linux下3G/4G cdrom模式挂载问题之前在linux2.6.30内核上调试了3G上网卡,现在换到linux3.1.0内核上,现在的3g/4g上网卡都是集成了多种功能的,比如cdrom功能和modem功能,在调试的时候遇到的第一个问题就是在usbmodeswitch前识别为cdrom模式,我想mount这个cdrom看看里面的东西,总是提示mount: mounting /dev/sg...

2019-06-23 10:09:58 1321

原创 MBus总线上自动波特率识别

MBus总线上自动波特率识别1、通过前导字节0x68,捕获引脚通过1、0比特的两个上升沿的差值除以2来自动识别出波特率。2、为什么是通过两个上升沿,而不是一个上升沿一个下降沿,比如两个比特11的长度除以2来计算? 因为两条平行的MBUS总线间存在电容效应,在实验室里面由于线比较短,不容易测试出来,但在实际产品使用中是真实存在的,因此在实验室里面分别用10nf、47nf、23n...

2019-06-23 10:07:39 880

原创 传感器板的两种不同生产工艺

作为光电直读水表中核心电子器件的光电传感器板,主要功能是完成光电的转换,目前有两家供应商,昨天分别去考察了下,有不小的收获。1、采用封装好的晶元的方式A供应商具有完整的生产线,包括回流焊生产线、波峰焊生产线,调校设备,库房等。回流焊:pcb拼板->通过钢网上锡膏->在涂上锡膏的pcb板上放置元器件->IC器件和电阻电容器件有不同的放置方式->进入回流焊接设备中,...

2019-06-23 10:07:15 351

原创 ppp拨号导致看门狗复位

之前在淘宝网上买了3G的无线上网数据卡,USB接口的,分别是移动和电信的,刚买来的时候是可以拨号上网的,过了几个月后就不能拨号上网了,不知道是不是移动或者电信有什么限制;然后又在网上买来sim900a gprs模块进行测试,通过usb转串口芯片cp2102调试gprs模块sim900a的时候,发现拨号到一半的时候,系统就重启了,经过多次测试终于解决了,原来时ppp拨号的时候导致一个喂狗线程没有能够...

2019-06-23 09:45:25 349

原创 PCB及PCBA加工流程

我的163博客原文链接最近有幸去参观了PCB及PCBA加工流程,对PCB制板和PCBA贴片有了一个详细的了解。PCBA主要是贴片,大致过程是通过钢网给PCB板上锡膏,上了锡膏的PCB板通过贴片机贴上元件,然后通过回流焊固化原件,如果两面都有元器件另外一面也要通过相同的过程;如果还有插装元件则需要人工安装插装元件,然后人工焊接或者通过波峰焊接;这里做一个总结加深一下印象,对以后在硬件设计方面和问...

2019-06-20 14:10:38 3641 1

空空如也

空空如也

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

TA关注的人

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