自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 资源 (1)
  • 收藏
  • 关注

转载 U-BOOT环境变量实现 --转帖

1.相关文件common/env_common.c供u-boot调用的通用函数接口,它们隐藏了env的不同实现方式,比如dataflash, epprom, flash等 common/env_dataflash.cenv 存储在dataflash中的实现 common/env_epprom.cenv 存储在epprom中的实现 common/env_f

2010-01-19 09:38:00 1054

转载 u-boot源码分析 --- 启动第二阶段 ,基于2410 启动代码 分析

我们先来看初始化函数表: init_sequencelib_arm/board.c:typedef int (init_fnc_t) (void);init_fnc_t *init_sequence[] = {    cpu_init,       /* basic cpu dependent setup */    board_init,     /* basic board

2010-01-19 09:37:00 730

转载 U-Boot如何为内核设置启动参数--转帖

大家都知道U-Boot启动的时候会将启动参数的地址放入R2中,然后再启动内核。我们看看这些参数是如何设置的。首先看两个重要的数据结构:第一个是global_data,定义在include/asm-arm/global_data.h文件中:typedef    struct    global_data {    bd_t        *bd;    unsigned long    flags;

2010-01-14 14:27:00 814

转载 uboot第2阶段分析 start_armboot--转帖

通过前面的分析,知道第2阶段代码主要是start_armboot,首先我们先介绍几个比较重要的结构体。这里主要是对start_armboot中的流程做具体的分析,我的uboot-2009-06.至于具体的代码分析将在后面的文章中介绍。1.gd_t全局数据结构,主要保存了uboot的配置信息。include/asm-arm/global_data.h中定义:typedef struct gl

2010-01-14 14:26:00 833

转载 U-boot-13.0-rc3 cpu/pxa/start.S 分析

#include #include #include //global声明一个符号可被其它文件引用,相当于声明了一个全局变量,.globl与.global相同。//该部分为处理器的异常处理向量表。地址范围为0x0000 0000 ~ 0x0000 0020,刚好8条指令。.globl _start_start: b    reset    ldr    pc, _undefined_instruc

2010-01-13 21:57:00 682

转载 U-Boot的移植U-Boot Practically Porting Guide(转)

U-Boot的移植之(一)基础篇:添加新的目标板定义本文使用最新的U-Boot-1.3.0-rc2。U-Boot本身支持很多开发板,在其源代码中,每个板子都对应一个board/目录下的文件夹(笔者注:这并不确切,因为有的文件夹是供应商名称,下面可以有多个目标板目录,这里只考虑最简单的情况),以及include/configs/目录下的目标板配置头文件。因此,要添加U-Boot对我们的目标板的支

2010-01-13 21:29:00 721

转载 uboot-2009.01的start.S详细注解及分析

@参考天行者的vivi源码分析@参考两只蝴蝶的u-boot-1.1.6之cpu/arm920t/start.s分析/* *  armboot - Startup Code for ARM920 CPU-core * *  Copyright (c) 2001 Marius Gr鰃er  *  Copyright (c) 2002 Alex Z黳ke  *  Copyright (c) 2002 G

2010-01-13 21:23:00 794

转载 u-boot的Makefile详细分析-转帖

U-BOOT是一个LINUX下的工程,在编译之前必须已经安装对应体系结构的交叉编译环境,这里只针对ARM,编译器系列软件为arm-linux-*。U-BOOT的下载地址: http://sourceforge.net/projects/u-boot我下载的是1.1.6版本,一开始在FTP上下载了一个次新版,结果编译失败。1.1.6是没问题的。u-boot源码结构    解压就可以得到全部u

2010-01-06 21:58:00 736

转载 u-boot启动代码start.S详解-补充

U-BOOT一、U-BOOT的目录结构u-boot目录下有18个子目录,分别存放管理不通的源程序。这些目录中所要存放的文件有其规则,可以分成三类。■第一类目录与处理器体系结构或者开发板硬件直接相关;■第二类目录是一些通用的函数或者驱动程序;■第三类目录是u-boot的应用程序、工具或者文档。Board:和一些已有开发板相关的文件,比如Makefile和u-

2010-01-06 14:00:00 579

转载 u-boot启动代码start.S详解

 u-boot启动代码start.S详解  1)定义入口。由于一个可执行的Image必须有一个入口点,并且只能有一个全局入口,通常这个入口放在ROM(Flash)的0x0地址,因此,必须通知编译器以使其知道这个入口,该工作可通过修改连接器脚本来完成。(2)设置异常向量(Exception Vector)。(3)设置CPU的速度、时钟频率及终端控制寄存器。(4)初

2010-01-06 13:59:00 868

转载 链接器脚本

****************************************************************************** 链接器脚本 ****************************************************************************** 链接器脚本控制每个链接过程,这种脚本使用链接器命令语言。 链接器的主

2010-01-06 13:05:00 1358

转载 U-Boot启动的函数调用过程(以arm926ejs为例)

调用链如下,后面是文字解说: reset -> cpu_init_crit -> lowlevel_init (板子相关)           -> relocate (将U-boot重定位到RAM)           -> stack_setup           -> clear_bss           -> start_armboot() (C程序) -> main_loop()

2010-01-06 13:04:00 699

转载 U-boot如何启动内核

我们用的u-boot已经改的面目全非,不过核心还是完全相同的,换了个面目而已。开源的好处,想改就改来玩玩。不过流程还是人家的。u-boot通过bootm命令来启动内核,这个命令的处理函数是do_bootm,这个函数处理的是uboot-mkimage制作的映像,如果正好这个映像是内核,那么它就会调用do_bootm_linux函数,并在该函数中给内核传递参数并调用内核入口函数来启动内核。下面就来

2010-01-06 13:00:00 921

转载 VC:CString用法整理(转载)

1.CString::IsEmpty BOOL IsEmpty( ) const; 返回值:如果CString 对象的长度为0,则返回非零值;否则返回0。 说明:此成员函数用来测试一个CString 对象是否是空的。 示例: 下面的例子说明了如何使用CString::IsEmpty。 // CString::IsEmpty 示例 CString s; ASSER

2009-09-21 13:49:00 359

转载 串口通讯流控制

串口通讯流控制         我们在串行通讯处理中,常常看到RTS/CTS和XON/XOFF这两个选项,这就是两个流控制的选项,目前流控制主要应用于MODEM的数据通讯中,但对普通RS-232编程,了解一点这方面的知识是有好处的.那么,流控制在串行通讯中有何作用,在编制串行通讯程序怎样应用呢?这里我们就来谈谈这个问题。流控制在串行通讯中的作用:这里讲到的"流",当然指的是数据流.数据在两

2009-09-07 10:44:00 911

转载 GPRS开发资源

http://www.cppblog.com/zhangyq/archive/2008/08/07/58148.htmlhttp://www.mcuol.com/tech/117/29691.htmhttp://topic.csdn.net/t/20061013/19/5081106.htmlhttp://topic.csdn.net/u/20080916/20/3F0CAC0F-C4DF-4D1

2009-08-27 15:46:00 550

转载 C语言中的可变参数

 我们在C语言编程中会遇到一些参数个数可变的函数,例如printf()这个函数,它的定义是这样的:   int printf( const char* format, ...);  它除了有一个参数format固定以外,后面跟的参数的个数和类型是可变的,例如我们可以有以下不同的调用方法:   printf("%d",i);   printf("%s",s);   printf("the num

2009-08-26 19:45:00 406

转载 标准C获得文件大小的5种方法

2009-08-26 16:46#include "stdafx.h"#include #include #include int getfilesize(){    int iresult;    struct _stat buf;    iresult = _stat(__FILE__,&buf);    if(iresult == 0)    {   

2009-08-26 19:39:00 729

转载 extern 用法小结

2009-08-26 15:18extern 用法 2007-09-04 19:22:05 1 基本解释  extern可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。  另外,extern也可用来进行链接指定。2 问题:extern 变量  在一个源文件里定义了一个数组:char a[6];  

2009-08-26 19:27:00 393

转载 const,static,extern,volatile的用法

2009-04-26 22:131.const的用法:为什么使用const?采用符号常量写出的代码更容易维护;指针常常是边读边移动,而不是边写边移动;许多函数参数是只读不写的。const最常见用途是作为数组的界和switch分情况标号(也可以用枚举符代替)用法1:常量取代了C中的宏定义,声明时必须进行初始化。const限制了常量的使用方式,并没有描述常量应该如何分配。如

2009-08-26 19:26:00 377

转载 IEEE浮点数表示法

IEEE浮点数表示法-------------------------------------------------float 共计32位(4字节)由最高到最低位分别是第31、30、29、......、0位31位是符号位,1表示该数为负,0反之30~23位,一共8位是指数位(-128~127)22~ 0位,一共23位是尾数位每8位分为一组,分成4组,分别是A组、 B组、 C组、

2009-08-26 19:22:00 606

转载 static用法小结

引用:static用法小结 2007-09-02 09:03:37 static关键字是C, C++中都存在的关键字, 它主要有三种使用方式, 其中前两种只指在C语言中使用, 第三种在C++中使用(C,C++中具体细微操作不尽相同, 本文以C++为准). (1)局部静态变量 (2)外部静态变量/函数 (3)静态数据成员/成员函数 下面就这三种使用方式及注意事项分别说明 一、局部静态变量 在C/

2009-08-26 19:21:00 303

转载 sprintf 的用法

sprintf 将字串格式化。  在头文件 #include中  语法: string sprintf(string format, mixed [args]...);  传回值: 字串  1. 处理字符方向。-负号时表时从后向前处理。  2. 填空字元。 0 的话表示空格填 0;空格是内定值,表示空格就放着。  3. 字符总宽度。为最小宽度。  4. 精确度。指在小数

2009-08-26 19:17:00 311

转载 常用数据类型使用转换详解

读者层次:初学刚接触VC编程的朋友往往对许多数据类型的转换感到迷惑不解,本文将介绍一些常用数据类型的使用。我们先定义一些常见类型变量借以说明int i = 100;long l = 2001;float f=300.2;double d=12345.119;char username[]="程佩君";char temp[200];char *buf;CString str;_variant_t

2009-08-26 19:15:00 317

转载 C++字符串拷贝函数(所有性能已在g++和vc下测试)

1. void bcopy(const void *src, void *dest, size_t n);功能: 拷贝n字节内容从src到dest说明: 该函数在内存重叠情况下仍然正常,该函数建议不再使用,而是用memcpy代替返回值: 无 2. void *memcpy(void *dest, const void *src, size_t n);功能: 拷贝n字节内容从

2009-08-26 19:11:00 818

转载 vc字符串函数大全

bcmp(比较内存内容) 相关函数   bcmp,strcasecmp,strcmp,strcoll,strncmp,strncasecmp表头文件   #include定义函数   int bcmp ( const void *s1,const void * s2,int n);函数说明   bcmp()用来比较s1和s2所指的内存区间前n个字节,若参数n为0,则返回0。返回值 

2009-08-26 19:09:00 497

转载 VC CString 字符串处理函数的应用

CString 里的一些函数与VB里字符串处理的函数很多都是类似的。1.CString::IsEmptyBOOL IsEmpty( ) const;返回值:如果CString 对象的长度为0,则返回非零值;否则返回0。说明:此成员函数用来测试一个CString 对象是否是空的。示例:下面的例子说明了如何使用CString::IsEmpty。// CS

2009-08-26 19:07:00 466

转载 VC中字符串和数字转换的函数

http://blog.chinaunix.net/u1/42145/showart_327438.htmlvc中字符串和数字转换的函数:atoi,atol,strtod,strtol,strtoul 类型转换 atoi,atol,strtod,strtol,strtoul实现类型转换atof(将字符串转换成浮点型数)相关函数atoi,atol,strtod,strtol,

2009-08-26 19:02:00 495

转载 深入浅出VC++串口编程之基于Win32 API

http://dev.yesky.com/401/2308901.shtml1、API描述  在WIN32 API中,串口使用文件方式进行访问,其操作的API基本上与文件操作的API一致。  打开串口  Win32 中用于打开串口的API 函数为CreateFile,其原型为:HANDLE CreateFile ( LPCTSTR lpFileName, /

2009-08-26 19:01:00 501

转载 CreateEvent的用法

HANDLE     CreateEvent(           LPSECURITY_ATTRIBUTES     lpEventAttributes,     //     SD           BOOL     bManualReset,                                                 //     reset     type     

2009-08-26 18:56:00 5405 1

转载 COMMTIMEOUTS结构

COMMTIMEOUTS:COMMTIMEOUTS主要用于串口超时参数设置。COMMTIMEOUTS结构如下: typedef struct _COMMTIMEOUTS { DWORD ReadIntervalTimeout; DWORD ReadTotalTimeoutMultiplier; DWORD ReadTotalTimeoutConstant; DWORD WriteTotalTime

2009-08-26 18:55:00 666

转载 串口通讯中的DCB结构

typedef struct _DCB { // dcb          DWORD DCBlength;           // sizeof(DCB)          DWORD BaudRate;            // current baud rate 指定当前的波特率         DWORD fBinary: 1;          // binary mode, no

2009-08-26 18:53:00 518

转载 使用Visual C++进行串口通信编程--2

(3)    串行数据的发送和接收与普通的文件操作相同,在对串行口进行操作时,通常利用ReadFile函数读取串行口收到的数据,利用WriteFile将需要发送的数据写如串行口。n        串行数据的接收利用ReadFile函数可以读取将串行口接收到的数据。ReadFile函数原型如下:BOOL ReadFile(HANDLE hFileLPVIOD   lpBuff

2009-08-26 18:51:00 931

转载 使用Visual C++进行串口通信编程--1

 利用Visual C++在windows环境下设计异步串行通信程序可以使用不同的方法。一种方法可以使用windows系统提供的串行口API函数;另一种方法可以直接使用Microsoft公司提供的ActiveX控件MSCOMM.OCX。利用MSCOMM.OCX控件进行串行口程序设计相对比较简单,只要对该控件的属性、事件和方法进行设置和操作,就能完成简单的串行通信功能。而直接使用windows系

2009-08-26 18:43:00 846

转载 常用数据类型使用转换详解

转贴:(不是俺 写的)                     常用数据类型使用转换详解     作者:程佩君             --------------------------------------------------------------------------------     读者层次:初学         刚接触VC编程的朋友往往对许多数据类型的转换感到迷惑不解,本文

2009-08-18 20:43:00 348

转载 CString Char Byte之间的转换

  在VC中,CSTRING类的用法形式多样,丰富多彩.但有时与传统数据类型之间的转换成为了很多人的难题.下面我来简单介绍它们之间的关系.1 如何实现cstring与char*之间的转换:  CString   m_cstr="abc";     char*   m_char="def";     char*   lp=m_cstr.GetBuffer(m_cstr.GetLeng

2009-08-14 10:14:00 863

转载 MFC C++/C 中的String char CString Int 之间的转换

CString,int,string,char*之间的转换  string 转 CString  CString.format("%s", string.c_str());    char 转 CString  CString.format("%s", char*);    char 转 string  string s(char *);    str

2009-08-10 21:18:00 596

原创 输入一组数,输出其中有多少个负数。

1.输入一组数,输出其中有多少个负数。 程序代码如下:#include int main(){ int sum = 0, value;  std::cout  while (std::cin >> value) {  if (value    sum++;  } } std::cout  return 0;} 2. 提示用户输入两个数,并将这两个数之间的每个数输出。

2009-07-23 18:32:00 1622

转载 关于For循环的学习

请比较下面两个FOR循环的优缺点 1.for(i=1;i{  if(condition)   dosomething();  else   dootherthing();}2.if(condition){for (i=1;i   dosomething()}else{for (i=1;i    dootherthing()}  解答:其实这2段代码的效率问题是差不多的,因为要判

2009-07-22 20:00:00 525

简单串口编程代码 (C++)

对于刚刚接触串口编程,可以先看看这个简单的代码。

2009-08-26

空空如也

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

TA关注的人

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