自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

尹宣_liang的嵌入式成长之路

爱比被爱深刻,记录自己每一步成长的同时我们也在深刻的成长.....

  • 博客(31)
  • 资源 (22)
  • 收藏
  • 关注

原创 C语言深度解剖(精讲版)——读书笔记20 &&自己的一些理解

第四章   指针和数组一.地址的强制转换先看下面的例子:struct Test{    int     Num;    char   *pcName;    short   sDate;    char   cha[2];    short   sBa[4];  }*p;假设p的值为0x100000 ,那么下面这些表达式的值分别是多少?1).p+ 0

2012-04-30 18:59:35 984

原创 C语言深度解剖(精讲版)——读书笔记19 &&自己的一些理解

第四章  指针和数组再论a 和 &a之间的区别:char   a[5]={'A','B','C','D'};   首先强调1个知识点:a 和 &a的值是相同的,但是意义不相同;a是数组首元素的首地址; &a是整个数组首地址;下面来看一下:int main(){ char a[5]={'A','B','C','D char (*p3)[3] = &a;

2012-04-30 00:36:00 1858

原创 C语言深度解剖(精讲版)——读书笔记18 -指针数组&&数组指针

第四章  指针和数组指针数组和数组指针(这是我特别容易忘记搞混的内容)一.指针数组  和数组指针 的内存布局指针数组:首先它是一个数组,数组的元素都是指针,数组占多少字节由数组本身决定。它是“存储指针的数组”的简称。数组指针:首先它是一个指针,它指向一个数组。在32位系统下永远是占4个字节,至于它指向的数组占多少字节并不知道。它是“指向数组的指针”的简称;[我来说说自己的简记方

2012-04-29 22:35:31 1279

原创 C语言深度解剖(精讲版)——读书笔记17 &&自己的一些理解

第四章  指针和数组指针和数组的特性总结:区别要点指针数组存储的内容保存数据的地址,任何存入指针变量p的数据都会被当做地址来处理。p本身的地址由编译器另外存储,存储在哪,我们不知道保存数据,数组名a代表数组首地址。&a才是整个数组的首地址。a本身的地址由编译器另外存储,存储在哪里,我们并不知道。访问数据的方式间接访问数据,首先取得

2012-04-29 21:55:53 685

原创 C语言深度解剖(精讲版)——读书笔记16 &&自己的一些理解

第四章    指针和数组指针和数组之间的恩恩怨怨一.以 指针|| 下标形式访问我们先来详细讨论他们之间的一些特点:例如,函数内部有如下定义:(a)char * p = "abcdef ";(b)char a[ ] = "123456";1.以指针的形式访问指针 && 以下标的形式访问指针(a)定义了一个指针变量p, p本身在栈上占4个字节,p里存储的是一块内存的首地址。

2012-04-29 20:47:19 838

原创 C语言深度解剖(精讲版)——读书笔记15 &&自己的一些理解

第四章 指针和数组数组一.数组的内存布局先看下面的例子:int  a[5];  数组示意图:数组包含5个int类型的数据  a作为右值时,代表数组首元素的首地址,而非数组的首地址;如图我们定义一个数组a时,编译器根据指定的元素个数和元素类型分配确定大小的一块内存(大小为:元素类型大小*元素个数),并把这块内存的名字命名为a。名字a一旦与这

2012-04-29 17:02:57 677

原创 C语言深度解剖(精讲版)——读书笔记14 &&自己的一些理解

第四章   指针和数组指针一.指针的内存布局先来看下面的例子:  int  *p;sizeof(p)=4 ;  这说明“咔”出的p的模子为4字节,显然这个模子不是“int”,虽然它的大小为4.既然不是int,那就一定是“int *”;下面我们来讨论“int *”;         一个“int *”类型的模子在内存上占4个字节的空间,然后把这个4字节大小的空间命名为p,同时限定

2012-04-29 13:11:41 859

原创 C语言深度解剖(精讲版)——读书笔记13 &&自己的一些理解

第三章 预处理“##”预算符和“#”运算符一样,“##”运算符可以用于宏定义函数的替换部分。这个运算符把两个语言符号组合成1个语言符号。看例子:#define   XNAME(n)    vo ##d如果这样使用宏: XNAME(i)则会被展开成: void“##”就是粘合的作用,将前后两部分粘合在一起; 网上关于这个符号找不到任何信息,想补充一些例子.....难!。。。

2012-04-28 22:36:34 702

原创 C语言深度解剖(精讲版)——读书笔记12 &&自己的一些理解

第三章  预处理因为这一节的读书笔记是关于:内存对齐的,我觉着《C语言深度解剖》这本书关于这个主题讲得不太清楚,所以自己再看了一些资料,读到了一篇关于内存对齐研究的好文章(链接):内存对齐的规则以及作用 verygood!的一篇文章!  在读完此篇文章的基础上写下,下面的读书笔记。 我们可以利用#pragma  pack()来改变编译器的默认对齐方式:#pragma  pack(n

2012-04-28 21:50:49 700

转载 内存对齐的规则以及作用 verygood!的一篇文章!

原文转自:http://www.cppblog.com/snailcong/archive/2009/03/16/76705.html 首先由一个程序引入话题://环境:vc6 + windows sp2//程序1#include using namespace std; struct st1 { char a ;

2012-04-28 21:14:33 1335

原创 C语言深度解剖(精讲版)——读书笔记11 &&自己的一些理解

第三章  预处理条件编译知识点一:条件编译的功能使得我们按不同条件去编译不同程序部分,因而产生不同的目标代码文件。这对程序的移植和调试很有用的。条件编译有3种形式:(1)第一种形式:#ifdef  标识符程序段1#else程序段2#endif上面这种形式的功能是:如果标识符已被#define命令定义过,则对程序段1进行编译;否则对程序段2进行编译。(2)

2012-04-28 20:40:14 807

原创 C语言深度解剖(精讲版)——读书笔记10 &&自己的一些理解

第三章    预处理 知识点一:预处理指令预处理名称意义#define宏定义#undef撤销已定义过的宏名#if#endif#if 的一般含义是:如果#if后面的常量表达式为true ,则编译它与#endif之间的代码,否则跳过这些代码 #else#else 命令的功能有点像C语

2012-04-28 13:20:14 1028 2

原创 C语言深度解剖(精讲版)——读书笔记9 &&自己的一些理解

第二章   符号 知识点一:反斜杠(\)的两种用途:反斜杠\有两种用途:1.  “接续符"   ----编译器会将反斜杠剔除掉,跟在反斜杠后面的字符自动接续到前一行;(注意:反斜杠之后不能有空格,反斜杠的下一行之前不能有空格)看看下面的例子:cha\r* s="这是一个合法的\\n字符串";2.用作转义字符的开始标识。  例如:\n   \t  \b 知

2012-04-27 23:03:41 868

原创 C语言深度解剖(精讲版)——读书笔记8 &&自己的一些理解

第二章   符号 注释符号知识点一:几个似是而非的注释问题C语言的注释可以出现在C语言代码的任何地方,这句话对不?好,我们来从下面的例子分析中找出答案:例: (a) int /*....*/i;                 (b)char  *s="abcdefg     //hijklmn";                 (c) //Is it  a \

2012-04-27 20:50:02 905

原创 C语言深度解剖(精讲版)——读书笔记7 &&自己的一些理解

第一章 :关键字union   关键字知识点一:    在union中所有的数据成员共用一个空间,同一时间只能存储其中一个数据成员,所有数据成员具有相同的起始地址。例如:            union    StateMachine            {                     char   character;

2012-04-27 11:23:05 1050 1

原创 C语言深度解剖(精讲版)——读书笔记6 &&自己的一些理解

第一章: 关键字最易变的关键字----volatile说到volatile的易变让我想起了一个星座....你猜才是什么星座?--- 双子座!双子座的人是一个多变性格出了名的;volatile用它修饰的变量表示可以被某些编译器未知的因素更改,比如:操作系统、硬件、线程 其他等;遇到这个关键字声明的变量,编译器对访问该变量的代码不再进行优化,从而可以提供对特殊地址的稳定访问。先看看下面

2012-04-26 22:30:01 957

原创 C语言深度解剖(精讲版)——读书笔记5 &&自己的一些理解

第一章: 关键字const关键字----或许叫它readonly更合适const 的缩写:constant  “恒定不变”的意思。也翻译为常量或常数,所以被认为const修饰的值是常量。这种想法不太精确。更精确的说:const是修饰只读变量;其值在编译时不能被使用,因为编译器不知道其存储的内容。 知识点一:const 产生的初始目的是:为了取代预编译指令,消除它的缺点、继承它的

2012-04-26 21:48:32 948

原创 收获1

1.这个世界成功人的总是少数,我们都只是平凡的人,我们需要有一种平凡且进取的心态去生活,不要期望有多少付出就一定有多少回报,相信没有付出就没有回报就可以了。2.搞清楚以下九个顺序,做事不费力职场:先升值,再升职;沟通:先求同,再求异;执行:先完成,再完美

2012-04-26 09:47:19 686

原创 C语言深度解剖(精讲版)——读书笔记4 &&自己的一些理解

第一章 关键字void关键字(感言:很多人认为 void无需重视,其实它很重要)知识点一:void * 则为“空类型指针”,void *可以指向任何类型的数据;void 真正的作用:对函数返回的限定;对函数参数的限定;举例:如果指针p1 和p2的类型相同,那么我们可以直接在p1和p2间相互赋值;如果p1和p2指向不同数据类型,则必须使用强制类型转换运算符把赋值运算符右边的指

2012-04-25 22:15:25 816

原创 C语言深度解剖(精讲版)——读书笔记3 &&自己的一些理解

第一章 关键字知识点一:break 和continue的区别关键字                                 区别break表示:终止本层循环continue表示:终止本次循环(即:本轮循环终止,进入下一轮循环) 这个我一直记性不好:特别再写一下,加深记忆:while(){} ;  f

2012-04-25 21:22:24 929 1

原创 C语言深度解剖(精讲版)——读书笔记2 &&自己的一些理解

第一章:关键字知识点一:最“小气”的关键字----static         关键字static在C语言中主要有2个作用:作用一:修饰变量         变量又分为全局变量和局部变量,但它们都存在内存的静态区;修饰变量的类型

2012-04-25 18:21:24 1412 2

原创 C语言深度解剖(精讲版)——读书笔记1 &&自己的一些理解

第一章:关键字翻开第一页:这里有32个关键字的标准定义,我这里只选几个我在校笔试经常考到的和自己还不太记得的:关键字意义static声明静态变量const声明只读变量volatile说明变量在执行过程中可以被隐含地改变typedef用于给数据类型取别名register声明寄存器变量

2012-04-25 17:14:22 1334

原创 内核Kconfig 与 Makefile 文件分析

一.内核构造系统简介        内核是个复杂庞大的系统,对它进行配置、裁剪、编译原本非常地复杂和困难,但现在却只需要简单的两个命令:(1)make  menuconfig  ;(2)make  uImage 就搞定了,原因是在其背后有一个设计精巧的内核构造系统帮助我们精确的完成了各项任务。内核构造系统最关键的组成元素就是各个目录下的Kconfig 文件和 Makefile文件,本节将对这两

2012-04-25 11:36:26 6727

原创 为S3C2440移植内核

1.修改晶振频率       S3C2440支持两种频率:12MHZ 和16MHZ.目前市面上出售的开发板大多使用的是12MHZ的晶振,而内核源代码采用的是16MHZ频率,从而产生了错误的PCLK,因此导致内核向串口输出数据时使用了错误的比特率(正确的应该是),这样在超级终端上看到的就是乱码。因此我们只须修改内核源代码中的晶振频率即可。       将内核顶层目录下的 arch /arm/

2012-04-24 22:23:24 1688

原创 ubifs文件系统的制作过程&&遇到的问题及解决方案总结---之三“UBIFS镜像的制作&&烧写”

一、移植环境§主机:vmware-redhat5     §开发板:mini2440--256MB nandflash§kernel:2.6.29     编译器:arm-linux-gcc-4.3.2.tgz    §uboot: u-boot-2008.10  二、制作ubifs镜像步骤1:将文件系统制作成 ubifs镜像文件,需要使用mkfs.ubifs工具,

2012-04-19 16:23:26 10100 4

原创 ubifs文件系统的制作过程&&遇到的问题及解决方案总结---之二“Linux内核中添加对UBIFS文件系统的支持”

一、移植环境§主机:vmware-redhat5     §开发板:mini2440--256MB nandflash§kernel:2.6.29     编译器:arm-linux-gcc-4.3.2.tgz    §uboot: u-boot-2008.10  二.移植步骤1.在内核顶层目录下使用命令:make menuconfig ,进入内核配置菜单,添加对U

2012-04-19 13:55:19 5223 1

原创 ubifs文件系统的制作过程&&遇到的问题及解决方案总结---之一“uboot中添加对UBIFS文件系统的支持”

为了更好的理解ubifs根文件系统的制作,首先,我们简单的说一下,系统的组成:Bootloader(uboot)parames(启动参数)kernel(内核)root Filesystem(根文件系统)bootloader(uboot)的作用就是用来加载操作系统;而嵌入式linux系统由linux内核和根文件系统两部分构成,两者缺一不可。

2012-04-18 21:34:06 5422 1

原创 原创和转载的感想

最近两个星期在移植ubi 和yaffs2根文件系统,遇到很多问题,没时间空出来总结思考写博文,但是看了这么多资料尤其是ubi文件系统的搜起来N对个页面的搜索结果,但是其实里面的资料缩减起来最多不超过5篇原创的其他都是转来转去,抄来抄去的,所以找下来很累。。。于是的我又有感想了:普通人写“(转载)别人的博客”;而大师写“自己原创的博客!”(博客仅限技术类)

2012-04-13 16:01:15 807 1

转载 内核移植出现的错误&&解决方法

转载自:http://bbs.chinaunix.net/thread-2033313-1-1.html 出现问题:## Starting application at 0x30008000 ...Uncompressing Linux.............................................................解决方案:se

2012-04-09 00:17:20 1320

原创 You have new mail in /var/spool/mail/root 烦不烦你?

有时在进入系统的时候经常提示You have new mail in /var/spool/mail/root你觉得烦人---解决方法:修改系统配置文件/etc/profile,告诉系统不要去检查邮箱.具体操作:命令行输入:echo "unset MAILCHECK" >> /etc/profile 【把unset MAILCHECK加到文件/etc/profile 的尾部】然后重新登

2012-04-04 11:24:44 84503 5

原创 关于-/bin/sh:xx(命令) not found 的几种原因和解决办法

编写背后:昨天移植无线网卡到mini2440基本完成到最后一步:用命令:iwlist scanning  搜索网络时串口终端却出现了 -/bin/sh: iwlist  not  found ,后来请教老范老师点拨知道是库问题,最后自己找到问题、解决问题,才有此引发有所总结...... 关于-/bin/sh:xx(命令) not found  的几种原因:1./bin/目录下没有这个命令;

2012-04-01 12:57:23 223922 3

DS18B20 程序 及其中文 英文数据手册

DS18B20 程序 及其中文 英文数据手册

2013-12-23

DMA- FHASH和RAM 数据传输

利用DMA- FHASH和RAM 数据传输达到节省CPU资源 同时提高传输速率目的;

2013-12-06

stm32 选型手册官方最新

stm32 stm8 选型手册官方最新 最详细最具体的stm32 stm8 型号选择

2013-12-02

stm32f100cb

stm32f100cb 芯片在线升级程序IAP 源代码

2013-10-30

iap+app 结合成一个.hex文件

iap生成的hex文件 与 app的hex 结合成一个.hex文件

2013-10-30

stm32 IAP源码

都说ST官方上有源码怎么找都只找到对应的IAP 的pdf而已,没有找到相应的源码,后来在其他网站还是下载到了,针对stm32f10xx系列的;

2013-10-24

.net Framework 3.5 4.0 4.5版本

.net Framework 3.5 4.0 4.5版本

2013-10-15

SigmaStudioHelp_3.0(中文)

关于DSP 的技术文档,留住入门DSP 控制用作备份;DSP核心技术都在里面了解;

2013-10-15

LPC1768例程

LPC1768外设全部开发例程;应有尽有! 适合开发者 初学者使用,配上我的LPC1768芯片手册: http://download.csdn.net/detail/yx_l128125/4282616 --完美!

2013-06-19

SysTick系统定时器

stm32 SysTick系统定时器应用代码 已编译成功!

2012-08-19

stm32 普通定时器应用实例

利用stm32普通定时器 每1秒钟led闪烁一次

2012-08-17

GPIO工程-点亮led.rar

STM32 点亮led简单工程 结合我的博文 STM32菜鸟学习-GPIO使用

2012-08-12

奋斗版STM32开发板JTAG下载步骤.pdf

提供了stm32烧写程序进开发板的两个方法操作,有图!

2012-08-12

基于MDK的STM32处理器开发应用

STM32入门经典教程 书里面结合了大量好的例子讲解;初学者必读

2012-08-06

库函数-STM32F10xxx_Library_Manual_ChineseV2

对于stm32初学者来说,不需要看繁琐的资料,一本固件库函数手册搞定

2012-08-05

jre-1_5_0_22-windows-i586-p.exe

在windows 下使用打开视频的java插件

2012-05-21

LPC1768芯片中文手册

LPC1700中文手册 可以查找关于lpc1768芯片等 一系列lpc1700 的芯片信息

2012-05-07

servfox-R1_1_3.tar.gz

使用servfox构建嵌入式视频监控服务器很好的工具,谁用谁知道!

2012-05-06

webcam_server-0.50.tar.gz

视频监控,客户接收端、能够进行视频的解码和显示

2012-05-03

lzo-2.05.tar.gz

制作ubifs根文件系统必备工具之三:lzo-2.05.tar.gz

2012-04-20

libacl-2.2.23-5.4.el4.i386.rpm

制作ubifs根文件系统必须安装的工具之二:libacl-2.2.23-5.4.el4.i386.rpm

2012-04-20

mtd-utils-d055f1c.tar.gz

制作ubifs文件系统必须安装的工具之一

2012-04-20

空空如也

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

TA关注的人

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