小弟最近想自学ARM嵌入式,不知道是学arm7还是arm9,还是stm32?
你51接触不多,嗯……arm9很成熟了,而且有跑裸机的——可以看成高级单片机,不过功能更多,然后再来过渡到linux……
下文来字韦老师的建议:
作为一个新人,怎样学习嵌入式Linux?被问过太多次,特写这篇文章来回答一下。
在学习嵌入式Linux之前,肯定要有C语言基础。汇编基础有没有无所谓(就那么几条汇编指令,用到了一看就会)。
C语言要学到什么程度呢?越熟当然越好,不熟的话也要具备基本技能。比如写一个数组排序、输入数字求和什么的。
学C语言唯一的方法是多写程序多练习,编译出错没关系,自己去解决;执行出错没关系,自己去分析。以前我是用
VC来练习C语言的,经常去尝试着写一些C语言竞赛的题目。它们是纯C、纯数学、纯逻辑的题目,不涉及界面这些东西,
很适合煅炼你的编程能力。
回到主题,首先我们要明白你的目的是什么,大概来说所谓嵌入式Linux可以分为两部分:底层系统、应用开发。
如果你是想做应用开发,那么你去把C语言、数据结构、JAVA什么的学好吧。嵌入式应用开发和PC上的
应用开发并没有什么特别要注意的。也许你说在嵌入式上要做些优化,是的,要优化,但是未经优化的程序
和PC上的程序开发没什么差别。另外,当你有能力去优化时,你已经不用来问这个问题了。具体到某个例子,
比如说开发界面,在PC上我们用VC;在嵌入式Linux里也许我们用QT也许用Android,这个时候你应该去学学QT、
Android的编程。但是基础还是C或JAVA,在此基础上去熟悉它们的接口。你学过VC的话,也是要花时间去了解
那些类、控件的。
如果你的目的是想学习底层系统,这是我的专长,倒是可以说一点。
在回答这个问题之前,我先回答:不少人问我,到底是学驱动还是学应用?
我只能说凭兴趣,并且驱动和应用并不是截然分开的
1. 我们说的驱动,其实并不局限于硬件的操作,还有操作系统的原理、进程的休眠唤醒调度等概念。
想写出一个好的应用,想比较好的解决应用碰到的问题,这些知识你应该懂
2. 做应用门槛低,特别是现在的ANDROID,纯JAVA。做应用的发展路径个人认为就是业务纯熟。
比如在通信行业、IPTV行业、手机行业,你了解行业的需求。所以,当领导的人,多是做应用的。
3. 做驱动,其实我不想称为“做驱动”,而是想称为“做底层系统”,做好了这是通杀各行业。我工作几年,
做过手机、IPTV、会议电视,但是这些产品对我毫无差别,因为我只做底层。他们的业务跟我没关系。
当应用出现问题,他们解决不了时,我就会从内核角度给他们出主意,给他们提供工具。
做底层的发展方向,个人认为是技术专家。
4. 其实,做底层还是做应用,之间并没有一个界线,有底层经验,再去做应用,你会感觉很踏实。
有了业务经验,你再了解一下底层,很快就可以组成一个团队。
回到怎么学的问题上。嵌入式Linux底层系统包含哪些东西?不要急,举一个例子你就知道了。
1. 电脑一开机,那些界面是谁显示的?是BIOS,它做什么?一些自检,然后从硬盘上读入windows,并启动它。
类似的,这个BIOS对应于嵌入式Linux里的bootloader。这个bootloader要去Flash上读入Linux内核,并启动它。
2. 启动windows的目的是什么?当然是上网聊天什么的了。这些上网、聊天工具在哪?
在C盘、D盘上。所以, windows要先识别出C盘、D盘。在Linux下我们称为根文件系统。
3. windows能识别出C盘、D盘,那么肯定能读写硬盘才行。这涉及的东西称为驱动程序。当然不仅仅是硬盘,还有网卡、USB等等。
嵌入式Linux能从Flash上读出并执行应用程序,肯定也得有Flash的驱动程序啊,当然也不仅仅是Flash。
先说到这里吧,嵌入式LINUX里含有bootloader, 内核, 驱动程序、根文件系统这4大块。
一、bootloader:
它就是一个稍微复杂的裸板程序。但是要把这裸板程序看懂写好一点都不容易。Windows下好用的工具弱化了我们的编程能力。
很多人一玩嵌入式就用ADS、KEIL。你能回答这几个问题吗?
1. 一上电,CPU从哪里取指令执行?
答:一般从Flash上指令。
2. 但是Flash一般是只能读不能直接写的,如果我用到全局变量,这些全局变量在哪里?
答:全局变量应该在内存里
3. 那么谁把全局变量放到内存里去?
答:长期用ADS、KEIL的朋友,你能回答吗?这需要"重定位"。在ADS或KEIL里,重定位的代码是制作这些工具的公司帮你写好了。
你可曾去阅读过?
4. 内存那么大,我怎么知道把"原来存在Flash上的内容"读到内存的"哪个地址去"?
答:这个地址用"链接脚本"决定,在ADS里有scatter文件,KEIL里也有类似的文件。但是,你去研究过吗?
5. 你说重定位是把程序从Flash复制到内存,那么这个程序可以读Flash啊?
答:是的,要能操作Flash。当然不仅仅是这些,还有设置时钟让系统运行得更快等等。
先自问自答到这里吧,bootloader这一个裸板程序,其实有3部分要点:
1. 对硬件的操作
2. 对ARM体系处理器的了解
3. 程序的基本概念:重定位、栈、代码段数据段BSS段什么的。
对硬件的操作,需要看原理图、芯片手册。这需要一定的硬件知识,不求你能设计硬件,但是至少能看懂; 不求能看懂模拟电路,
但是要能看懂数字电路。这方面的能力我是在学校里学到的,微机原理、数字电路这2本书(书名忘了)就足够了。但是我怀疑你有无耐
心把这2本书看完。我不知道现在有没有更快捷的书。想速成的话,就先放掉这块吧,不懂就问GOOGLE、发贴。
另外,芯片手册是肯定要读的,别去找中文的,就看英文的。开始是非常痛苦,以后就会发现那些语法、词汇一旦熟悉后,
读任何芯片手册都很容易。
对ARM体系处理器的了解, 看杜春蕾的吧,里面讲有汇编指令,有异常模式、MMU等。也就这3块内容需要你了解。
程序的基本概念,王道当然是去看编译原理了。可惜,这类书绝对是天书级别的。劝你若非超级天才还是别去看了。就看我写的
和第1期视频吧,别担心,不用花钱。照着视频把硬件相关的实验做了,这些概念就清楚了。我还没有
发现第2套讲这些概念的书或视频,允许我盲目吹嘘一回。
对于bootloader,我学习时是先看了,然后自己写程序把各个硬件的实验都做了一遍,比如GPIO、时钟、
SDRAM、UART、NAND。把它们都弄清楚了,组台在一起就很容易看懂u-boot了
总结一下,看懂硬件原理图、看芯片手册,这需要你自己去找资料。剩下的,就按和第1期视频的章
节目录去学习吧。
二、内核:
想速成的人,先跨过内核的学习,直接学习怎么写驱动。
想成为高手,内核必须深刻了解。注意,我说的是了解,我没奢望去写出一个内核。
要对里面的调度机制、内存管理机制、文件管理机制等等有所了解。
推荐两本书:
1. 通读,请看薄的那本(浮燥的社会讲求速度, 呵),
2. 选读, 想了解哪一块就读哪一节
三、驱动:
驱动包含两部分:硬件本身的操作、驱动程序的框架。
又是硬件,还是要看得懂原理图、读得懂芯片手册,多练吧。
说到驱动框架,有一些书介绍一下。LDD3,即,老外写的那本,里面介绍了不少概念,值得一读。但是,它的作用
也就限于介绍概念了。我基本上是入门之前用它来熟悉一下概念,入门后就扔掉了。
驱动方面比较全的介绍,应该是宋宝华的了,老实说我只看过目录,有不少人说好,这里推荐一下。
要想深入了解某一块,绝对是超5星级推荐。你别指望把它读完,1800多页,上下两册呢。我是某一块不清楚
时,就去翻一下它。任何一部分,这书都可以讲上2、3百页,非常详细。并且是以某个目标来带你分析内核源码。它以linux 2.4为例,
但是原理相通,同样适用于其它版本的linux。
还有没有其他介绍?呵呵,当然有了,韦东山Linux视频第2期。里对驱动讲得不多,不够深入。
于是我录制了这期视频。不仅仅教你怎么写怎么改驱动,还教你为什么这样写这样改驱动。
每一个驱动都是现场编写:
1. 用绘图板画图讲解──相当于学校里老师在黑板上画图讲解,很直观
绝对不是对着PPT念。
2. 用source insight当场写程序,从第1行开始写,每一课都是这样。我讲了20多个驱动,就写了20多个程序。
3. 写完就编译、测试。
4. 很全面,字符设备驱动、块设备、网卡驱动3大类齐全,硬件介绍、驱动框架分析、测试3大类齐全。
培训机构里教的内容,远不及这期视频丰富。我在多个培训机构讲过课,从没看到哪个老师敢每一课都当场讲解当场编写代码
当场测试,除我之外!也没看到哪个培训机构讲完这些内容──因为时间不够,讲完起码要一个月,但是这部分基本只有2周授课时间。
把你手上的开发板所涉及的硬件,都去尝试写一个驱动吧。有问题就先"痛苦地思考",思考的过程中你会把很多不相关的知识
串联起来,最终贯通。
四、根文件系统:
大家有没有想过这2个问题:
1. 对于Linux做出来的产品,有些用作监控、有些做手机、有些做平板。那么内核启动后,挂载根文件系统后,应该启动哪一个应用程序呢?
答:内核不知道也不管应该启动哪一个用户程序。它只启动init这一个应用程序,它对应/sbin/init。
显然,这个应用程序就要读取配置文件,根据配置文件去启动用户程序(监控、手册界面、平板界面等等)
这个问题提示我们,文件系统的内容是有一些约定的,比如要有/sbin/init,要有配置文件
2. 你写的hello,world程序,有没有想过里面用到的printf是谁实现的?
答:这个函数不是你实现的,是库函数实现的。它运行时,得找到库。
这个问题提示我们,文件系统里还要有库。
简单的自问自答到这里,要想深入了解,可以看一下busybox的init.c,就可以知道init进程做的事情了。
当然,也可以看里构建根文件系统那章。
说一下我的学习经历吧。
1. 我在学校时读的是物理电子专业,其实课程里没有教怎么设计电路,只是教了些电子电路方面的知识。PCB的设计
是在实验室里自学的,只设计过2层板,现在忘记得差不多了。但是保留了看原理图、看芯片手册的能力。
2. 选修了软件学位,对软件设计挺感兴趣,但是也只是学了C语言、数据库而已。凭着兴趣做了不少竞赛题。没能力去
参加竞赛,但是把C语言练得很扎实。
3. 在实验室、在第1家公司,就是设计些简单的PCI卡,写一下windows的驱动程序
4. 在第2家公司,用51单片机做车载电话,开始走上纯软件的道路。
5. 开始感到单片机的不足,辞职半年闭门学Linux,从red hat怎么操作开始。步骤就是先看,
再自己写裸板程序操作硬件,接着到分析u-boot。同时看,对LINUX框架有所了解。
在写裸板时,建议各位加强对中断的理解,内核就是用中断来完成各种功能的。
6. 分析完u-boot,就开始进行简单的驱动编程了,这时候,能力还很弱。
7. 开始去中兴上班,工作2年,编写各类驱动、解决各类问题(驱动问题、帮助定位应用问题),能力得到煅炼。
总结一下:
1. 硬件方面的书: 微机原理、数字电路,高校里的教材。毕业多年,忘名了。
2. Linux方面的书:
,老外写的那本
解码芯片哪个较好?
虽然现在芯片已经不能完全决定MP3的好坏,值与不值。但是如果在选购MP3的时候对MP3芯片没有任何了解,那么很容易被经销商蒙混过关。所以,选购MP3的时候不要求精通芯片功能,但是多少也要知道一些。
如今,飞利浦,Sigmatel,Telechips等还是主流的解码方案,但是芯片的性能却提升了不少。而且三星等厂商也推出了自己的高性能解码系统。
一、飞利浦系列
产地:荷兰
如果一定要评出目前市场上最好的MP3解码芯片的话,那么无疑就是飞利浦芯片了。飞利浦家族的解码芯片在业界一直以其“功能全,音质好,价格高”而著称。
飞利浦的解码芯片一般都采用的是BGA封装工艺,而国内的这方面技术相当有限,此外,由于飞利浦的解码芯片需要搭配另外的控制芯片电路协同工作,所以产品成本较高。所以采用飞利浦解码芯片的厂商往往都定位于中高价位,如MPIO和IRIVER这两家韩国的MP3专业厂商。这两个品牌一个最主要的共同特点就是在产品中全面采用了飞利浦的解码芯片。因此,他们的产品拥有很高的音质和品质,成为全球MP3爱好者追逐的对象。
1、飞利浦SAA775X系列(SAA7750/7751/7752/7753)
飞利浦SAA775x芯片是目前市场上MP3播放器解码芯片组中功能最全(支持CD直录),效果最好的解码芯片之一。该解码芯片的音质表现为:低音下沉较深、中音表现出色、而相比之下高音则显得一般。
因为SAA775x中内含DSP(Digital Signal Processing,数字信号处理)和32位ARM RISC处理器,所以能用超高集成度的单颗芯片,音频解码和语音编码等工作,并且可以加入SDMI(Secure Digital Music Initiative,安全式数字音乐)保护。
其中SAA7750内含DSP和32位ARM RISC处理器,信噪比为90dB。该芯片兼容多段多档位EQ智能音效,支持以ADPCM格式保存语音记录、同步显示歌名和歌曲信息、Line-in直录,此外还支持USB1.1/2.0标准,支持多重音乐格式解码。而SAA7751仅有DSP内核和闪存,没有包含音频多媒体解编码器,只能用于本身可升级的MP3 CD光盘播放器上。SAA7752是一个针对价格的解决方案,只包含了DPS芯片,使用外置内存来存储数据,主要针对CD随身听。至于SAA7753,同样仅有DSP芯片,而且改变得更为彻底,干脆直接用嵌入式内存代替了闪存,对应低价格的CD播放系统,作为一个附加MP3的功能。
飞利浦SAA775x采用的嵌入式处理器,拥有高级能源管理功能,可以根据工作任务量需要控制处理器运行速度,以延长电池的使用时间,类似于普遍使用于高端的PDA和笔记本电脑的节能技术。因此,SAA775x芯片以普通音量播放128Kbps MP3时,单颗AA电池的供电时间可以长达24小时。当然这是芯片的理论工作时间,对于MP3播放器来说,由于生产工艺的制约,具体的工作时间就另当别论了。
2、飞利浦Nexperia PNX010x系列(PNX0101/0102/0105)
PNX010x系列解码芯片也是一个大的系列,包括 PNX0101,PNX0102和PNX0105。其中PNX0102和PNX0102是专为闪存MP3随身听而开发的,而PNX0105则是针对硬盘式多媒体播放器的产品。
PNX0101内嵌4Mbit的可编程FLASH,只支持USB1.1。目前所有采用PNX0101芯片MP3所配备的USB2.0接口,都是通过另外增加USB2.0控制芯片来实现的。(注:与Molex的配合使用可支持USB2.0、SD/MMC扩展等)而PNX0102则内嵌有8Mbit的可编程FLASH,自身提供了对USB2.0的支持。PNX0105同样支持USB2.0,而且还支持GDMA和IDE(ATA/ATAPI/PC Card)等接口,但它没有内置可编程FLASH。市场上目前到货的只有采用PNX0101的产品,而即将上市MPIO最新款MP3播放器 FY400 则采用PNX0102,而 PNX0105则要到2005年才能批量供货。
二、Telechips的TCC730/TCC731系列
产地:韩国
1、TCC730/TCC731系列
从功能、性能、音质各方面来看,Telechips TCC730/731比Sigmatel的STMP3410之类的芯片着实要好一些,低音感充足、各频段表现比较平衡、而且音场更为宽阔;但与飞利浦SAA7750/7751相比还有一定差距。另外,Telechips TCC730价格比SAA7750便宜一点,但需要外接ROM,外围元件比较多,因此采用这种芯片的MP3产品难得有身材玲珑的产品面世。
业界普遍认为Telechips芯片各方面表现介于Sigmatel STMP3410和SAA7750/7751系列之间。采用该芯片的MP3在本身的音质基础上,如果配备了更为高档的耳机后还会有一定的提升。该类型的机子一般会标配森海塞尔MX300(或者OEM森海塞尔)耳机,该耳机属于森海塞尔普及型MX系列中最平民化的耳机,所以建议对音质有更高要求的朋友可以尝试森海塞尔MX500,或者更高档一点的KOSS SP/KOSS PP,森海塞尔PX100/PX200。因为采用该芯片的MP3在音质上有一定的潜力,而并不像所有经销商告诉你的,所有的MP3在更换高档耳机后音质都有提升,其实有些MP3自身芯片及设计,生产工艺的限制使得其已经不具有音质的挖掘空间。
2、TCC767/TCC766/TCC760
TCC760解码芯片,具备强大的32位ARM940T精简指令集处理器核心,主频高达140MHz(飞利浦PNX0102解码芯片采用的是60MHz ARM7处理器核心,最常见的Sigmatel 3520芯片的主频是75MHz),并配备了大容量的64Mbit SDRAM内存。
TCC767与TCC766都采用FPBGA封装,引脚数目不一样,主要区别在于766内置音频Codec芯片,而767需要外置的Codec芯片协同工作,譬如这款V10就采用了美国TI(德州仪器)的AIC23B立体声音频Codec芯片,音质效果各有千秋。TCC767和TCC766与前面76x系列的最大区别就是内置了USB2.0高速接口控制器,并采用1MB的NOR Flash(其它系列大多为512KB NOR Flash)。
三、Sigmatel系列
产地:美国
如果要说目前MP3芯片市场占有率的话,那么美国的Sigmatel家族肯定是名至实归,但对于Sigmatel芯片的品质,却总是仁者见仁,智者见智。总体而言采用Sigmatel解码芯片的MP3音质表现会中规中矩,声音比较亮丽,中音表现一般,低音量感不足、高音比较生硬,它在音乐的表现上要逊于飞利浦和Telechips芯片。
1、Sigmatel 3410
曾几何时,SigmaTel 3410的芯片还占据着MP3芯片市场的半壁江山,可能直到目前STMP3410单芯片方案仍然是最成熟和常见的一种方案。其价格低廉、良好的程序移植性的特点曾为它在2003年抢占到80%解码芯片的市场份额。该芯片的音质表现一般,多用在中、低档产品上。现在对于采用SigmaTel 3410芯片的方案已经很成熟,但如果没有在外围电路上增加更多设计的话,其音质会很一般。这也就是为什么虽然采用该芯片的产品很多,但音质表现却有云泥之别的原因了。采用Sigmatel 3410解决方案的MP3播放器主要有Maycom XP168R,DEC M220R系列。
2、Sigmatel 3420/1342
Sigmatel 3420更像是Sigmatel 3410的升级版,与STMP3410不支持MP3硬件编码,处理速度比较慢相比,Sigmatel 3420在Sigmatel 3410的基础上增加了对USB2。0的支持,修正了Sigmatel 3410对某些主板USB2。0不兼容的问题,还增加了MP3硬件编码功能,在音质方面也比Sigmatel 3410有所提高。
而Sigmatel 1342是一款专为闪存盘而设计的功能增强型芯片,该芯片的功能相对较少,多用在很低端的带MP3播放功能的闪存盘上,其音质表现大致与Sigmatel 3410在伯仲之间。
3、Sigmatel 3510/3520
与Sigmatel 3410相比,Sigmatel 3510不仅支持USB2.0,而且改进了综合能源管理、支持电池充电功能检测、并且强化了数字/模拟转换器和耳机的音乐放大器电路、拥有子目录管理能力等智能化的功能,可以说Sigmatel家族的芯片发展到Sigmatel 3520迈出了一大步。
Sigmatel 3520改进了以往Sigmatel 3410/1342中音表现一般、高音生硬的缺点,音质清澈,信噪比据说可以达到95dB;增加了对MP3硬件编码、FM收音和USB2。0等功能的支持;Sigmatel 3520比前代产品在处理速度上也有所提升,达到了75MHz(34xx系列为65MHz)。现在市场各个价位的MP3都有Sigmatel 3520芯片的影子,也正说明了Sigmatel 3520芯片所取得的长足进步。下边介绍的就是采用Sigmatel 3520芯片并受到一致好评的魅族E2。如果说品质有华贵和朴实之分的话,那么E2无疑属于后者。略嫌平庸的外表底下掩盖不住其卓越的品质。作为ME系列的加强版(PLUS)E2秉承了ME系列的Sigmatel 3520芯片,经多人试听,一致认为其表现不俗,在整体音乐表现力上,E2的表现可圈可点,尤其在中高音及人声的还原上表现优秀,但在低音的分离上有显单薄,在乐器,特别是BASS,鼓击上低音下潜力度稍嫌不足。总之这是一款典型的采用Sigmatel 3520芯片的MP3,表现令人满意。
4、Sigmatel 3550/3560
Sigmatel 3550/3560是专用于硬盘式MP3播放器的芯片,其处理速度为75MHz。功能上它们以Sigmatel 35x0为基础。为了给硬盘提高缓存当作避震之用,还添加了SDRAM接口。Sigmatel 3510/3520与3550/3560除了封装有些不同外,主要区别就在于3550/3560还可以支持锂电池及USB直接充电,因此大家凡是看到采用锂电池、支持USB2.0的80%都可能是采用Sigmatel 3550、3560芯片的 。
Sigmatel 34XX与Sigmatel 35XX系列的区别,主要是在以下两方面的改进:USB1.1提升至USB2.0;电池续航能力增长,如创新的TX-FM,采用1节7号电池可以连续播放15小时。
5、Sigmatel 3502
据称该芯片瞄准高端市场,将芯片与外围电路设计做了大幅度提升,被誉为第三代的解码芯片,将DSP数字信号处理器主频速率提升至75MHz,信噪比高达95db,输出功率达到了11mW,总谐波失真率也低于0.05%。微星科技在岁末推出了自己的平民化的产品MS-5511增强版。
微星MS-5511增强版正是采用美国Sigmatel公司前沿技术产品Sigmatel 3502解码芯片。配合微星一流制造工艺,内部电路设计、焊接工艺、线路板材料等独特技术显示了国内知名IT大厂的严谨设计及精湛工艺。经过试听,在音乐的表现上,微星MS-5511采用的Sigmatel 3502芯片让人觉得跟Sigmatel 3520芯片并没有太大的突破,不过对于一款售价399的MP3,的确是不错的选择。除过宣传的众多功能外,我想微星的全系列MP3产品享受的二十四小时全天侯即时服务大概是最为诱人的。这在中低端市场是非常难得的。
三、SKYLARK芯片
产地:韩国
韩国ECT公司的SKYLARK芯片,目前国产的纽扣机都用到,只是目前还不支持WMA,价格与STMP3410差不多,功能较全。Skylark主要功能特点是功耗低,音质清晰悦耳;录音生成MP3格式的文件,可选择压缩比特率;编码直录功能,且可以根据需要调整压缩比特率;内置FM调频收音,中国、日本、欧洲3种制式可选,可将收到节目录在播放机中;中文、英文、韩文、日文等语言选择;歌名、ID3、歌词同步显示(支持中文歌名、歌词同步显示);独立文件删除功能,方便使用; A-B点复听功能;内部存储器容量查询,可以查询内部存储器的容量。
四、ATMEL芯片
产地:美国
美国ATMEL公司是DSP、MCU业界的龙头。AT89C51ND1X系列芯片是专为mp3产业开发的嵌入式多媒体应用的DSP+MCU混合型解决方案。采用这种芯片的MP3集成USB,MMC嵌入式非常小的系统软件,功能齐全带USB功能的仅需15K字节固件代码。这种MP3解码器和硬件接口控制器非常的低耗电。
五、炬力ATJ2085
产地:珠海
炬力的ATJ208564 PIN封装,高度集成。支持格式有MP3、WMA、WMV、ASF播放,支持FM,芯片价格较便宜。现在很多大陆厂商都选用这款炬力的ATJ208564PIN,其缺点是音质一般,勉强可听,FM的表现上也有待提高。目前市场上,可播放MTV视频的小彩屏MP3播放器随处可见。这些机器一般都具有一个不算太大(1英寸到1.2英寸)的65K色OLED彩屏,而它们所采用的芯片则基本都是中国珠海生产的炬力2085芯片。与市场上其它芯片相比,炬力2085的成本接近于Sigmatel 3502,但后者不支持彩屏。另一个可能形成威胁的是Telechips,但成本显然要高不少,飞利浦就更别说了。加上国内做这个方案的开发商比较少,因此目前在这个领域,炬力2085可以说没有对手了。虽然人们对炬力2085的音质大都表现不满,但可看MTV视频、JPEG图片、TXT文本等丰富的功能还是让众多的消费者易于接受采用炬力2085芯片的MP3播放器。
六、 三星SA58450X01 ARM/SA58450X03 ARM
产地:韩国
SA58450X01 ARM 芯片,运行效率高达到200M赫兹,它是iriver和其他一个公司联合三星共同研发的,并且是三星全权制造,有这两个公司拥有知识产权。iRiver T20采用的是SA58450X02 ARM芯片。SA58450X03性能不清。
TI与ATMEL ARM9谁的稳定性好
每家半导体公司的芯片都差不多,使用的时候有没有注意芯片的一些特殊需要注意的地方,如果注意到了每个芯片的特性,一样的稳定。按理来说,Ti这个公司会更稳健一些,毕竟做的IC类型很多,ARM9是其中一项资产。Atmel的ARM9出得早,工程师对这个芯片的使用以及过了一个阶段,现在应用很多,客户也很多,如果你想容易上手,找市面上资料笔记丰富的ARM9芯片,是很靠谱的,起码比没有资料的靠谱。
ARM7,ARM9,ARM11等有啥区别?
简单点:
arm7没有保护模式需要MMU单元,功能上来说一般用作实时控制系统。
arm9以上都有MMU单元,功能比arm7有很大提高,采用了伪哈弗结构,指令处理速度快很多。由于有MMU,所以arm9以上就可以运行嵌入式linux和wince等操作系统。
学嵌入式,要学的东西多了,如果你一点单片机和操作系统的概念也没有,就先恶补这两个内容先吧。
linux只是一个开源的unix操作系统,与windows不同之处,是开源,谁都可以获得源代码,但是免费的东西总是没那么好使,所以才有windows的市场,windows功能以及平台支持软件比linux多多了,但是由于linux是开源的,因此容易被人们修改适合自己特定的需要,因此linux首先就成了嵌入式系统的首选。
arm是一种处理器体系,与语言无关,你用汇编、C、C++都可以开发程序,只要你能找到这样的编译器,目前通常是用C语言开发,因为这样的编译器多而且好用。而有些直接与硬件交互的编程汇编更加好使。
你一点概念都没有,还是先学学基本的吧,嵌入式涉及的面太大了,估计需要几年才能有个概念。
初学者想学ARM嵌入式,应该选ARM9还是ARM11开发板?
对于ARM嵌入式的初学者,建议用ARM9开发板。
首先,从功能上来说,ARM11要比ARM9强一些,但是性能优异并不代表适合初学者。对于初学者来说ARM11的有些功能是冗余。
其次,学习ARM9或者ARM11就在所难免学习其所支持的操作系统Linux(ARM11可以支持Android)。目前,市面上ARM9的开发版的价格要比ARM11低很多,而两者都可以运行Linux操作系统。并且ARM9开发板的资料和教学视频也更多一些。jz2440+韦东山系列教学视频,mini2440+国嵌视频都是不错的选择。
最后,学习ARM9,可以按Linux应用开发、驱动开发顺序学习。如果想学习Android系统开发,可以学完ARM9再学习ARM11开发板下的安卓系统开发。因为安卓系统就是Linux内核+libc库用Java封装而成。
单片机类型有哪些
按总线分有:8位机、16位机、32位机、64位机。单片机的发展先后经历了4位、8位、16位和32位等阶段。8位单片机由于功能强,被广泛用于工业控制、智能接口、仪器仪表等各个领域,8位单片机在中、小规模应用场合仍占主流地位,代表了单片机的发展方向,在单片机应用领域发挥着越来越大的作用。 80年代初,Intel公司推出了8位的MCS-51系列的单片机。MCS-51单片机的逻辑部件,包括一个8位CPU及片内振荡器、 80514B掩膜ROM、87514KBEPROM、8031无ROM。特殊功能寄存 器SFR128BRAM、定时器/计数器T0及T1、并行I/O接口:P0、P1、P2、P3;串行接口:TXD、RXD;中断系统:INT0,INT1。扩展资料硬件特征1、单片机的体积比较小, 内部芯片作为计算机系统,其结构简单,但是功能完善,使用起来十分方便,可以模块化应用。2、单片机有着较高的集成度,可靠性比较强,即使单片机处于长时间的工作也不会存在故障问题。3、单片机在应用时低电压、低能耗,是人们在日常生活中的首要选择, 为生产与研发提供便利。4、单片机对数据的处理能力和运算能力较强,可以在各种环境中应用,且有着较强的控制能力。参考资料来源:百度百科-单片机
杭州迈冲科技有限公司怎么样?
杭州迈冲科技有限公司是2009-02-23在浙江省杭州市西湖区注册成立的有限责任公司(自然人投资或控股),注册地址位于杭州市西湖区三墩镇金蓬街366号1幢302室。杭州迈冲科技有限公司的统一社会信用代码/注册号是91330106682947276Y,企业法人王安兴,目前企业处于开业状态。杭州迈冲科技有限公司的经营范围是:服务:计算机软硬件、网络信息技术开发、技术服务、技术咨询、成果转让;批发、零售:电子产品、通信设备(除专控);其他无需报经审批的一切合法项目。在浙江省,相近经营范围的公司总注册资本为10307833万元,主要资本集中在1000-5000万和100-1000万规模的企业中,共26363家。本省范围内,当前企业的注册资本属于良好。通过百度企业信用查看杭州迈冲科技有限公司更多信息和资讯。