自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(70)
  • 资源 (1)
  • 收藏
  • 关注

原创 欢迎使用CSDN-markdown编辑器

GDB调试技巧整理写在前面最近工作中在进行C语言主机进程相关的开发工作,相关开发工作不依赖与IDE进行,编译环境和运行环境分离(编译是在独立的编译机上进行,编译产生bin文件之后再拿到运行环境中进行使用)。好的调试工具对于整个开发过程而言是有着非常重要的意义的,它就像人类的眼睛一样,可以让开发者清楚的了解到程序的运行情况。而对于C语言的调试而言,GDB工具是非常实用的工具,也是非常基础的手段。

2016-04-27 01:06:38 434

转载 Makefile 中:= ?= += =的区别

在Makefile中我们经常看到 = := ?= +=这几个赋值运算符,那么他们有什么区别呢?我们来做个简单的实验新建一个Makefile,内容为:ifdef DEFINE_VRE    VRE = “Hello World!”elseendififeq ($(OPT),define)    VRE ?= “Hello World! First!”endif

2015-05-06 15:07:03 441

转载 Ubuntu下,清屏等终端常用命令

# ctrl + l - 清屏 。 cLear# ctrl + c - 终止命令。 # ctrl + d - 退出 shell,好像也可以表示EOF。 # ctrl + z - 将当前进程置于后台,fg还原。 # ctrl + r - 从命令历史中找 。 Reverse-i-search# ctrl + a - 光标移到行首 。 A# ctrl + e - 光标移到行尾。

2015-04-23 16:47:46 1145

转载 集线器、交换机、路由器、网桥、网关之间的区别

集线器(HUB)  集线器就是将网线集中到一起的机器,也就是多台主机和设备的连接器。集线器的主要功能是对接收到的信号进行同步整形放大,以扩大网络的传输距离,是中继器的一种形式,区别在于集线器能够提供多端口服务,也称为多口中继器。集线器在OSI/RM中的物理层。集线器的基本功能是信息分发,它把一个端口接收的所有信号向所有端口分发出去。一些集线器在分发之前将弱信号重新生成,一些集线器整理信号的时序

2015-04-11 15:40:04 1008 1

原创 Contiki之makefile分析(续)

目标文件生成的相互依赖关系           Makefile的最终目的是为了生成可执行的目标文件,所以makefile文件的最终是归结于一系列的更新目标文件        的命令,命令主要包含:系统命令(GCC、SDCC等),命令执行的选项,命令执行的源文件等等。     本微博我们从最终的目标文件入手来探究目标文件生成的相互依赖关系。make命令执行后目标的匹配

2015-03-30 15:57:37 900

原创 Contiki-sensinode之makefile分析

写在最前面:本博客不算是原创博客,在查看了crystal736 关于contiki2.6之Makefile的详细解读系列博客之后,对于此部分内容有一定的理解,结合自己的理解对相关的知识进行整理归纳。另外本文分析的是Contiki-sensinode分支,因为实验是关于contiki在cc2530平台下的udp-ipv6实验,这个实验在contiki2.7的源代码中的栈空间的管理存在一定

2015-03-17 21:55:51 740

原创 The Contiki build system

The Contiki build system========================Makefiles used in the Contiki build system The Contiki build system is composedof a number of Makefiles. These are:* Makefile: the project

2015-03-15 20:29:11 446

转载 window 与ubuntu12.10共享文件 hgfs下为空和不用每次挂载hgfs的方法

解决hgfs为空的方法:sudo apt-get install open-vm-dkmssudo mount -t vmhgfs .host:/ /mnt/hgfs解决每次都要挂载的方法:1、确保VMware中为Ubuntu已经成功设置Shared Folders,并且选中Always enabled。2、启动Ubuntu,登入系统后,本以为已经自

2015-03-12 16:50:10 976

原创 H公司培训1

今天又幸参加了H公司的培训,此处简单的写一下感触,作为第一篇博文。       今天听到一句话“计算机科学是一门人造科学”,我觉得这句话的描述很准确,计算机只是换了一种视角来描述这个世界,作为一门人造科学,计算机科学在很多方面是追求正确性的,唯一性的。不像自然科学中的很多事情存在很多的可能性。       今天培训的主题是"代码的低级错误案例",很多低级的代码往往会在不经意间产生非常重大的

2015-01-08 21:33:30 595

原创 etimer_process功能代码分析

创建时间:2014-11-24 9:10 修改时间:2014-11-24 15:55 p://blog.chinaunix.net/uid-9112803-id-2977913.contiki源代码中对于etimer_process的功能代码的实现中存在函数片段的混定义,所以理解起来有一定的难度,通过将相关的宏定义展开有得到上图左

2014-11-26 14:44:52 761

原创 contiki任务调度机制分析

contiki任务调度机制分析创建时间:2014-11-20 21:34 修改时间:2014-11-25 22:30 【目录Index】事件进程的数据结构初始化中断的实现systick的实现中断服务程序任务的调度【博客正文】     contiki是事件驱动型操作系统,它有一个事

2014-11-26 14:43:25 2158

转载 C语言中的#,##

近日在分析contiki操作系统的源代码,其中有一段da

2014-11-21 11:56:07 462

转载 C语言的那些小秘密之断言

如果出于一般性的学习C语言,应付考试的话,我想很少有人会在代码中使用断言,可能有的人在此之前从来没有使用过断言。那么断言的使用到底能给我们的代码带来什么呢?我尽可能的把我所理解的断言的使用讲解清楚,希望我在此所讲的断言能够对你有所帮助,让你以后能够在代码中灵活使用断言。

2014-11-20 10:53:06 523

转载 函数可重入性理解

在维基百科和其他朋友的帖子里找到了相关概念。为了帮助自己今后理解,特地将此概念加上自己的理解整理在此。

2014-11-20 10:10:51 441

转载 求一个整数的二进制中1的个数

题目:输入一个整数,求该整数的二进制表达中有多少个1。例如输入10,由于其二进制表示为1010,有两个1,因此输出2。分析:这是一道很基本的考查位运算的面试题。包括微软在内的很多公司都曾采用过这道题。一个很基本的想法是,我们先判断整数的最右边一位是不是1。接着把整数右移一位,原来处于右边第二位的数字现在被移到第一位了,再判断是不是1。这样每次 移动一位,直到这个整数变成0为止。现在

2014-07-02 22:10:51 543

转载 原因和解决方案: ‘ascii’ codec can’t decode byte.

原因和解决方案: ‘ascii’ codec can’t decode byte.昨天重装Python2.7.6时,为了安装第三方库,我去下pip。为了装pip,又得先装 ez_setup.py。结果装ez_setup时,遇到了问题,报错: view plaincopyUnicodeDecodeError: ’ascii’ codec can’t d

2014-06-27 18:25:39 4467

转载 windows修改默认代码页

转自:http://hi.baidu.com/newdreamllc/item/78a2f9caca919c0aad092fb8执行以下相应的命令:chcp 437/* 英文 */ chcp 932/* 日文 */ chcp 936/* 简体中文 */ chcp 949/* 韩文 */ chcp 950/* 繁体中文 */ 

2014-06-26 16:39:32 22947 2

原创 win7 cmd下驱动器的切换

cd是change directory,顾名思义,是改变目录,默认状况下,是不改变驱动器的,如果当前提示符的驱动器是c:,而你想改变成d,则可用:1, d:2, cd /d d:1是普通切换目录的方法,2,是告诉提示符,切换目录时也改变驱动器。

2014-06-26 14:57:31 1326

转载 C语言文件操作函数大全

C语言文件操作函数大全clearerr(清除文件流的错误旗标) 相关函数 feof表头文件 #include 定义函数 void clearerr(FILE * stream); 函数说明 clearerr()清除参数stream指定的文件流所使用的错误旗标。 返回值   fclose(关闭文件) 相关函数 close,fflush,fopen,setbuf

2014-06-22 10:17:15 543

转载 一道试题引发的血案

某日,看到一道比较恶心的C语言的试题,考了很多比较绕的知识点,嘴脸如下: int main(void){    int a[4] = {1, 2, 3, 4};    int *ptr1=(int *)(&a+1);    int *ptr2=(int *)((int)a+1);    printf("%x, %x/n", ptr1[-1

2014-06-18 18:42:03 518

原创 Configure IP Address and DNS from Command Line

The IP address of your computer can be set from the command prompt by running the following commands at an administrative level prompt:netsh interface ip set address name="Local Area Connection" s

2014-05-20 15:01:32 842

转载 windows下mingw的复制粘贴

这两天在学习Git的使用,在windows

2014-05-18 19:40:27 4124

转载 CR, LF, CR/LF 回车 换行

在文本处理中, CR, LF, CR/LF是不同操作系统上使用的换行符.Dos和windows采用回车+换行CR/LF表示下一行, 而UNIX/Linux采用换行符LF表示下一行,苹果机(MAC OS系统)则采用回车符CR表示下一行.CR用符号’r’表示, 十进制ASCII代码是13, 十六进制代码为0x0D; LF使用’n’符号表示, ASCII代码是10, 十六制为0x0A

2014-05-17 20:51:09 756

转载 do{...}while(0)的意义和用法

首先明确的是do-while循环中,无论xuan

2014-05-04 15:51:37 519

转载 Linux内核中的printf的实现

Linux内核中的printf实现从main.c中的printf开始读这个函数。首先看printf函数的定义:1static int printf(const char *fmt, ...)2{3va_list args;4int i;5 6va_start(args, fm

2014-04-21 15:42:27 727

原创 浅谈emacs的撤销undo机制

在写这篇博客之前,还是先感叹一下

2014-04-21 11:17:29 1085

转载 windows平台Emacs单实例原理、设置及右键菜单的添加

本帖子转自http://www.cnblogs.com/ini_always/archive/2012/04/28/2475741.html

2014-04-19 11:21:10 623

转载 windows下Emacs中文乱码解决办法

在.emacs文件中加入如下配置即可:==================分割线 勿复制=========================;; 编码设置 begin(set-language-environment 'Chinese-GB);; default-buffer-file-coding-system变量在emacs23.2之后已被废弃,使用buffer-fi

2014-04-18 09:32:10 4750 1

转载 emacs中使用auto-complete的详细设置

使用auto-complete-mode1 下载auto-complete完整源码大多数情况下,我还是推荐使用源码库中的最新版本,这样可以避免很多奇怪的问题。所以这里列出了使用auto-complete-mode所涉及的一些源码库:auto-complete-mode 主源码库 https://github.com/m2ym/auto-complete.gitpop

2014-04-17 20:54:34 6679 2

转载 从文件 I/O 看 Linux 的虚拟文件系统

Linux 允许众多不同的文件系统共存,并支持跨文件系统的文件操作,这是因为有虚拟文件系统的存在。虚拟文件系统,即VFS(Virtual File System)是 Linux 内核中的一个软件抽象层。它通过一些数据结构及其方法向实际的文件系统如 ext2,vfat 提供接口机制。本文在简要介绍 VFS 的相关数据结构后,以文件 I/O 为切入点深入 Linux 内核源代码,追踪了 sys_o

2014-04-14 16:29:53 613

原创 现代操作系统笔记

要将设备驱动程序装入操作系统,有三种途径:(1)将内核中的

2014-04-12 21:23:42 761

原创 permission denied

14:45:27 **** Rebuild of configuration Debug for project code_alex ****Info: Internal Builder is used for buildgcc -O0 -g3 -Wall -c -fmessage-length=0 -o main.o "..\\main.c" ..\main.c: In functi

2014-03-17 14:53:02 2378

转载 k60 mcg模块概述

MCG模块详解MCG模块简介       MCG(Multipurpose  Clock  Generator)称为多用途时钟信号发生器,该模块为MCU和芯片内部各个模块提供时钟信号。MCG模块通过对输入的参考时钟进行分频和倍频处理,可以输出各种频率的时钟信号,并达到超频运行的目的。输入的参考时钟可以来自内部也可以来自外部时钟或外部晶振。输入的参考时钟一般经过分频后进入FLL(锁频环)或P

2014-01-19 20:56:03 2808

原创 K60系列学习(四)Start.s启动代码分析

.section .vector, "a" .global init_vector .code 16 .syntax unified init_vector: .word __onchip_ram_end,system_start .word 0x0,0x0,0x0,0x0,0x0,0x0 .word 0x0,0x0,0x0,0x0,0

2014-01-15 20:35:58 1735

原创 K60系列学习(三)链接脚本2

在链接脚本中很重要的一部分就是对于section的描述,本文将结合上例对于链接脚本中的section部分的描述进行简单的整理。

2014-01-11 21:05:39 1627

原创 K60系列学习(二)链接脚本1

/* * * */MEMORY{ flash : ORIGIN = 0x00000000, LENGTH = 512k sram : ORIGIN = 0x1FFF0000, LENGTH = 128k}OUTPUT_FORMAT("elf32-littlearm", "elf32-bigarm","elf32-littlearm") OUTPUT_ARCH

2014-01-10 21:06:45 3032

原创 K60系列学习(一)

K60中系列的MCU中存在FlexMemory和程序内存的差别,两者之间的对表如下表所示:另外K60系列的MCU的命名规则如下:各字段的编号格式为:Q  K##  A  M  FFF  R  T  PP  CC  NQ:  M代表完全合格产品,P表示测试样品K##:代表Kinetis系列A:关键属性,D表示Cortex-M4带DSP,F表示Cortex-M4带DSP和F

2014-01-10 20:45:37 4586

原创 eclipse日积月累

(1)ubuntu13.04中产生eclipse的启动器因为eclipse自网站http://www.eclipse.org/downloads/下载对应的版本之后,没有安装过程就能使用,因此在产生eclipse的启动器的过程中,需要手动编辑产生eclipse.desktop文件。在路径/usr/share/applications下产生eclipse.desktop文件,eclipse.

2013-12-05 15:46:35 551

原创 《深入理解计算机系统》第八章 (五)非本地跳转 setjmp longjmp

/* $begin restart */#include "csapp.h"sigjmp_buf buf;void handler(int sig) {    siglongjmp(buf, 1);}int main() {    Signal(SIGINT, handler);    if (!sigsetjmp(buf, 1))   

2013-12-04 19:01:32 684

原创 《深入理解计算机系统》第八章 (四)信号

信号是软件层面上的异常(一)Linux信号可以通过man 7 signal 查看Linux提供的标准信号。其中描述的信号的编号在不同的处理器体系结构的差异有所不同。(二)信号传送的步骤传送一个信号到目的进程通常由两个不同的步骤组成:(1)

2013-12-04 17:24:26 846

AD逻辑的理解,AD转换

AD转换的理解方案~~~~经过老师审阅的哦~~~

2010-08-01

空空如也

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

TA关注的人

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