心心程序博客

眼过千遍不如手过一遍! 书看千行不如手敲一行! 手敲千行不如单步一行! 单步源代码千行不如单步对应汇编一行!

导航

2011年6月24日

(转)HEX文件和BIN文件格式的区别

摘要: HEX文件和BIN文件格式的区别HEX文件和BIN文件是我们经常碰到的2种文件格式。下面简单介绍一下这2种文件格式的区别:1 - HEX文件是包括地址信息的,而BIN文件格式只包括了数据本身在烧写或下载HEX文件的时候,一般都不需要用户指定地址,因为HEX文件内部的信息已经包括了地址。而烧写BIN文件的时候,用户是一定需要指定地址信息的。3 - BIN文件格式对二进制文件而言,其实没有”格式”。文件只是包括了纯粹的二进制数据。4 - HEX文件格式HEX文件都是由记录(RECORD)组成的。在HEX文件里面,每一行代表一个记录。记录的基本格式为:+----------------------- 阅读全文

posted @ 2011-06-24 21:19 心心程序博客 阅读(2283) 评论(0) 推荐(0) 编辑

(转载)ARM基础知识(强烈推荐)

摘要: ARM基础知识一ARM处理器共有37个寄存器。其中包括: **31个通用寄存器,包括程序计数器(PC)在内。这些寄存器都是32位寄存器。 **6个状态寄存器。这些寄存器都是32位寄存器。 ARM处理器共有7种不同的处理器模式,每一种模式中都有一组相应的寄存器组。在任何时刻,可见的寄存器包括15个通用寄存器(R0-R14),一个或两个状态寄存器及程序计数器(PC)。在所有的寄存器中,有些是各模式公用一个物理寄存器,有一些寄存器各模式拥有自己独立的物理寄存器。 **************************************************** 通用寄存器 ********** 阅读全文

posted @ 2011-06-24 21:15 心心程序博客 阅读(998) 评论(0) 推荐(0) 编辑

(转载)S3C2440A工程移植:从ADS1.2到RealView MDK

摘要: RealView MDK在中国推出已经有一段时间了,而且作为未来发展的趋势必将取代ADS1.2,成为工程师广泛应用的开发平台。但是,以前的S3C2440的项目都是由ADS开发,而且我在网上搜索并没有发现有ADS1.2工程移植的例子,只能自己摸索。而且刚刚接触嵌入式的这个部分,希望把这个成果与大家分享,让其他的人少走弯路。移植思路:不兼容问题主要在于启动的汇编代码中加入了很多的与编译器相关的调用,只需修改原有的2440init.s部分代码就可以实现。而修改Realview自身引入的s3c2440a.s启动代码修要修改的内容过多。因而,采用第一种方案。编译中出现的问题以及解决:1, .\outpu 阅读全文

posted @ 2011-06-24 21:14 心心程序博客 阅读(3454) 评论(0) 推荐(0) 编辑

(转载)(void*)0 的理解

摘要: 一般把(void*)0定义为NULL表示这是个空指针void的含义void的字面意思是“无类型”,void *则为“无类型指针”,void *可以指向任何类型的数据。众所周知,如果指针p1和p2的类型相同,那么我们可以直接在p1和p2间互相赋值;如果p1和p2指向不同的数据类型,则必须使用强制类型转换运算符把赋值运算符右边的指针类型转换为左边指针的类型。例如:float *p1;int *p2;p1 = p2;其中p1 = p2语句会编译出错,提示“'=' : cannot convert from 'int *' to 'float *'”,必 阅读全文

posted @ 2011-06-24 21:11 心心程序博客 阅读(6194) 评论(1) 推荐(1) 编辑

(转)MDK下 生成 BIN HEX 及 AXF文件方法

摘要: MDK下 生成 BIN HEX 及 AXF文件方法:hex: 在output 下面的 Create HEX file bin及axf:再user 下面的 命令编辑串口中键入如下命令User command #1: C:\Keil\ARM\BIN40\fromelf.exe --bin -o .\Obj\STM32F10X.bin .\Obj\STM32F10X.axfUser command #2: find "Total R" .\List\STM32F10X.map地址 :http://blogold.chinaunix.net/u2/76233/showart_204 阅读全文

posted @ 2011-06-24 21:10 心心程序博客 阅读(5910) 评论(0) 推荐(0) 编辑

c语言字符串 数字转换函数大全

摘要: 最近学数据结构老是做实验常用到字符串和数字的转换想找却发现网上的资料太散所以搜集整理一下 方便以后再用atof(将字符串转换成浮点型数)atoi(将字符串转换成整型数)atol(将字符串转换成长整型数)strtod(将字符串转换成浮点数)strtol(将字符串转换成长整型数)strtoul(将字符串转换成无符号长整型数)toascii(将整型数转换成合法的ASCII 码字符)toupper(将小写字母转换成大写字母)tolower(将大写字母转换成小写字母) atof(将字符串转换成浮点型数)相关函数 atoi,atol,strtod,strtol,strtoul表头文件 #include & 阅读全文

posted @ 2011-06-24 21:08 心心程序博客 阅读(144170) 评论(0) 推荐(9) 编辑

C/C++中结构体(struct)知识点强化

摘要: 为了进一部的学习结构体这一重要的知识点,我们今天来学习一下链表结构。 结构体可以看做是一种自定义的数据类型,它还有一个很重要的特性,就是结构体可以相互嵌套使用,但也是有条件的,结构体可以包含结构体指针,但绝对不能在结构体中包含结构体变量。 struct test { char name; float socre; test *next; };//这样是正确的! struct test { char name; float socre; test next; };//这样是错误的! 利用结构体的这点特殊特性,我们就可以自己生成一个环环相套的一种射线结构,一个指向另一个。 链表的学习不像想象的那么 阅读全文

posted @ 2011-06-24 21:07 心心程序博客 阅读(985) 评论(0) 推荐(0) 编辑

(转载)函数指针及函数指针数组的妙用

摘要: 笔者在开发某软件过程中遇到这样一个问题,前级模块传给我二进制数据,输入参数为 char* buffer和 int length,buffer是数据的首地址,length表示这批数据的长度。数据的特点是:长度不定,类型不定,由第一个字节(buffer[0])标识该数据的类型,共有256(28 )种可能性。我的任务是必须对每一种可能出现的数据类型都要作处理,并且我的模块包含若干个函数,在每个函数里面都要作类似的处理。若按通常做法,会写出如下代码:void MyFuntion( char* buffer, int length ){ __int8 nStreamType = buffer[0]; s 阅读全文

posted @ 2011-06-24 21:06 心心程序博客 阅读(16962) 评论(2) 推荐(1) 编辑

在KEIL中设定数组与变量的绝对地址

摘要: [ 2008-12-14 9:58:00 | By: SystemARM ]0推荐Using the __at macro that is defined in the header file absacc.h allows you to locate variables to absolute addresses as shown below:C Example: #i nclude <absacc.h>const char MyText[] __at (0x1F00) = "TEXT AT ADDRESS 0x1F00";int x __at (0x4000 阅读全文

posted @ 2011-06-24 21:03 心心程序博客 阅读(2542) 评论(0) 推荐(0) 编辑

(转载)在IAR及MDK里生成hex及bin文件的标准方法

摘要: 在IAR及MDK中生成bin及hex文件的设置方法:IAR里面--->生成bin文件:(1)在options->linker ->output->other选中->output里选择raw-binary,module-local里选择Include all,其余默认;(2) options->linker ->Extra Output->generate output file->format->output format 选择intel extended,override default 不选中,format variant 里面选 阅读全文

posted @ 2011-06-24 20:57 心心程序博客 阅读(4271) 评论(0) 推荐(0) 编辑