自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 Linux 命令行参数解析整理

原文:http://blog.csdn.net/cashey1991/article/details/7942809原文:http://blog.csdn.net/bailyzheng/article/details/8048733原文:http://blog.csdn.net/hcx25909/article/details/7388750一·、linux 命令行约定: 

2016-02-05 16:17:50 1099

转载 函数调用时函数栈状态分析

原文:http://www.cnblogs.com/quark/archive/2012/03/20/2407487.html先贴出自己写的测试代码:123456789101112131415161718

2016-02-04 17:12:23 590

转载 C语言中,字符串的赋值

原文:http://www.cnblogs.com/KingOfFreedom/archive/2012/12/07/2807223.html一、C语言中,为什么字符串可以赋值给字符指针变量char *p,a='5';p=&a;                     //显然是正确的,p="abcd";              //但为什么也可以这样

2016-02-04 10:13:00 3781

转载 GDB 进行调试 使用心得

原文:http://www.cnblogs.com/shipfi/archive/2008/08/04/1260293.html1: 对于在应用程序中加入参数进行调试的方法:   直接用 gdb app -p1 -p2 这样进行调试是不行的。   需要像以下这样使用:    #gdb app    (gdb) r -p1 -p2    或者在运行run命令前使用se

2016-02-03 09:40:10 273

原创 ubuntu 安装 4.4内核版本

Linus Torvalds 发布了 Kernel  4.4 LTS,新内核在虚拟GPU驱动中添加了对3D的支持,允许为3D硬件加速显卡虚拟访客、支持Asynchronous I/O和Direct I/O的更精简且更快循环设备,因此增加系统的性能并降低对内存的占用,通过LightNVM来支持Open-Channel的固态硬盘。32 位 Ubuntu 及衍生系统:下载安装包:

2016-02-02 20:18:17 2917

转载 ubuntu 远程登录

远程连接XP 系统(前提是windows xp 必须打开并且允许远程用户登录)rdesktop serverIP 或者rdesktop serverIP:Port在终端输入:rdesktop 192.168.0.3:4747全屏登录:rdesktop-f192.168.0.3:4747Ctrl+Alt+Enter 可以退出全屏。再次Ctrl+Alt+Enter就可以了。关于rdesk

2016-02-02 19:00:41 333

转载 IAR中ICF文件分析与应用

原文:http://blog.csdn.net/hitxiaya/article/details/6607075sections在地址空间中的存放是由ILINK链接器来实现的,而ILINK链接器是按照用户在ICF文件中的规定来放置sections的,所以理 解ICF文件的内容尤其重要。一个标准的ICF文件可包括下面这些内容:1.       可编址的存储空间(memor

2016-01-28 08:36:52 1242

转载 结构体对齐

原文:http://blog.chinaunix.net/uid-24227137-id-3499418.html摘要:/***********************/一、字节对齐详解为什么要对齐?    现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定类型变量的时候经常在特 定的内存地址访问,

2016-01-25 10:22:49 284

转载 编译器警告和错误详解

原文:http://blog.csdn.net/zhzht19861011/article/details/58235371.warning:  #550-D: variable "d" was set but never used描述:变量'd'定义但从未使用,或者是,虽然这个变量你使用了,但编译器认为变量d所在的语句没有意义,编译器把它优化了.解决:仔细衡量所定义的

2016-01-22 11:54:17 4982

转载 IAR error: a declaration cannot have a label

原文:http://stackoverflow.com/questions/92396/why-cant-variables-be-declared-in-a-switch-statement[转]IAR error: a declaration cannot have a label在使用switch时 在case 后面申请变量会出现 error: a declaration c

2016-01-22 11:51:46 1016

原创 推荐书

书名:深入浅出嵌入式底层软件开发

2016-01-20 18:22:42 330

转载 ARM汇编编程基础(一) -- ARM CPU寄存器

原文:http://blog.csdn.net/scyangzhu/article/details/8018761ARM的汇编编程,本质上就是针对CPU寄存器的编程,所以我们首先要弄清楚ARM有哪些寄存器?这些寄存器都是如何使用的?ARM寄存器分为2类,普通寄存器和状态寄存器,如表1-1所列。表1 - 1  ARM寄存器

2016-01-20 18:06:01 393

转载 Main函数参数argc,argv说明

原文地址:http://wiki.opencv.org.cn/index.php/Main%E5%87%BD%E6%95%B0%E5%8F%82%E6%95%B0argc%EF%BC%8Cargv%E8%AF%B4%E6%98%8EC/C++语言中的main函数,经常带有参数argc,argv,如下:int main(int argc, char** argv)int main(

2016-01-20 18:03:44 394

转载 【编程好习惯】精确包含头文件

原文地址:http://yunli.blog.51cto.com/831344/275313/请注意这里用的是“精确”而不是“正确”,之所以不说正确,那是因为如果头文件没有被正确地包含的话,编译器是不会生成最终的目标代码的。那用精确一词想表达除正确之外的什么意思呢?包含两层意思。第一层意思是,只包含必需的头文件。图1是一个简单的示例程序,先让我们假设这个文件只有

2016-01-20 18:01:57 246

转载 嵌入式程序员面试问题集锦

原文:http://blog.csdn.net/haiwil/article/details/7067284这个测试适于不同水平的应试者,大多数初级水平的应试者的成绩会很差,经验丰富的程序员应该有很好的成绩。为了让你能自己决定某些问题的偏好,每个问题没有分配分数,如果选择这些考题为你所用,请自行按你的意思分配分数。   预处理器(Preprocessor)  1 . 用预处

2016-01-20 17:51:08 255

转载 C语言 内存中结构体字节对齐

原文:http://blog.csdn.net/haiwil/article/details/7070593一、字节对齐作用和原因:对齐的作用和原因:各个硬件平台对存储空间的处理上有很大的不同。一些平台对某些特定类型的数据只能从某些特定地址开始存取。比如有些架构的CPU在访问一个没有进行对齐的变量的时候会发生错误,那么在这种架构下编程必须保证字节对齐,其他平台可能没有这种情况,但是

2016-01-20 17:46:56 272

转载 如何在IAR中通过Watch窗口观察局部变量的值

原文地址:http://www.cnblogs.com/wx865220862/archive/2013/03/27/2984168.html最近在用430开发一款产品,在软件调试的时候发现Watch窗口中无法观察局部变量的值,总是显示,下面通过一个简答的例子说明一下现象:#include "msp430g2553.h"/* Global variable */

2016-01-20 17:44:39 2378

转载 c函数调用过程原理及函数栈帧分析

原文地址:http://blog.csdn.net/zsy2020314/article/details/9429707今天突然想分析一下函数在相互调用过程中栈帧的变化,还是想尽量以比较清晰的思路把这一过程描述出来,关于c函数调用原理的理解是很重要的。1.关于栈        首先必须明确一点也是非常重要的一点,栈是向下生长的,所谓向下生长是指从内存高地

2016-01-20 17:40:10 271

转载 局部变量、全局变量、堆、堆栈、静态和全局

原文地址http://www.cnblogs.com/shineqiujuan/archive/2009/05/15/1457178.html  局部变量、全局变量、堆、堆栈、静态和全局--------------------------------------------------------------- 一般全局变量存放在数据区,局部变量存放在栈区, 动态变

2016-01-20 17:38:28 305

转载 堆和栈的区别

一、预备知识—程序的内存分配    一个由C/C++编译的程序占用的内存分为以下几个部分    1、栈区(stack)—   由编译器自动分配释放   ,存放函数的参数值,局部变量的值等。其    操作方式类似于数据结构中的栈。    2、堆区(heap)   —   一般由程序员分配释放,   若程序员不释放,程序结束时可能由OS回    收   。注意它与数据结构中的堆是两

2016-01-20 17:35:44 199

转载 堆栈的深度理解

接触过编程的人都知道,高级语言都能通过变量名来访问内存中的数据。那么这些变量在内存中是如何存放的呢?程序又是如何使用这些变量的呢?下面就会对此进行深入的讨论。下文中的C语言代码如没有特别声明,默认都使用VC编译的release版。 首先,来了解一下 C 语言的变量是如何在内存分部的。C 语言有全局变量(Global)、本地变量(Local),静态变量(Static)、寄存器变量(Reg

2016-01-14 18:06:36 4141

转载 CPU与内存的那些事

下面是网上看到的一些关于内存和CPU方面的一些很不错的文章. 整理如下:转: CPU的等待有多久?原文标题:What Your Computer Does While You Wait原文地址:http://duartes.org/gustavo/blog/[注:本人水平有限,只好挑一些国外高手的精彩文章翻译一下。一来自己复习,二来与大家分享。]   本文以

2016-01-14 18:02:55 434

转载 嵌入式系统的BootLoader技术浅析_启动过程

论文导读::嵌入式系统是以应用为中心、以计算机为基础、软硬件可裁剪。即启动过程可分为阶段1和阶段2两个部分。技术概述。论文关键词:嵌入式系统,启动过程,BootLoader技术  一 BootLoader技术概述  嵌入式系统是以应用为中心、以计算机为基础、软硬件可裁剪,适用于系统对功能、可靠性、成本、功耗严格要求的专用计算机系统。计算机系统都具有相应的引导程序,对于嵌入式系统在执

2016-01-12 18:04:58 4998

转载 程序运行 IROM、IRAM

关于程序运行 IROM、IRAM题目大意是在下列选项中,三星的ARM的s5pv210的芯片可以执行程序的存储器有那些?a、IROMb、IRAMc、nand flashd、SDRAM给的答案是a、b、d------解决方案--------------------(1)BL0:是指S5PV210的iROM中固化的启动代码        作用:

2016-01-12 18:02:15 1265

转载 单片机指令是如何执行的

单片机指令是如何执行的与电脑差不多,读入数据后,依据半导体进行逻辑运算,并把结果输出。单片机的基本结构运算器:用于实现算术和逻辑运算。计算机的运算和处理都在这里进行;控制器:是计算机的控制指挥部件,使计算机各部份能自动协调的工作;存储器:用于存放程序和数据;(又分为内存储器和外存储器,内存储器就如我们电脑的硬盘,外存储器就如我们的U盘)输入设备:用于

2016-01-11 19:40:06 1819 1

转载 简析cpu

cpu是数字处理系统中的一个重要环节。在我看来,单片机、微处理器、dsp都可以称作是cpu,只是它们的侧重点有所不同罢了。具体来说,传统意义上的单片机更偏重于嵌入式的计算,比如说我们经常使用的51、avr、arm芯片中不仅仅含有了运算和控制功能,它还涵盖了定时器、串口、并口、usb、i2c总线等外部资源。dsp呢,cpu一般只是作为dsp的一个核存在,它通常还会包含另外一个核,专门用于数字信号的处

2016-01-11 19:35:00 244

转载 IAR 单步调试很慢

Q: 用IAR开发stm32f103,发现单步调试的快慢和设定的栈大小有关系,当栈设定较小时单步调试就很快,当栈设定的很大的时候,单步调试就特别特别慢,当栈设定到 100K 的时候几乎就卡死了(实际上没有)。这是为什么啊???请大侠指点迷津。A: 因为单步的时候,IAR会更新你的变量区.也就是每单步一次,IAR就读一次ARM的RAM区,把需要的数据读到界面上显示给你

2016-01-05 13:55:09 806

转载 IAR 单步调试很慢

Q:用IAR开发stm32f103,发现单步调试的快慢和设定的栈大小有关系,当栈设定较小时单步调试就很快,当栈设定的很大的时候,单步调试就特别特别慢,当栈设定到 100K 的时候几乎就卡死了(实际上没有)。这是为什么啊??? 请大侠指点迷津。A:因为单步的时候,IAR会更新你的变量区. 也就是每单步一次,IAR就读一次ARM的RAM区,把需要的数据读到界面上显示给你. 所以,如果你要观

2016-01-05 13:43:24 1121

转载 U盘安装CentOS 7.0图文详解教程

记录下U盘安装CentOS 7.0安装过程,供Linux新手参考。U盘安装Linux简单又环保,推荐大家使用。安装前准备:1、CentOS 7.0 64位系统:CentOS-7.0-1406-x86_64-DVD.isoCentOS-7.0-1406 ISO境像下载地址: http://www.linuxidc.com/Linux/2014-07/104146.htm2、Ult

2015-12-21 09:46:26 7288

转载 Linux bit 操作

1int find_first_zero_bit(void * addr, unsigned size);int find_next_zero_bit(void * addr, int size, int offset);找到0bit时,各平台都返回0~size-1在x86下,没有找到0bit时,返回size在arm下,没有找到0bit时,则返回size+1所以通用的判断方

2015-12-14 20:27:18 507

转载 Linux内核spin_lock、spin_lock_irq、spin_lock_irqsave

在Linux内核中何时使用spin_lock,何时使用spin_lock_irqsave很容易混淆。首先看一下代码是如何实现的。spin_lock的调用关系     spin_lock             |           + ----->  raw_spin_lock [cpp] view plaincopystatic inli

2015-12-14 20:24:26 375

转载 Linux多任务编程

Linux下多任务介绍首先,先简单的介绍一下什么叫多任务系统?任务、进程、线程分别是什么?它们之间的区别是什么?,从而可以宏观的了解一下这三者,然后再针对每一个仔细的讲解。什么叫多任务系统?多任务系统指可以同一时间内运行多个应用程序,每个应用程序被称作一个任务。任务定义:任务是一个逻辑概念,指由一个软件完成的任务,或者是一系列共同达到某一目的的操作。进程定义:进程是

2015-12-07 20:18:02 717

转载 Linux学习-等待队列

由于学习linux驱动编程,学习到了堵塞型IO读写,等待队列的操作比较的有意思,拿来分析分析,其中的一些代码还是蛮有意思的,感受到了linux的美,体会到了艺术家和一般程序员的差别。我就简要的分析分析等待队列的一些问题,就相当于自己的总结吧。边学驱动,边学内核,还是蛮有意思的。1、等待队列的定义,包括两个,等待队列头,节点。struct __wait_queue

2015-12-07 20:12:24 279

转载 linux等待队列之wait_event和wake_up

1. 关于 wait_event_interruptible() 和 wake_up()的使用    读一下wait_event_interruptible()的源码,不难发现这个函数先将 当前进程的状态设置成TASK_INTERRUPTIBLE,然后调用schedule(), 而schedule()会将位于TASK_INTERRUPTIBLE状态的当前进程从runqueue 

2015-12-07 20:07:38 574

转载 解析 STM32 的启动过程

解析STM32的启动过程当前的嵌入式应用程序开发过程里,并且C语言成为了绝大部分场合的最佳选择。如此一来main函数似乎成为了理所当然的起点——因为C程序往往从main函数开始执行。但一个经常会被忽略的问题是:微控制器(单片机)上电后,是如何寻找到并执行main函数的呢?很显然微控制器无法从硬件上定位main函数的入口地址,因为使用C语言作为开发语言后,变量/函数的地址便由编译器在编译时自

2015-11-25 15:35:58 523

转载 如何从linux内核上预留DDR物理内存

luther@gliethttp:~$ vim /proc/iomem00100000-5bf0ffff : System RAM00100000-00575553 : Kernel code00575554-0078d307 : Kernel data0081a000-008a809f : Kernel bss可以看到kernel code和data,bss使用的ram就

2015-11-17 11:54:02 4837

转载 C 文件读写操作

文件文件的基本概念  所谓“文件”是指一组相关数据的有序集合。 这个数据集有一个名称,叫做文件名。 实际上在前面的各章中我们已经多次使用了文件,例如源程序文件、目标文件、可执行文件、库文件 (头文件)等。文件通常是驻留在外部介质(如磁盘等)上的, 在使用时才调入内存中来。从不同的角度可对文件作不同的分类。从用户的角度看,文件可分为普通文件和设备文件两种。  普通文件是指驻留在磁盘或

2015-11-16 14:51:50 664

转载 shell批处理中利用vi设置文件的fileformat

dos格式文件传输到unix系统时,会在每行的结尾多一个^M,即dos文件中的换行符“\r\n”会被转换为unix文件中的换行符“\n”,而此文件若是一个可执行文件的话,会导致此文件不能被执行,转换的方式有下面一个:  Python代码  vi exec.sh  :set ff=unix(或者:set fileformat=unix)  :wq

2015-11-10 20:52:18 582

空空如也

空空如也

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

TA关注的人

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