自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

chinseeker

一个平凡的探索者

  • 博客(65)
  • 资源 (4)
  • 收藏
  • 关注

转载 C# 委托的三种调用示例(同步调用 异步调用 异步回调)

原文地址:http://www.jb51.net/article/44093.htm首先,通过代码定义一个委托和下面三个示例将要调用的方法:复制代码代码如下:public delegate int AddHandler(int a,int b);    public class 加法类    {        public static

2017-06-21 19:47:44 304

转载 VS2012下 C# Application 中调用C++ DLL库,如何断点调试

转自 http://www.cnblogs.com/lidabo/archive/2012/06/05/2536743.html调试方法:【dll工程和调用dll的exe工程在同一个解决方案中】[本人自测 不在同一个解决方案中也是可以的,当然,本机要有dll源码]dll工程,属性-配置属性-调试-把 命令 为 调用该dll的exe工程的bin\Debug\*.exedl

2017-05-25 23:19:06 552

转载 使用C++开发动态链接库的过程总结

该动态库是为第3方系统提供数据导入导出功能(就是实现几个函数)。项目要求用C++进行封装,由于本人没有C++方面的开发经验,只能临时学习和琢磨了。下面简要说明一下项目的开发过程。一、开发环境选择         我是windows环境下的开发者,选择的环境是Visual Studio 2010,环境安装就不再说了(这个应该难不倒开发人员的啊)。二、创建项目    在vs窗口

2016-11-13 22:22:10 754

原创 c++动态链接库调试设置

开发动态库程序,需要对动态库进行调试,那么我们该如何启用我们的动态库调试程序呢?VC6中我们可以通过工程-->设置来设置一个exe应用程序调用我们的动态库,那么VS呢?下面用图解的方法说明步骤:在工程上右键-->属性-->调试-->命令,设置调用DLL的应用程序exe的路径,可以是相对路径,也可以是绝对路径,这样我们的程序在运行时就可以通过这个应用程序接口调用我们正

2016-11-09 23:06:21 1872

转载 C++ 动态链接库的两种调用方式

http://blog.csdn.net/zy_dreamer/article/details/8878944?utm_source=tuicool动态链接库不能直接运行,也不能接收消息。它们是一些独立的文件,其中包含能被可执行程序或其它DLL调用来完成某项工作的函数或是数据。只有在其它模块调用动态链接库中的函数时,它才发挥作用。Windows API中的所有函数都包含在DLL中。其中

2016-11-09 22:43:34 1704

转载 [转]驱动开发的几种编译环境配置法

驱动开发与Win32下的程序开发不同,没有一套智能的IDE环境,点点鼠标框架代码IDE就帮你生成好了。Windows下的开发为什么那么容易上手,Visual studio功不可莫。一帮懒人在MS的“悉心呵护”下产生了,身边很多做Win32应用程序开发的朋友,都不知道ml.exe和link.exe是搞什么的,只知道F7,F5了。驱动开发就不一样了,没一套现在的IDE和框架代码。和Win32 ASM一

2016-10-17 22:30:33 843

转载 你的变量究竟存储在什么地方?

你的变量究竟存储在什么地方?作者:杨小华       我相信大家都有过这样的经历,在面试过程中,考官通常会给你一道题目,然后问你某个变量存储在什么地方,在内存中是如何存储的等等一系列问题。不仅仅是在面试中,学校里面的考试也会碰到同样的问题。       如果你还不知道答案,请接着往下看。接下来,我们将在Linux操作系统上,以GCC编译器为例来讲解变量的存储。       在计算机

2013-07-26 10:28:26 827

转载 程序的局部变量 全局变量 动态申请数据分别存储在什么地方?

程序的局部变量 全局变量 动态申请数据分别存储在什么地方?量的类别:根据作用域可分为全局变量和局部变量。根据生存周期可分为静态存储方式和动态存储方式,具体地又分为自动的(auto)、静态的(static)、寄存器的(register)、外部的(extern)。静态存储方式是指在程序运行期间分配固定的存储空间的方式,动态存储方式是在程序运行期间根据需要进行动态的分配存储空间的方式。

2013-07-26 10:21:08 3107 1

转载 单片机全局变量和局部变量的使用

全局变量是存在RAM中的,而局部变量是存在堆栈中的 全局变量是从低地址往高地址存,局部变量是从RAM的高地址往低地址存,如果你定义的变量太多就有可能是溢出了。在MSP430中,局部变量如果不多,就会分配r4-r15的寄存器,如果数量大就会用压栈处理。  全局变量是使用相同的内存块在整个类中存储一个值. 全局变量的存在主要有以下一些原因: 1,使用全局变量会占用更多的

2013-07-26 10:11:39 2370 1

转载 单片机全局变量和局部变量的使用 .

全局变量是存在RAM中的,而局部变量是存在堆栈中的 全局变量是从低地址往高地址存,局部变量是从RAM的高地址往低地址存,如果你定义的变量太多就有可能是溢出了。在MSP430中,局部变量如果不多,就会分配r4-r15的寄存器,如果数量大就会用压栈处理。 全局变量是使用相同的内存块在整个类中存储一个值. 全局变量的存在主要有以下一些原因: 1,使用全局变量会占用更多的内存(因为其生命期长),不过在计算

2013-07-25 17:04:43 1950

转载 单片机编译器中局部变量和全局变量的深入解析

通常我们都是学了标准c语言教程后从事单片机c语言的编写的, 那就先要明白一点, 标准c语言实际上是起源于pc平台上的一种语言, 标准c语言肯定是不会照顾到单片机的特殊性的. 因此单片机c编译器中的c语言是一种基于标准c,但是又有相应修改扩充的扩展c语言.  所以在单片机c编译器里写程序时一定要了解单片机编译器扩展c语言的不同之处, 绝不能死板地照搬标准c.      在标准c里, 局部变量是函

2013-07-25 17:02:53 1740

转载 PIC 8位单片机的分类和特点

ywangjianwei@126 的PIC 8位单片机的分类和特点PIC 8位单片机具有指令少、执行速度快等优点,其主要原因是PIC系列单片机在结构上与其它单片机不同。该系列单片机引入了原用于小型计算机的双总线和两级指令流水结构。这种结构与一般采用CISC(复杂指令集计算机)的单片机在结构上是有不同的。  1双总线结构  具有CISC结构的单片机均在同一存储空间取指令和数

2013-07-25 16:57:06 1964

转载 Linux 的时区修改 (2.6.27.9)

来源:http://blog.21ic.com/user1/6977/archives/2010/72054.html Linux   的时区修改 该版本的时区配置文件保存于 /etc/tz 中。使用vi打开tz文件,显示有MST7MDT这一字符串,查下面的时区表得,当前设置的时区为UTC时间-6设置为中国时间,则把字符串改为WAUST-8WAUDT存盘;重启OK

2012-10-12 09:54:11 1138

转载 调试arm下的 Alignment trap

前几天交叉编译crtmpserver到arm9下。编译通过,但是运行的时候,总是提示Alignment trap,但是并不影响程序的运行。这依然很令人不爽,因为不知道是什么原因引起的,这就像一颗定时炸弹一样,一定要解决。    修改makefile,加入-ggdb,去掉编译优化,重新编译。编译完毕,在gdb下运行,依然提示Alignment trap,并且gdb没有任何反应。按照设想,操作

2012-08-24 14:25:27 558

转载 container_of()宏

在学习Linux驱动的过程中,遇到一个宏叫做container_of。该宏定义在include/linux/kernel.h中,首先来贴出它的代码:/** * container_of - cast a member of a structure out to the containing structure * @ptr:        the pointer to the

2012-08-16 10:39:01 324

转载 request_irq() | 注册中断服务

在 2.4 内核和 2.6内核中都使用 request_irq() 函数来注册中断服务函数。在 2.4 内核中,需要包含的头文件是 #include  ,2.6 内核中需要包含的头文件则是#include  。函数原型如下:· 2.4 内核 int request_irq (unsigned int irq, void (*handler)(int, void *, struct pt

2012-08-16 10:26:29 370

转载 开发人员一定要加入收藏夹的网站

开发人员一定要加入收藏夹的网站 http://www.gotapi.com/语言:英语简介:HTML,CSS,XPATH,XSL,JAVASCRIPT等API的查询网站。http://www.w3schools.com/语言:英语简介:W3C制定的标准诸如XML,HTML,XSL等等的在线学习教程。http://www.xml.org.cn/语言:中文简介:可以

2012-08-16 09:37:15 252

转载 关于__init、__initdata和__exit、__exitdata的学习笔记

对于__init、__initdata和__exit、__exitdata的定义位于,这些宏定义的作用是告诉编译器将这些函数或者数据放入相应的section中,而在模块加载的阶段,.ko文件中的代码和数据的加载区域是根据section来加载的。比如:如果函数的定义中带有__init,那么这个函数的所有代码会被放入.init.text的section中。      如果函数的定义中带有__initd

2012-08-16 09:22:01 494

转载 i2c总线设备测试应用程序

原文:http://blog.csdn.net/imho888/article/details/3861927 i2c总线设备测试应用程序       既然是应用程序无非就是read,write。是的如果没有算法加进来的话,就是这样的,更何况这是一个测试程序!       首先介绍一个系统总线(设备)给大家,如果有人接受不了这个概念可以先把它了解清楚再继续阅读,如果觉得自己还可以忍

2012-08-15 15:15:47 543

转载 如何修改Linux系统时间

两步(1)date 102718362009(2)hwclock -w第一步的意思是设置时间,设置完了可以用date命令查看对不对...注意是月日时分年第二步的意思是写入主板的rtc芯片..=======================================su -c 'date -s 月/日/年'su -c 'date -s 时:分:秒'========

2012-08-15 14:23:34 526

转载 Linux中的initcall

linux 2.6中把initcall又分成了若干种类,主要用来区别不同的initcall的调用次序,由于initcall中的调用次序是随机的,所以不能保证某些重要的初始化先运行。  分成了以下几个initcall,按执行顺序先后排列:  pure_initcall:最先运行的,不依赖于任何其他初始化函数。  core_initcall  core_initcall_syn

2012-08-09 15:30:05 265

转载 Makefile的obj-y 和 obj-m

http://blog.csdn.net/wingcreate/article/details/6322700 目标定义是Kbuild Makefile的主要部分,也是核心部分。主要是定义了要编 译的文件,所有的选项,以及到哪些子目录去执行递归操作。 最简单的Kbuild makefile 只包含一行: 例子: obj-y += foo.o 该例子告诉Kbuild在这目录里,有一个名为fo

2012-08-08 14:25:59 1296

转载 Linux设备文件简介

概述设备管理是linux中比较基础的东西,但是由于Linux智能程度的越来越高,Udev的使用越来越广泛,使得越来越多的Linux新用户对 /dev 目录下的东西变得不再熟悉。有时候遇见问题就会变得抓狂。Linux 中的设备有2种类型:字符设备(无缓冲且只能顺序存取)、块设备(有缓冲且可以随机存取)。每个字符设备和块设备都必须有主、次设备号,主设备号相同的设备是同类设备(使用同一个驱动程序

2012-08-08 13:34:43 359

原创 利用PING、IPCONFIG进行网络故障检测步骤

(1)输入ping 127.0.0.1,若ping通,表示本机网卡工作正常;否则要检查本机网卡。(2)输入ipconfig,显示ip配置信息,查看本机ip地址。输入ping 本机ip地址,若ping通,表示本机网络设置正常;若不通,要检查本机网络设置。(3)输入ping   与本机相连的其他主机ip地址,若ping通,表示本机网络工作正常;否则要检查联网设备和物理线路。

2012-08-06 14:16:10 1068

原创 “unable to change to suders gid”问题的解决

在应用上篇文章介绍的方法对ubuntu的硬盘空间进行扩展之后,重启系统,原来的账户无法正常登陆,只能通过来宾账户进入系统,而且进入系统后,执行sudo指令,出现如下错误:unable to change to suders gid       参考该文得以解决:http://blog.csdn.net/gudaoqianfu/article/details/7254700       现摘

2012-08-02 14:21:50 25183

原创 用startx命令无法从命令行模式进入图形界面

错误现象:failed to activate core devices解决的可能方法:一、sudo apt-get install ubuntu-desktop二、通过ROOT账号可以进入       这种情况问题可能有:           1、安装软件的时候修改了/tmp的属性 ,导致其他账号没有写的权限,导致无法正常启动,修改/tmp权限,则正常。

2012-08-01 15:20:22 1441

原创 ubuntu 启动直接进入命令行模式的方法

ubuntu启动后直接进入命令行模式,根据ubuntu版本的不同,所配置的方式也不同,大致有以下几种:一、sudo vi /etc/X11/default-display-manager             用#注释掉 #/usr/sbin/gdm 或 #/usr/sbin/lightdm该方法在ubuntu11.10下试验成功。 二、修改grub文件

2012-08-01 15:04:25 2113

原创 /etc/default/grub文件

# If you change this file, run 'update-grub' afterwards to update# /boot/grub/grub.cfg. GRUB_DEFAULT=savedGRUB_SAVEDEFAULT=true#GRUB_HIDDEN_TIMEOUT=0GRUB_HIDDEN_TIMEOUT_QUIET=trueGRUB_TI

2012-08-01 14:14:05 787

原创 应用vmware-vdiskmanager增加虚拟机Linux硬盘空间

一、通过vmware-vdiskmanager增加虚拟机Linux硬盘空间 按Win+R键调出运行对话框,输入“cmd”并按回车键启动命令提示符窗口。C:\Documents and Settings\hjun>D:D:\Program Files\VMware>cd "VMware Workstation" (进入vmware工具安装目录,我的目录在D:\Program Fi

2012-08-01 13:31:04 1873

原创 buildroot编译的问题

在编译buildroot时出现如下问题:                      make:/home/hjun/9x5/Source. command not found原因:                       工程所在的目录名称有问题,原名Source Code改为Source后,编译正常。

2012-07-31 13:01:17 409

转载 Linux驱动调试的Debugfs的使用简介

在调试linux驱动的时候,可以用debugfs来调试,debugfs类似字符设备驱动一样,甚至更简单,不需要主设备号次设备号等等,只需要实现一个file_operations,然后通过debugfs_create_file就可以在debugfs中建立一个文件结点,就像字符设备驱动那样,只需要对这个文件结点进行open就可以进行read、write、ioctl,等等操作,这些操作对应到我们在驱动里

2012-07-30 16:26:18 492

转载 linux延时函数

应用层:   #include    1、unsigned int sleep(unsigned int seconds); 秒级   2、int usleep(useconds_t usec);              微秒级:1/10^-6   3、int nanosleep(const struct timespec *req, struct timespec *rem

2012-07-27 17:23:22 301

转载 linux判断文件是否存在

对于判断文件是否存在,每个人有不同的方法!我通常采用两种方法 : open 和 access ;这个俩个方法有相似之处,且有不同之处;下面为大家详细说明他们的不同之处:open 是打开,读写等操作文件的一个函数,access就是一个判断文件权限的函数。在linux下,由于文件有不同的权限,当当前用户没有对此文件的读权限的时候,用来判断文件是否存在,显然不合适。而access却可以做

2012-07-27 13:29:58 536

原创 将驱动程序模块添加到内核

一 . 概述:将驱动程序模块添加到内核需要完成以下三项工作:1.将编写的源代码复制到 Linux 内核源代码的相应目录2.在目录的 Kconfig 文件中增加新源代码对应项目的编译配置选项3.在目录的 Makefile 文件中增加对新源代码的编译条目二 . 实例1.先把驱动代码 gpio( 文件夹)

2012-07-26 15:10:31 726

原创 LINUX系统延时函数

当一个设备驱动需要处理它的硬件的反应时间, 涉及到的延时常常是最多几个毫秒. 在这个情况下, 依靠时钟嘀哒显然不对路.内核函数 ndelay, udelay, 以及 mdelay 对于短延时好用, 分别延后执行指定的纳秒数, 微秒数或者毫秒数. [27]它们的原型是:#include void ndelay(unsigned long nsecs);void udelay(unsi

2012-07-25 13:05:36 1190

转载 用户空间与内核空间数据交换的方式(3)------seq_file

原文:http://hi.baidu.com/zhaoercheng/blog/item/aff223f4ad796f3d730eec44.html一般地,内核通过在procfs文件系统下建立文件来向用户空间提供输出信息,用户空间可以通过任何文本阅读应用查看该文件信息,但是procfs 有一个缺陷,如果输出内容大于1个内存页,需要多次读,因此处理起来很难,另外,如果输出太大,速度比

2012-07-19 21:31:43 480

转载 用户空间与内核空间数据交换的方式(2)------procfs

原文:http://hi.baidu.com/zhaoercheng/blog/item/7edb1a4d923662d5d0c86a7a.htmlprocfs是比较老的一种用户态与内核态的数据交换方式,内核的很多数据都是通过这种方式出口给用户的,内核的很多参数也是通过这种方式来让用户方便设置的。除了sysctl出口到/proc下的参数,procfs提供的大部分内核参数是只读的。实际上

2012-07-19 21:28:07 470

转载 用户空间与内核空间数据交换的方式(1)------debugfs

内核开发者经常需要向用户空间应用输出一些调试信息,在稳定的系统中可能根本不需要这些调试信息,但是在开发过程中,为了搞清楚内核的行为,调试信息非常必要,printk可能是用的最多的,但它并不是最好的,调试信息只是在开发中用于调试,而printk将一直输出,因此开发完毕后需要清除不必要 的printk语句,另外如果开发者希望用户空间应用能够改变内核行为时,printk就无法实现。因此,需要一种新的机制

2012-07-19 21:25:27 602

转载 USB设备类

Defined 1.0 Class CodesUSB Class Codes                    March 2, 2006 USB defines class code information that is used to identify a device’s functionality and to nominally load a device dr

2012-07-19 08:44:36 1362

转载 USB驱动分析(三)

需要注意的是,这些调试信息得是我们打开了编译选项CONFIG_USB_STORAGE_DEBUG才有意义的,这里也看出来了,如果这个选项为0,那么这几个宏就什么也不干,因为它们被赋为空了.关于US_DEBUG系列的这几个宏,就讲这么多,之后再碰上,将直接过滤掉,不予多说.关于prink和kmalloc,这两个函数也没有太多需要说的,对大多数人来讲,就把printk当成printf,把kmall

2012-07-18 11:01:00 2620

JEDEC eMMC standard 5.1

JEDEC eMMC standard 清晰版

2022-10-12

UBI文件系统制作过程

嵌入式linux下,UBI文件系统的介绍及其具体的制作过程

2012-07-27

udev-080.tar.bz2

UDEV源码包udev-080.tar.bz2

2012-07-27

Linux下串口数据接收程序

Linux下串口数据接收程序,已调试通过。

2012-07-05

Linux下串口数据发送程序

Linux下串口数据发送程序,已调试通过。

2012-07-05

空空如也

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

TA关注的人

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