自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(63)
  • 资源 (6)
  • 收藏
  • 关注

转载 ES PS TS 流的区别

编码器出来的信号是ES流 ,复用器是把ES流变成TS流不知道这么理解对不对,还有我想问下数字卫星接收机出来的信号是SDI呢还是什么类型,模拟卫星接收机出来的又是什么类型呢   忽然之间脑袋一团浆糊~~~~请高手解答ES是原始码流,包含视频、音频或数据的连续码流。TS是

2011-09-04 16:47:41 14779 3

原创 关于Micro2440配置内核驱动模块make menuconfig的问题备忘

<br />最近发现一个问题:<br />我把Micro2440光盘中提供的linux2.6.32源码包放到虚拟机中,解压后,进入linux2.6.32.2目录下,运行make menuconfig,在出现<br />的内核配置菜单中的device driver/character driver中,看不到MINI2440_BUTTONS、MINI2440_ADC等模块,但是在driver/char目<br />录的Kconfig文件中,友善自己有添加这两个模块,我是完全按照手册来做的,请问是为什么会出现这种

2011-03-04 10:20:00 4097 2

原创 关于Unable to halt ARM core

<br />s3c2440核心板做好之后,一直无法使用J-LINK下载Bootloader 到norflash中,出现错误提示:<br />Unable to halt ARM core<br /> <br />这个问题困扰了我们一周多,今天终于找到了原因。<br /> <br />其实针对这个问题,晚上有很多说法。<br />主要是说可能是reset 没成功,或者nWAIT没有上拉等,造成没有成功停止CPU内核,于是JTAG无法正常与CPU通信。因此无法烧写程序到flash。<br /> <br />但是

2011-02-22 20:25:00 7510 1

转载 简单分析一下uboot的主要数据结构

<br />转自http://zqwt.012.blog.163.com/blog/static/12044684201031385921253/<br /> <br />//现在,我们可以简单分析一下uboot的主要数据结构<br />//uboot的主要功能是引导OS的,但是本身也提供强大的其他功能,可以通过输入命令来完成许多操作,所以它本身也是一个比较完备的系统。<br />//uboot的大部分操作都是围绕其自身的数据结构,这些数据结构都是通用的,但是不同的板子初始化这些数据就不一样了,所以uboo

2011-01-06 15:44:00 1816

原创 U-boot-2009.03移植之十四:支持norflash启动

<br /> <br />之前我经过移植之十三篇文章,实现了大部分功能,实际上目前我的uboot还有两个主要功能没有实现。<br />1:norflash 和 nandflash 兼容启动,自动识别<br />2:对于nandflash的读写和擦出操作,因为目前把在内存中运行这的内核烧写到nand还不成功<br />针对这两个问题做一些研究,今天解决了第一个问题,特记录一下。<br />首先,关于uboot如何自动识别norflash和nandflash的方法,参看我转的另一篇博文《在U-boot下实现自动

2011-01-05 10:49:00 2115

转载 U-Boot启动过程完全分析

<br /><br />1.1       U-Boot工作过程<br /> <br />U-Boot启动内核的过程可以分为两个阶段,两个阶段的功能如下:<br />       (1)第一阶段的功能<br />Ø  硬件设备初始化<br />Ø  加载U-Boot第二阶段代码到RAM空间<br />Ø  设置好栈<br />Ø  跳转到第二阶段代码入口<br />       (2)第二阶段的功能<br />Ø  初始化本阶段使用的硬件设备<br />Ø  检测系统内存映射<br />Ø  将内核

2011-01-04 14:49:00 775

原创 使用J-LINK烧写mini2440 NORFLASH

<br />今天成功使用j-link烧写了superVivi 到mini2440的norflash,使用的是j-flash arm 软件,需要设置工程属性里面的一些东西,其中很重要的一步是输入启动脚本,这个脚本的内容可以参考mini2440光盘中H-JTAG启动配置文件内容。一定要disable MMU,详细方法参考arm9之间中的一篇资料《j-link 烧写 Micro 2440 Norflash》

2010-12-29 15:56:00 2660

转载 在U-boot下实现自动识别启动Flash的原理(针对S3C24x0)

一、启动识别nand boot or Nor boot(此办法已废止,更好的方法如下)找到识别 nand boot 和 nor boot 的方法,其实也是在自己犯的一个错误中找到的。当我在使用nand boot的时候,想使用操作Nor flash的命令,但是一用就死机,我一开始以为是操作flash的程序错了.<br />但我找了半天都没有找到错误,最后终于发现:原来这是S3C2440芯片的机制的问题,在硬件上设为Nand boot的时候,作为Nor boot的那个分区没有被映射到相应的地址.<br />也就

2010-12-29 13:43:00 793

转载 u-boot nand flash read/write cmd 调用关系和用法

<br /><br />参考:http://blog.csdn.net/flylonginsky/archive/2008/08/22/2812242.aspx<br />支援的命令函數說明<br />1. nand info/nand device<br />功能:顯示當前nand flash晶片資訊。<br />函數調用關係如下(按先後順序):<br />static void nand_print(struct nand_chip *nand) ;<br />2. nand erase<br />功能

2010-11-26 15:56:00 1607

转载 U-BOOT下使用bootm引导内核方法

<br />原文转自http://linux.chinaunix.net/techdoc/system/2008/09/01/1029296.shtml<br /> <br />一、在开始之前先说明一下bootm相关的东西。                                                           <br />1、<br />首先说明一下,S3C2410架构下的bootm只对sdram中的内核镜像文件进行操作(好像AT91架构提供了一段从flash复制内核镜像的代码

2010-11-26 15:47:00 746

转载 U-Boot启动内核分析

<br />原文转自http://blog.chinaunix.net/u1/53103/showart_1148319.html先来引用一下这篇介绍“ARM Linux内核启动要求”的文章ARM Linux Kernel Boot Requirements,是ARM Linux内核的维护者Russell King写的。<br /><br />QUOTE:    * CPU register settings<br />          o r0 = 0.<br />          o r1 = ma

2010-11-26 15:45:00 647

转载 mini2440开发全过程

<br /><br />一。移植U-Boot-2008.10到友善之臂mini2440 <br />http://blog.chinaunix.net/u3/96581/showart_1934276.html<br />1. U-Boot移植 <br />1.1移植准备<br />1.1.1  添加开发板的配置选项 <br />1.1.2  在/board子目录中建立自己的开发板mini2440目录 <br />1.1.3  在include/configs/中建立配置头文件 <br />1.1.4  测

2010-11-26 14:03:00 1920

原创 U-boot-2009.03移植之十三:第三阶段——支持DM9000网口芯片

<br />同在mini2440.h里,修改Hardware drivers的定义:<br />/*<br /> * Hardware drivers<br /> */<br />//#define CONFIG_DRIVER_CS8900 1 /* we have a CS8900 on-board */<br />//#define CS8900_BASE  0x19000300<br />//#define CS8900_BUS16  1 /* the Linux driver does access

2010-11-25 10:46:00 1003

原创 U-boot-2009.03移植之十二:第二阶段——支持128M Nandflash

<br /><br />1)对cpu/arm920t/s3c24x0里的nand.c进行如下修改:<br />#include <common.h><br />#if 0<br />#define DEBUGN printf<br />#else<br />#define DEBUGN(x, args ...) {}<br />#endif<br />#if defined(CONFIG_CMD_NAND)<br />#if !defined(CFG_NAND_LEGACY)<br />#include <

2010-11-25 09:22:00 1025

原创 U-boot-2009.03移植之十一:第一阶段之支持2440

<br /><br />经过前面的一些列修改,大部分文件已经改得差不多了。<br />到了这个阶段,主要是修改一些宏,已经针对2440特有的一些寄存器和特性做一些添加。使UBOOT支持2440<br /> <br />这部分主要参考:<br />http://home.eeworld.com.cn/my/space.php?uid=135723&do=blog&id=25347<br />(1)/include/common.h文件的第492行:/*一些公用的常用函数,例如get_fclk()*/<br /

2010-11-25 09:05:00 834

原创 U-boot-2009.03移植之十:第一阶段之修改/board/samsung/mini2440/mini2440.c

<br /><br /> <br />参考http://zjbintsystem.blog.51cto.com/964211/211345<br /> 需要注意的是,为了引导内核,需要制定开发板类型代码,因此加上了这几句:<br />#if defined(CONFIG_S3C2440)<br />/* arch number of S3C2440-Board */<br />    gd->bd->bi_arch_number = MACH_TYPE_S3C2440 ;<br />#endif<br />

2010-11-24 20:13:00 866

原创 U-boot-2009.03移植之九:第一阶段之lowlevel_init.S的理解和修改

接下来对board/samsung/mini2440/lowlevel_init.s这个文件进行修改。这个文件主要设置ARM的存储器控制器,这几个控制器包括存储控制器,总线带宽控制器等。设置了这写东西后,ARM才能正常的对nand nor ram等存储空间进行访问。为了支持2440,需要修改BWSCON,mini2440 BANK0接NOR Flash,BANK4接DM9000,BANK6接RAM,对于mini2440,只要修改B4_BWSCON即可,为了配合其他板,这里统一修改如下:...#define

2010-11-24 14:51:00 3270

原创 U-boot-2009.03移植之八:第一阶段之nand_read.c的理解和修改

在board/samsung/mini2440加入NAND Flash读函数文件,这个文件主要支持uboot从nand中拷贝自身到ram中。uboot中代码搬移部分,所使用的语句  @ copy U-Boot to RAM    ldr    r0, =TEXT_BASE    mov    r1, #0x0    mov    r2, #LENGTH_UBOOT    bl    nand_read_ll    tst    r0, #0x0    beq    ok_nand_read实现代码从nand

2010-11-24 14:11:00 3719 1

原创 U-boot-2009.03移植之七:第一阶段之mini2440.h的理解和修改

移植u-boot-2009.03的第一阶段是支持2440。在对start.s的修改之后,接下来是修改include/configs/mini2440.h 文件附录上修改后文件的源码可以看出,这个文件主要定义了跟mini2440板子密切相关的一些宏定义。分别是:1:High Level Configuration Options 高级配置选项,包括CPU等2:Size of malloc() pool  内存池3:Hardware drivers 在这个部分屏蔽了以前对8900网络芯片的支持,改为对DM900

2010-11-23 17:16:00 1389 1

原创 U-boot-2009.03移植之六:对一些关键标号的理解以及start.s中代码重定向原理

<br /> <br />由于一个可执行的Image必须有一个入口点,并且只能有一个全局入口,通常这个入口放在ROM(Flash)的0x0地址,因此,必须通知编译器以使其知道这个入口,该工作可通过修改<br />连接器脚本来完成。<br />1. board/samsung/mini2440/uboot.lds: ENTRY(_start) ==> cpu/arm920t/start.o (.text)<br />以下附上board/samsung/mini2440/uboot.lds源码<br />OUT

2010-11-23 14:32:00 1230 1

原创 U-boot-2009.03移植之五:第一阶段之start.s详解

如前文U-boot-2009.03移植之四中所讲,第一阶段,也就是支持2440的阶段,首先要做的事情就是修改/cpu/arm920t/start.s start.s 源码注解参考http://blog.chinaunix.net/u1/34474/showart.php?id=2217073如何添加支持2440修改参考http://blog.csdn.net/Charistain_huang/archive/2010/04/09/5469007.aspx(针对u-boot-2009,但是有不少错误,尤其是对

2010-11-23 11:19:00 1788

原创 U-boot-2009.03移植之四:第一阶段(支持2440)各步骤简要目录

<br />u-boot-2008.10 依然没有提供对S3C2440的支持,为了添加对2440的支持,需要修改以下几个地方,此为移植第一阶段:<br />1): /cpu/arm920t/start.s 改动将在以后逐行讲解,没有讲到的保持不变<br />2):board/smdk2440/lowlevel_init.s<br />3):board/smdk2440/smdk2440.c 去掉对时钟的修改<br />4):smdk2440目录修改:<br />5):在 /include/configs/s

2010-11-22 16:02:00 969

原创 U-boot移植之三:开发板平台配置(u-boot-2009.03)

<br /><br />经过之前的主Makefile分析可以知道,Makefile中绝大部分内容是针对特定平台的配置语句,也就是那些 XXX_config目标。<br />我们首先要建立起一个适合于自己平台,在这里为mini2440,的外壳,然后能够编译通过生成可执行文件。那么这个适合于我们mini2440的UBOOT的外壳就已经生成了,只是,它的内容还不能支持2440,后面会讲到设计内容的修改。<br /> <br />这篇文章主要讲如何做这个外壳,也就是,针对mini2440做一个配置。<br /> <

2010-11-22 15:23:00 1106

原创 U-boot移植之二:预备知识

<br /><br />本文旨在阐述一些移植之前应该掌握的基本知识,参考:<br />http://home.eeworld.com.cn/my/space.php?uid=135723&do=blog&id=25347<br /> <br />1.       首先,U-Boot1.3.4还没有支持s3c2440,移植仍是用2410的文件稍作修改而成的。<br />2.       2440和2410的区别:<br />2440和2410的区别主要是2440的主频更高,增加了摄像头接口和AC‘97音频接口

2010-11-22 15:16:00 1165

原创 U-boot移植之一:分析Makefile

<br /> <br />学习UBOOT首先得学习Mafefile,推荐一篇文章《跟我一起写写Makefile》。<br />uboot 的makefile分主目录中的主makefile和各级目录中的子Makefile,移植Uboot,得理解主makefile以及其整体架构。<br /> <br />主makefile主要干两件事:<br />1:配置适合特定平台的各种参数和文件<br />2:制定make规则,生成uboot.bin<br />关于对makefile的分析,主要参考:<br />u-boo

2010-11-21 11:18:00 1941 1

原创 一些有关UBoot移植的重要文章

<br />很齐全很详细的有关UBOOT移植和使用的文章 :<br />http://blog.chinaunix.net/u1/34474/showart_2212066.html<br />mini2440 u-boot-2009.03 移植最详细攻略<br />http://blog.csdn.net/Charistain_huang/archive/2010/04/09/5469007.aspx<br /> <br /> <br />移植u-boot-1.3.4到S3C2440<br />http:

2010-11-21 09:52:00 934

转载 shapefile格式说明及读写代码示例(C++)(转)

<br /><br />hapefile格式说明及读写代码示例<br />Shape files 数据说明<br />Shape files 是 ESRI 提供的一种矢量数据格式,它没有拓扑信息,一个 Shape files 由一组文件组成,其中必要的基本文件包括坐标文件( .shp )、索引文件( .shx )和属性文件( .dbf )三个文件。<br />坐标文件的结构说明<br />坐标文件 (.shp) 用于记录空间坐标信息。它由头文件和实体信息两部分构成(如图 2.1 所示)。<br />坐标文件

2010-10-21 21:08:00 7845 1

转载 Qt中的多线程编程(转)

<br />Qt作为一种基于 C++ 的跨平台 GUI 系统,能够提供给用户构造图像用户界面的强大功能。为了满足用户构造复杂图像界面系统的需求,Qt提供了丰富的多线程编程支持。从 2.2 版本开始,Qt主要从下面三个方面对多线程编程提供支持:一、构造了一些基本的和平台无关的线程类;二、提交用户自定义事件的 Thread-safe方式;三、多种线程间同步机制,如信号量,全局锁。这些都给用户提供了极大的方便。不过,在某些情况下,使用定时器机制能够比利用 Qt本身的多线程机制更方便地实现所需要的功能,同时也避免了

2010-10-21 16:07:00 736

转载 ptr = malloc(0*sizeof(char));

<br /><br />最近,看了有关malloc(0)的返回值以及其他一些问题的讨论,我把自己的感受和看法记录如下:<br />问题:char* ptr = malloc(0*sizeof(char));<br />if(NULL == ptr)<br />      printf("got a NULL pointer");<br />else<br />     printf("got a Valid pointer");<br />请问:上面的程序输出为什么?在C99的标准里面解释到,如果给mall

2010-09-29 15:47:00 2151

转载 x86-qtopia应用程序编写及到arm板的移植

x86-qtopia应用程序编写:平台:友善之臂Mini2440 + 3.5“LCD1.进入x86-qtopia,创建文件夹hello_test;2.按照x86-qtopia/qtopia-2.2.0-FriendlyARM/setQpeEnv设置环境变量;3.使用qtopia-2.2.0-FriendlyARM/tmake/bin/progen 创建一个名为hello.pro的工程文件;#./progen -t app -o hello.pro将该hello.pro移动到hello_test文件夹下;4.

2010-09-27 09:51:00 1184

原创 用栈实现 表达式求值的运算源码

说明:在控制台输入一个表达式后,以#结尾// Evaluate.cpp : Defines the entry point for the console application.//#include "stdafx.h"#define STACK_SIZE 100#define BIG 1#define SMALL -1#define EQUAL 0//#define TRUE 1//using namespace std;class Stack{public:Stack();~Stack();void

2010-09-10 11:27:00 546

原创 华为编程大赛之括号匹配

<br />输入一个字符串表达式,判断括号匹配<br />例如:{}{}{}【】【】(){【】}  匹配<br />{【{】}}  不匹配<br /> <br />使用堆栈实现,源码如下:<br /> <br />#include <stdio.h><br />#include <stdlib.h><br />#include <string.h><br />#include <windows.h><br />//typedef char* PCHAR;<br />#define STACK_SIZE 10

2010-08-25 11:57:00 1048 1

原创 C语言实现 排序源程序(包括直接插入、希尔、冒泡、快速、简单选择、堆排序)

<br />在WINDOWS2000/XP,TC2.0下调试通过<br />#include "stdlib.h"<br />#include <stdio.h><br />#define s 100<br />typedef struct record<br />{int key;};<br />static  struct record a1[s],a2[s],a3[s],a4[s],a5[s],a6[s],rec;<br />int a[7],b[7];<br />file()<br /> {<br

2010-08-23 00:04:00 889

原创 C++写的模板类链表基本操作

<br /><br />template <typename Type> <br />class SingleList <br />{ <br />public: <br />SingleList():head(new ListNode <Type>()){} <br />~SingleList(){ <br />MakeEmpty(); <br />delete head; <br />} <br />public: <br />void MakeEmpty();                 

2010-08-06 09:57:00 966

原创 C语言实现双向链表的基本操作

<br />#include<stdio.h><br />#include<stdlib.h><br />#define TRUE 1<br />#define OK 1<br />#define FALSE 0<br />#define ERROR 0<br />#define NULL 0<br />#define OVERFLOW 0<br />typedef int ElemType;<br />typedef int Status;<br />typedef struct DuLNode<br /

2010-08-05 15:23:00 849 1

转载 C头文件和C++头文件的关系

<br /><br />所以,实际来说,下面是C++头文件的现状: <br />旧的C++头文件名如 <iostream.h>将会继续被支持,尽管它们不在官方标 准中。这些头文件的内容不在名字空间std 中。 <br />新的C++头文件如 <iostream>包含的基本功能和对应的旧头文件相同,但头文件的内容在名字空间std 中。(在标准化的过程中,库中有些部分的细节被修改了,所以旧头文件和新头文件中的实体不一定完全对应。) <br />标准C 头文件如 <stdio.h>继续被支持。头文件的内容不在st

2010-07-31 09:42:00 770

转载 qmake详解

<br /><br />1.简介:<br />  qmake是Trolltech公司创建的用来为不同的平台和编译器书写Makefile的工具。是qt工具包的一部分.在Unix&linux上写程式的人大概都碰过Makefile。用 make 来开发和编译程式的确很方便,可是要写出一个 Makefile就不简单了,手写Makefile是比较困难并且容易出错的,这阻挡了很多一部分的linux爱好者加入linux程序开发的阵营。<br />  虽然Open Source Software也有GNU Automake

2010-07-30 23:02:00 825

原创 自己写的一个LINUX 下目录文件遍历程序

<br /><br />#include <stdio.h><br />#include <sys/stat.h><br />#include <unistd.h><br />#include <fcntl.h><br />#include <dirent.h><br />#include <stdlib.h><br />#include <sys/types.h><br />int lsdir(char *filepath , int ntap)<br />{<br /> struct stat  buf

2010-07-30 23:00:00 1090

原创 递归函数的概念用法与实例

<br />一、栈<br />     在说函数递归的时候,顺便说一下栈的概念。<br />     栈是一个后进先出的压入(push)和弹出(pop)式数据结构。在程序运行时,系统每次向栈中压入一个对象,然后栈指针向下移动一个位置。当系统从栈中弹出一个对象时,最近进栈的对象将被弹出。然后栈指针向上移动一个位置。程序员经常利用栈这种数据结构来处理那些最适合用后进先出逻辑来描述的编程问题。这里讨论的程序中的栈在每个程序中都是存在的,它不需要程序员编写代码去维护,而是由运行是系统自动处理。所谓的系统自动维护,实

2010-07-30 22:58:00 14652 3

原创 onst, static ,auto,define, resgister ,extern

<br /><br />Const: 常量类型1、什么是const?常类型是指使用类型修饰符const说明的类型,常类型的变量或对象的值是不能被更新的。(当然,我们可以偷梁换柱进行更新:) 2、为什么引入const?const 推出的初始目的,正是为了取代预编译指令,消除它的缺点,同时继承它的优点。 3、cons有什么主要的作用?(1)可以定义const常量,具有不可变性。 例如:const int Max=100; int Array[Max];(2)便于进行类型检查,使编译器对处理内容有更多了解,消除了

2010-07-30 22:57:00 7195

NVIDIA_CUDA_Programming_Guide_2.0Final

很详细的NVIDIA官方CUDA编程指南。中文版,对于学习CUDA编程人的无疑是一个宝贵的资料

2010-02-03

c语言写的fft程序

这是一个VC6.0先的win32 consonl application 工程,可以直接运行。 源代码为c语言写的一个fft算法。加入了时间测试函数,输出结果是毫秒。 对64M长数据做了fft运算,可以从结果看出,还是很快的!

2010-01-06

mini2440 按键中断驱动LED程序

使用按键中断驱动LED灯的程序。工程文件,可以直接运行。便于理解中断机制。

2010-01-05

《linux初学者指南》

本书是专门为入门级定制的,是Linux初级培训的最佳教材。本书提供足够的信息是人们使用和喜爱Linux,能够是初学者从无到有,主见加速进入Linux的广大空间,是用户学会进行基本的Linux操作,使用X WINDOW图形界面,掌握VI 等各种文本编辑技巧和熟练运用shell编程。在次基础上,初学者可以步入系统管理的殿堂。

2009-10-11

mini2440开发板原理图

目前国内最为流行的ARM9开发板mini2440原理图,对初学者掌握开发板硬件架构比较有帮助

2009-10-11

魔兽争霸.bmp格式图标,可用于程序设计

可爱个性的魔兽图标,每个图标是48*48像素,可用于VC程序设计个性化界面

2009-05-19

空空如也

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

TA关注的人

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