- 浏览: 75003 次
- 性别:
- 来自: 北京
文章列表
感觉一定要理解一些基本的概念,然后在看懂汇编的基础上,再分析uboot的流程。
1.关于汇编的语法
这里有两套汇编的语法:分为ARM公司的标准ARM汇编语言和GNU对ARM支持的GNU ARM汇编。ARM标准汇编语言即ARM公司的开发工具ADS里用的汇编语言;GNU汇编即在LINUX下用GCC编译的汇编。两者语法有少许差异。因此,通常我们下载的LINUX下的ARM接口代码放到ADS下是不能编译通过的,需要进行少许修改。
GNU AS语法即AT&T汇编语法,uboot用到的语法。
2.标签的含义
.globl _start
_start: b ...
原文地址:http://hi.baidu.com/tallhandsome/blog/item/fe17f0eb712e16d4d439c9ef.html
在Linux里设置环境变量的方法(export PATH)
一般来说,配置交叉编译工具链的时候需要指定编译工具的路径,此时就需要设置环境变量。例如我的mips-linux-gcc编译器在“/opt/au1200_rm/build_tools/bin”目录下,build_tools就是我的编译工具,则有如下三种方法来设置环境变量:1、直接用export命令:#export
PATH=$PATH:/opt/au1200_rm/bu ...
寄存器是用于存放计算机运行过程中的一些重要、特殊参数和结果的存储器,有些是独立集成在CPU内,有
些则是在内部存储器中指定的存储单元,无论是哪种情况,计算机在使用它时都需要对其进行唯一识别(
选中),就必须给其一个唯一的地址。独立集成在CPU内的寄存器的地址是也是独立的(相对内存),而在
内部存储器中指定的存储单元寄存器地址则是统一的内存地址。
8051中的工作寄存器就是内部RAM中的一部份,工作寄存器,RAM,SFR统一编址。
原文地址:http://blog.sina.com.cn/s/blog_4bef07470100fw4a.html
计算机可以从时间和空间两方面来区分指令和数据,在时间上,取指周期从内存中取出的是指令,而执行周期从内存取出或往内存中写入的是数据,在空间上,从内存中取出 ...
原文地址:http://hi.baidu.com/showmewhat/blog/item/546e66f238e1ce58352accba.html
老师我已经知道对采用这两种结构的处理器而言,二者的区别是冯诺伊曼结构的程序空间(地址空间)和数据空间不分开,而哈佛结构的程序空间分开。 但是我不清楚的是:采用冯诺伊曼结构的处理器可以承担起个人电脑CPU的责任,那么采用哈佛结构的处理器呢??它是否可以作为个人电脑的CPU呢? 哈佛结构强调了总体的系统速度以及通讯和处理器配置方面的灵活性,重在对效率的要求,似乎从这点就可以看到冯诺伊曼的局限性及不足,但为什么当前的计 ...
1.Bootloader的作用
对于无OS的arm,可以将其用作一般的单片机使用。不带OS的arm另外一种开发方式就是用Bootloader来引导应用程序的下载,如通过串口或网口(具体实现依赖于Bootloader的代码功能)。
要在arm上运行OS,就必须要有Bootloader了。之所以依赖Bootloader引导内核,是因为ARM无法完成大系统映像的下载工作,而Bootloader下载可以有更多的自由度,可以制定内核映像和文件系统映像的下载地址等。Bootloader的职责包括硬件检测、硬件初始化和加载kernel,这些工作按照功能可以分为两个部分:硬件检测和初始化功能实现作为sta ...
1.结构体
(1)结构体变量的初始化,就是在定义结构体变量的同时,对其成员变量进行赋值。初始化形式不能用于赋值语句。
(2)对结构体变量的引用由三种形式:
结构体变量名.结构体成员名
(*结构体指针名).结构体成员名
结构体指针名->结构体成员名
2.链表
链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。整个链表有一个头指针指向链表中的第一个节点,最后一个节点 ...
1.指针变量的初始化
int a,*pa;
pa=&a;
或者
int a,*pa=&a;
应注意,后者初始化中的“*pa=&a”不是一个运算表达式,而是一个说明语句。在这里是将变量a的地址值付给指针变量pa,而不是*pa。
2.指针型函数和指向函数的指针
...
1.递归三要素
一个问题采用递归方法来解决,必须符合三个条件。
(1)可以把这个问题转化为一个新的问题,而这个新问题的解决方法与原问题的方法相同,只是处理的对象不同,但它们也只是有规律的递增或递减。
(2)可以通过转化过程使问题得以解决。
(3)必须有个终止递归的条件。
2.Hanoi(汉诺塔问题)
n个盘子,A,B,C三根针,要求借助B,将A针上的n个盘子移动到C上,n个盘子大小不等,且大的在下,小的在上。
解决的步骤可以分为两类操作:
(1)将n-1个盘子从一个针移动到另一个针上(n>1)。
(2)将一个盘子从一个针移动到另一个针上。
#include ...
1.C语言数据类型
1.1 C语言有32个关键字
(1) 数据类型关键字(12个):char、double、enum、float、int、long、short、signed、struct、union、unsigned、void;
(2) 控制语句关键字(12个):break、case、continue、default、do、else、for、goto、if、return、switch、while;
(3) 存储类型关键字(4个):auto、extern、register、static;
(4) 其它关键字(4个):const、sizeof、typedef、volatile。
1 ...
一、环境
WindowsXP
Apache http://httpd.apache.org/download
MySql http://dev.mysql.com/downloads/mysql/
Php http://www.php.net/downloads.php
我下载的相关版本分别为:apache_2.2.4-win32-x86-no_ssl.zip,mysql-essential-5.1.48-win32.msi,php-5.2.13-Win32.zip。
二、安装和配置
1.Apache
基本是默认安装,关键是配置,打开安装路径下conf/http ...
1.关于TCP/IP协议
TCP/IP协议簇中的协议并不是平面分布,而是层次分布的,包括:
应用层:HTTP、SMTP和FTP等。
传输层:TCP传输控制协议(面向连接)和UDP用户数据报协议(面向无连接)。
互联层:网际协议IP。
网络接口层。
多个TCP连接或多个应用程序进程可能需要同一个TCP协议端口传输数据。为了区别不同的应用程序进程和连接,许多计算机操作系统为应用程序与TCP/IP协议交互提供了socket接口。
2.关于socket接口
socket用于描述IP地址和端口,常用的socket有两种:
流式socket(SOCK_STREAM):是最常用 ...
1.抽象类和抽象方法
包含抽象方法的类叫做抽象类。若果一个类包含一个或多个抽象方法,该类必须被限定为抽象的,即抽象类中的方法可以不都是抽象方法。
2.Interface
Interface关键字产生一个完全抽象的类,它根本就没有任何具体的实现。Interface不仅仅是一个极度抽象的类,因为它允许人们通过创建一个能被向上转型为多种基类的类型。
当要使用一个接口时,在接口中定义的方法必须被定义为public。
3.完全解耦
只要一个方法操作的是类而不是接口,那么你就只能使用这个类或其子类,若果你想将这个方法应用于不再此继承结构中的某个类,就可以使用接口实现。
4.接口与设计模式
( ...
一、复用类
1.super关键字
Java用super关键字表示超类的意思,当前类就是从超类继承来的。如果没有默认的基类构造器,或者想调用一个单参数的基类构造器,必须用super关键字显示的编写调用基类构造器的语句。
2.@override注解
Java SE5中增加了@override注解,它并不是关键字。当你想要覆写某个方法时,可以选择添加这个注解,在你不留心重载而非覆写了该方法时编译器会报错。(overload为重载)。@override注解可以防止你在不想重载时而意外的进行了载。
3.final关键字
(1)final数据编译期常量必须是基本数据类型,并且以final关键字表 ...
1.Java或C++抓屏->H264编码->RTMP传输到FMS(ERD5)。
2.类似于虚拟摄像头的抓屏驱动程序 + FMS(RED5) + Flash Player。3.FVNC(基于Flash Player的VNC客户端) + VNC。