ARM简介及编程
ARM(Advanced RISC Machines)是微处理器行业的一家知名企业,设计了大量高性能、廉价、耗能低的RISC处理器、相关技术及软件。技术具有性能高、成本低和能耗省的特点。适用于多种领域,比如嵌入控制、消费/教育类多媒体、DSP和移动式应用等。
ARM将其技术授权给世界上许多著名的半导体、软件和OEM厂商,每个厂商得到的都是一套独一无二的ARM相关技术及服务。利用这种合伙关系,ARM很快成为许多全球性RISC标准的缔造者。
目前,总共有30家半导体公司与ARM签订了硬件技术使用许可协议,其中包括Intel、IBM、LG半导体、NEC、SONY、菲利浦和国民半导体这样的大公司。至于软件系统的合伙人,则包括微软、升阳和MRI等一系列知名公司。
ARM架构是面向低预算市场设计的第一款RISC微处理器。
2.产品介绍
ARM提供一系列内核、体系扩展、微处理器和系统芯片方案。由于所有产品均采用一个通用的软件体系,所以相同的软件可在所有产品中运行(理论上如此)。典型的产品如下。
①CPU内核
--ARM7:小型、快速、低能耗、集成式RISC内核,用于移动通信。
-- ARM7TDMI(Thumb):这是公司授权用户最多的一项产品,将ARM7指令集同Thumb扩展组合在一起,以减少内存容量和系统成本。同时,它还利用嵌入式ICE调试技术来简化系统设计,并用一个DSP增强扩展来改进性能。该产品的典型用途是数字蜂窝电话和硬盘驱动器。
--ARM9TDMI:采用5阶段管道化ARM9内核,同时配备Thumb扩展、调试和Harvard总线。在生产工艺相同的情况下,性能可达ARM7TDMI的两倍之多。常用于连网和顶置盒。
②体系扩展
-- Thumb:以16位系统的成本,提供32位RISC性能,特别注意的是它所需的内存容量非常小。
③嵌入式ICE调试
由于集成了类似于ICE的CPU内核调试技术,所以原型设计和系统芯片的调试得到了极大的简化。
④微处理器
--ARM710系列,包括ARM710、ARM710T、ARM720T和ARM740T:低价、低能耗、封装式常规系统微型处理器,配有高速缓存(Cache)、内存管理、写缓冲和JTAG。广泛应用于手持式计算、数据通信和消费类多媒体。
--ARM940T、920T系列:低价、低能耗、高性能系统微处理器,配有Cache、内存管理和写缓冲。应用于高级引擎管理、保安系统、顶置盒、便携计算机和高档打印机。
--StrongARM:性能很高、同时满足常规应用需要的一种微处理器技术,与DEC联合研制,后来授权给Intel。SA110处理器、SA1100 PDA系统芯片和SA1500多媒体处理器芯片均采用了这一技术。
深入浅出MFC
深入浅出MFC、MFC中文帮助文档、资料库、Programming Windows with MFC
pdg转pdf工具
pdg 文档转成 pdf文档工具! 我觉得挺好用的,保存起来 希望对您有帮助!
自己动手做操作系统
1.1 计算机启动过程
计算机启动过程一般是指计算机从点亮到加载操作系统的一个过程。对于IBM 兼容机(个人电
脑)来讲,这个过程大致是这样的:
1. 加电电源开关被按下时,机器就开始供电,主板的控制芯片组会向CPU(Central Processing
Unit,中央处理器)发出并保持一个RESET(重置)信号,让CPU恢复到初始状态。当芯片组
检测到电源已经开始稳定供电时就会撤去RESET信号(松开台式机的重启键是一样的效果),
这时CPU就从0xffff0处开始执行指令。这个地址在系统BIOS(Basic Input/Output System,
基本输入输出系统)的地址范围内,大部分系统BIOS厂商放在这里的都只是一条跳转指令,跳
到系统BIOS真正的启动代码处。
2. 自检系统BIOS的启动代码首先要做的事情就是进行POST(Power-On Self Test,加电后自
检),POST的主要任务是检测系统中一些关键设备是否存在和能否正常工作,例如内存和显卡
等。由于POST是最早进行的检测过程,此时显卡还没有初始化,如果系统BIOS在POST的
过程中发现了一些致命错误,例如没有找到内存或者内存有问题(此时只会检查640K常规内
存),那么系统BIOS就会直接控制喇叭发声来报告错误,声音的长短和次数代表了错误的类
型。
3. 初始化设备接下来系统BIOS将查找显卡的BIOS,存放显卡BIOS的ROM芯片的起始地址通
常设在0xC0000处,系统BIOS在这个地方找到显卡BIOS之后就调用它的初始化代码,由显卡
VS2010学生信息管理系统 C++源码
要求一个简单的界面系统,可实现对界面内显示的功能进行使用,并且用完后可重新返回界面。
主要功能一共有9项:0返回。1.编辑学生信息。2.显示学生信息。3.查询学生信息。4.更新学生信息5.添加学生信息。6.删除学生信息。7.计算学生成绩。8显示学生名次。
输入学生信息:输入信息包括学生姓名,性别,学生ID,以及学生考试的两门课的成绩。
显示学生信息:显示用户所输入所有的学生信息。
查询学生信息:查询已入录的信息,要求有按姓名查找和按ID查找两种方式。
更新学生信息:
添加学生信息:入录新的学生信息。
删除学生信心:删除指定学生的信息。
计算学生成绩:计算学生两门课的成绩,计算总分和平均成绩。
显示学生名次:对学生的总成绩进行排名,并且按照成绩从高到低的输出。
返回:返回上一层界面
Mini2440之IIS总线和DMA控制
经过几天的浴血奋战,终于把Mini2440的IIS音频输出和DMA控制看懂了个大概,现在写下来,怕以后自己忘记,也顺便给大伙瞧瞧,哪里有错误还请大家指正.......
首先说说IIS(全称Inter--IC Sound Bus)吧,这是由SONY(索尼)和PHILIPS(飞利浦)等电子巨头共同推出的一种音频总线传输方式。这么说貌似太专业了点,通俗点说吧。先来谈谈声卡这个东东,以前就是知道这个东西是用来处理声音的,但是我以前总觉得听声音一般不都是通过耳机或其他音响设备吗?对于这两类东西有啥区别,一直都不清楚,其实也正如显卡和显示器的区别一样。其实这个情况应该是这样子滴,因为声音是连续的模拟信号,而计算机能处理的却是离散的二进制数字信号,所以要想听到声音,就必须把存储在计算机中的二进制信号变成模拟信号(就理解成把一些二进制数据转变成电压或电流的变化吧),这个工作一般都是由D/A转换器去完成,所以声卡就是在里面集成D/A和A/D转换器,并且将数据交给CPU(录音)或音响(放音)。那么IIS控制器如何将得到的数据传给CPU进行处理呢?比如把声音信息存储起来....
USB2.0协议深入解读
USB是一种协议总线,即主机与设备之间的通信需要遵循一系列约定。协议内容较多,这里仅作一些简单介绍,深入学习,可参看USB规范(WWW.usb.org)。
为了理解协议中的名称,先看图10.32。该图突出了主机上的客户软件和USB逻辑设备(编程涉及的设备)之间的通信流(Communication Flow),该通信流跨越了USB驱动程序USBD、主控制器驱动程序UHCD、主控制器等硬件接口及其连接。端点(Endpoints)是USB设备的惟一可识别的部分,是主机和设备之间通信流的终点。每一个逻辑设备有若干个独立端点,每一个端点在设计时被分配一个惟一的由设备确定的标识符,称之为端点号。
如图10.32所示,将用于通信流流动的通道称为管道(Pipe),这是忽略了许多中间环节的很形象的称呼,对于理解USB系统中的信息传输很有帮助。图中把3个端点看成了一个接口,关于接口的说明安排在后面。
(二)就业模拟测试题-LINUX应用开发工程师职位
1.写一个"标准"宏MIN ,这个宏输入两个参数并返回较小的一个。[5分]
参考答案:
#define MIN(A,B) ((A) <= (B) ? (A) : (B))
解析:
这个测试是为下面的目的而设的:1) 标识#define在宏中应用的基本知识。这是很重要的。因为在 嵌入(inline)操作符 变为标准C的一部分之前,宏是方便产生嵌入代码的唯一方法,对于嵌入式系统来说,为了能达到要求的性能,嵌入代码经常是必须的方法。2)三重条件操作符的知识。这个操作符存在C语言中的原因是它使得编译器能产生比if-then-else更优化的代码,了解这个用法是很重要的。3) 懂得在宏中小心地把参数用括号括起来
2.用预处理指令#define 声明一个常数,用以表明1年中有多少秒[2分]
参考答案:
#define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL
解析:
) #define 语法的基本知识(例如:不能以分号结束,括号的使用,等等)2)懂得预处理器将为你计算常数表达式的值,因此,直接写出你是如何计算一年中有多少秒而不是计算出实际的值,是更清晰而没有代价的。3) 意识到这个表达式将使一个16位机的整型数溢出-因此要用到长整型符号L,告诉编译器这个常数是的长整型数。4) 如果你
(一)就业模拟测试题-LINUX驱动、系统底层工程师职位
1.你平常是怎么用C写嵌入式系统的死循环的? [3分]
参考答案:
while(1){//...}或者for(;;){//...{
2.写一条命令,实现在dir以及其子目录下找出所有包含“hello world”字符串的文件[2分]
参考答案:
grep -r "hello world" ./dir或者grep -rHn "hello world" ./
3.下面的两段程序中,循环能否执行?为什么?A:unsigned short i;unsigned short index = 0;for(i = 0; i <index-1; i++){ printf(“a\n”);}
ARM体系结构和编程(书)杜春雷
ARM结构和编程(书) 杜春雷 全部pdf文档
武汉创维特ARM教学系统-05 ARM存储系统
ARM所使用的存储系统技术
系统中可能包含多种类型的存储器件,如FLASH、ROM、SDRAM、SRAM等;而且不同类型的存储器件要求不同的速度、数据宽度等;
通过CACHE和WRITE BUFFER技术缩小处理器和存储系统速度差别,从而提高系统性能;
内存管理部件使用内存映射技术实现虚拟空间到物理空间的映射。
引入存储保护机制,增强系统的安全性;
引入一些机制保证I/O操作映射成内存操作后,各种I/O操作能够得到正确的结果。
C语言数组深度剖析
C语言的数组是什么呢? 学过的人都知道就是一块连续的空间,但是有几个人能正确的分清楚呢、?你看看该文件的第一个例子,如果你懂,那么你厉害...
Mini2440用户手册
Mini2440的用户手册!对Mini2440开发板的硬件资源进行详细介绍,如果买了该开发板,这是必须要看的吧!
Mini2440开发板学习6
Mini2440开发板学习,S3C400 的内存驱动
Mini2440开发板学习3
Mini2440学习,第三部分:
第一部分:http://download.csdn.net/detail/weida1040897534/4168399
第二部分:http://download.csdn.net/detail/weida1040897534/4168406
Mini2440开发板学习2
自己学Mini2440的一点记录吧....这是第二部分。希望能对大家有用!
Mini2440学习1
自己买了块Mini2440开发板,自己刚开始是个只会C的嵌入式菜鸟,这是自己在学习过程中的一点总结吧,希望对刚入门的菜鸟能有帮助,里面有具体在Mini2440开发板上的基本使用方法,包括如何下载程序运行,如何用JTAG刷写FLASH等》。。。。
S3C2440芯片手册
这是S3C2440的芯片手册,学Mini2440开发的时候这是必备的,随时查看。
Mini2440开发板裸机触摸屏驱动
自己买了块Mini2440的开发板,自己写的裸机触摸屏驱动,自己写的,感觉真不容易,所以放到上面共初学者看看,希望对大家能有帮助!
VC用ActiveX控件做的五子棋!!
这是个用ActiveX控件做的五子棋!!
关于ActiveX控件是什么?我就不再多说!只是个列子,我提供了源码,初学者可以看看!不管是做游戏还是做控件都有帮助!!
visual C++的帮助插件
在vc中进行编程,尤其是windows编程!会有很多的又长又难记的函数,参数类型有很多!难到我们得全部记住他们ma/??要知道光是api就有几千个啊!用这个软件后他会在vc里当你写下一个函数首部时候,他会自动提示你,你甚至可以在里面方便的选择你要的函数,完全不用你手动写!极大地提高了效率!我一直都想要一个,但一直都找不到!这还是我们老师给我们得!!
C++必修课!!!!!!!!
学好C++!!!这是一句话!!但并不是说这就意味着很简单!!事实上这是由难度的!!!但、、、只怕有心人!!!
这是汇编初学者的救星
这里面又很多的文件!!都是给你介绍些汇编的基础知识!!有助于你正确的理解汇编的整个过程中CPU的执行方式!
用TC做的一个小游戏(包括很多种)
用TC做的一个小游戏-挡板球!这是我初学时做的一个实例额!编译器用的是TC!注意很多菜鸟都喜欢用VC来编译TC源码!这是无法成功的!
用TC做的一个小游戏-挡板球!
用TC做的一个小游戏-挡板球!这是我初学时做的一个实例额!编译器用的是TC!注意很多菜鸟都喜欢用VC来编译TC源码!这是无法成功的!
用TC做的一个小游戏-五子棋
用TC做的一个小游戏-五子棋!这是我刚学C时候自己编的一个基于DOS的小游戏源码!是一个五子棋游戏!通过上下左右光标控制移动!是双人对战!还没做好人机对战!!
最好的TC 编译器下载
这是我在网上搜索了很久后才找到的!!我开始学C的时候用的就是tc!说实话,其实我觉得TC其实挺好用的!操作非常的简单!
教你的嵌入式学习教程
你是嵌入式高手吗??如果你是,那本文件将给你所有的知识做个总结!!概括!如果你是个菜鸟,那就更应该好好的看看了!!!
用vc 进行网络编程的一个实例!
如果你正在搞VC的API进行网络编程的话!!而你又不是很熟!这个文件将对你的学习有好大的帮助!!它叫你用API如何进行网络通信!
汇编的堆栈段寄存器讲解
这是我个人在学习过程中的一些曲折!!!!其中不乏酸甜苦辣,但最终还是得到了我应得!!我想我能做的就是不停的思考!你也一样!!
所有windows系统API全集
windows的API又多又杂!在此我把他们都给聚集在一块!!形成一个文件资料!!供大家参考!!希望能给大家一点帮助!
3d MAX基础教程
3d max是一个功能非常庞大的软件!!随着计算机的飞速发展!学习他已经变得非常迫切和重要!!但是网上关于他的教程却不是很多!在此给大家一个教程!!
教你如何在vc中载入3dmax的文件!!
你是否知道3d max这个三维图形开发软件的功能?你学过吗??如果你没学过!我想告诉你!你要想搞游戏开发!这是必须的!如果你正在搞!那我告诉你!这个文件将会教你如何将*.3ds或*.max文件载入到应用程序中来!
tc做的小游戏源码!
用TC编写的小游戏源码!仅供参考!!这是我初学c语言时做的几个小游戏!因为是初学!所以当时用的是tc这个编译器!如果你是个vc高手!我想就不必了!如果你是个菜鸟,在下强烈建议你先花点时间学学tc这个编译器!这对你将来的学习是非常有帮助的!尤其是对面向过程和面下对象的理解会更加深刻!
opengl编程必看
哥可以这莫跟你说!其实opengl是你必须学习的东西!除非你不是搞这方面的!你不想高这个!这个资料你可亿看看!会对你有帮助的!!
学习opengl编程
除非你是傻瓜,,不染看完后你准会!!!如果你真想学好opengl!的话!!那下载本文件就显得必须的!!!他会教会你如何利用他!!当然所谓师傅领进门修行在个人!要想学好就的靠自己了!1我还不一样!