十年经验教你如何学习嵌入式_嵌入式如何学起-程序员宅基地

技术标签: 嵌入式ARM9  

PS(下文都是转过来的,不代表个人观点。)

十年经验教你如何学习嵌入式系统(基于ARM平台)
一、嵌入式系统的概念 
        着重理解“嵌入”的概念  

主要从三个方面上来理解。 
     1、从硬件上,将基于CPU的处围器件,整合到CPU芯片内部,比如早期基于X86体系结构下的计算机,CPU只是有运算器和累加器的功能,一切芯片要造外部桥路来扩展实现,象串口之类的都是靠外部的16C550/2的串口控制器芯片实现,而目前的这种串口控制器芯片早已集成到CPU内部,还有PC机有显卡,而多数嵌入式处理器都带有LCD控制器,但其种意义上就相当于显卡。比较高端的ARM类Intel Xscale架构下的IXP网络处理器CPU内部集成PCI控制器(可配成支持4个PCI从设备或配成自身为CPI从设备);
还集成3个NPE网络处理器引擎,其中两个对应于两个MAC地址, 可用于网关交换用,而另外一个NPE网络处理器引擎支持DSL,只要外面再加个PHY芯片即可以实现DSL上网功能。IXP系列最高主频可以达到 1.8G,支持2G内存,1G×10或10G×1的以太网口或
Febre channel 的光通道。IXP系列应该是目标基于ARM体系统结构下由 intel进行整合后成Xscale内核的最高的处理器了。

     2
、从软件上前,就是在定制操作系统内核里将应用一并选入,编译后将内核下载到ROM中。而在定制操作系统内核时所选择的应用程序组 件就是完成了软件的“嵌入”,比如WinCE在内核定制时,会有相应选择,其中就是ordpad,PDF,MediaPlay等等选择,如果我们选择 了,在CE启动后,就可以在界面中找到这些东西,如果是以前PC上将的windows操作系统,多半的东西都需要
我们得新再装。 
     3、把软件内核或应用文件系统等东西烧到嵌入式系统硬件平台中的ROM中就实现了一个真正的“嵌入”。
      以上的定义是我在6、7年前给嵌入式系统下自话侧重于理解型的定义,书上的定义也有很多,但在这个领域范围内,谁都不敢说自己的定义是十分确切的,包括那些专家学者们,历为毕竟嵌入式系统是计算机范畴下的一门综合性学科

二、嵌入式系统的分层与专业的分类。 
    
     嵌入式系统分为4层,硬件层、驱动层、操作系统层和应用层。
1 、硬件层,是整个嵌入式系统的根本,如果现在单片机及接口这块很熟悉,并且能用C和汇编语言来编程的话,从嵌入式系统的硬件层走起来相对容易,硬件层也是驱动层的基础,一个优秀的驱动工程师是要能够看懂硬件的电路图和自行完成CPLD的逻辑设计的,同时还要对操作系统内核及其调度性相当的熟悉的。但硬件平台是基础,增值还要靠软件。 
     硬件层比较适合于,电子、通信、自动化、机电一体、信息工程类专业的人来搞,需要掌握的专业基础知识有,单片机原理及接口技术、微机原理及接口技术、C语言。 
     2、 驱动层,这部分比较难,驱动工程师不仅要能看懂电路图还要能对操作系统内核十分的精通,以便其所写的驱动程序在系统调用时,不会独占操作系统时间片,而导至其它任务不能动行,不懂操作系统内核架构和实时调度性,没有良好的驱动编写风格,按大多数书上所说添加的驱动的方式,很多人都能做到,但可能连个初级的驱动工程师的水平都达不到,这样所写的驱动在应用调用时就如同windows下我们打开一个程序运行后,再打开一个程序时,要不就是中断以前的程序,要不就是等上一会才能运行后来打开的程序。想做个好的驱动人员没有三、四年功底,操作系统内核不研究上几编,不是太容易成功的,但其工资在嵌入式系统四层中可是最高的。 
     驱动层比较适合于电子、通信、自动化、机电一体、信息工程类专业尤其是计算机偏体系结构类专业的人来搞,除硬件层所具备的基础学科外,还要对数据结构与算法、操作系统原理、编译原理都要十分精通了解。
    3 、操作系统层,对于操作系统层目前可能只能说是简单的移植,而很少有人来自已写操作系统,或者写出缺胳膊少腿的操作系统来,这部分工作大都由驱动工程师来完成。操作系统是负责系统任务的调试、磁盘和文件的管理,而嵌入式系统的实时性十分重要。据说,XP操作系统是微软投入300人用两年时间才搞定的,总时工时是600人年,中科院软件所自己的女娲Hopen操作系统估计也得花遇几百人年才能搞定。因此这部分工作相对来讲没有太大意义。
    4 、应用层,相对来讲较为容易的,如果会在windows下如何进行编程接口函数调用,到操作系统下只是编译和开发环 境有相应的变化而已。如果涉及Jave方面的编程也是如此的。嵌入式系统中涉及算法的由专业算法的人来处理的,不必归结到嵌入式系统范畴内。但如果涉及嵌入式系统下面嵌入式数据库、基于嵌入式系统的网络编程和基于某此应用层面的协议应用开发(比如基于SIP、H.323、Astrisk)方面又较为复杂,并且有难度了。
   
三、目标与定位。
      先有目标,再去定位。
      学 ARM,从硬件上讲,一方面就是学习接口电路设计,另一方面就是学习汇编和C语言的板级编程。如果从软件上讲,就是要学习基于ARM处理器的操作系统层面的驱动、移植了。这些对于初学都来说必须明确,要么从硬件着手开始学,要么从操作系统的熟悉到应用开始学,但不管学什么,只要不是纯的操作系统级以上基于 API的应用层的编程,硬件的寄存器类的东西还是要能看懂的,基于板级的汇编和C编程还是要会的。因此针对于嵌入式系统的硬件层和驱动程的人,ARM的接 口电路设计、ARM的C语言和汇编语言编程及调试开发环境还是需要掌握的。 
     因此对于初学者必然要把握住方向,自己的目标是什么,自己要在那一层面上走。然后再着手学习较好,与ARM相关的嵌入式系统的较为实际的两个层面硬件层和驱动层,不管学好了那一层都会很有前途的。 
     如果想从嵌入式系统的应用层面的走的话,可能与ARM及其它体系相去较远,要着重研究基嵌入式操作系统的环境应用与相应开发工具链,比如WinCe操作系统下的EVC应用开发(与windows下的VC相类似),如果想再有突破就往某些音视频类的协议上靠,比如VOIP领域的基于SIP或H.323协议的应用层开发,或是基于嵌入式网络数据库的开发等等。
      对 于初学者来讲,要量力而行,不要认为驱动层工资高就把它当成方向了,要结合自身特点,嵌入式系统四个层面上那个层面上来讲都是有高人存在,当然高人也对应的高工资,我是做硬件层的,以前每月工资中个人所得税要被扣上近3千大元,当然我一方面充当工程师的角色,一方面充当主管及人物的角色,两个职位我一个人干,但上班时间就那些。硬件这方面上可能与我PK的人很少了,才让我拿到那么多的工资。 
     
四、开发系统选择。
      很多ARM初学者都希望有一套自己能用的系统,但他们住住会产生一种错误认识就是认为处理器版本越高、性能越高越好,就象很多人认为ARM9与ARM7好, 我想对于初学者在此方面以此入门还应该理智,开发系统的选择最终要看自己往嵌入式系统的那个方向上走,是做驱动开发还是应用,还是做嵌入式系统硬件层设计与板级测试。如果想从操作系统层面或应用层面上走,不管是驱动还是应用,那当然处理器性能越高越好了,但这个东西自学,有十分大的困难,不是几个月或半年或是一年二年能搞定的事。
     在某种意义上请,ARM7与9的差别就是在某些功能指令集上丰富了些,主频提高一些而已,就比如286和386。对于用户来讲可能觉查不到什么,只能是感觉速度有些快而已。 ARM7比较适合于那些想从硬件层面上走的人,因为ARM7系列处理器内部带MMU的很少,而且比较好控制,就比如S3C44B0来讲,可以很容易将 Cache关了,而且内部接口寄存器很容易看明白,各种接口对于用硬件程序控制或AXD单步命令行指令都可以控制起来,基于51单片机的思想很容易能把他搞懂,就当成个32位的单片机,从而消除很多51工程师想转为嵌入式系统硬件ARM开发工程师的困惑,从而不会被业界某此不是真正懂嵌入式烂公司带到操作系统层面上去,让他们望而失畏,让业界更加缺少这方面的人才。
      而嵌入式系统不管硬件设计还是软件驱动方面都是十分注重接口这部分的,选择平台还要考察一个处理器的外部资源,你接触外部资源越多,越熟悉他们那你以后就业成功的机率就越高,这就是招聘时所说的有无“相关技能”,因为一个人不可能在短短几年内把所有的处理器都接触一遍,而招聘单位所用的处理器就可能是我们完全没有见过的,就拿台湾数十家小 公司(市价几
千万)的公司生产的ARM类处理器,也很好用,但这些东西通用性太差,用这些处理器的公司就只能招有相关工作经验的人了,那什么是相关工作经验,在硬件上讲的是外围接口设计,在软件上讲是操作系统方面相关接口驱动及应用开发经验。我从业近十年,2000年ARM出现,我一天始做ARM7,然后直接跑到了Xscale(这个板本在ARM10-11之间),一做就是五年,招人面试都不下数百人,在这些方面还是深有体会的。我个人认为三星的S3C44b0对初学者来说比较合适,为什么这么说哪?因为接口资源比较丰富,技术成熟,资料较多,应该十分适合于初学者,有问题可能很容易找人帮且解决,因为大多数人都很熟悉,就如同51类的单片机,有N多位专家级的人物可以给你帮忙,相关问题得以很快解答,所然业界认为这款ARM都做用得烂了,但对于初学者来,就却是件好事。 
     因此开发系统的选择,要看自己的未来从来目标方向、要看开发板接口资源、还要看业界的通用性。
五、如何看待培训。 
   
     首先说说我自己,我目前从业近十年,与国内嵌入式系统行业共同起步,一直站在嵌入式系统行业前沿,设计过多款高端嵌入式系统平台产品并为众多公司提供过解决方案,离职前为从事VOIP的美资公司设计IP-PBX,历任项目经理、项目主管、技术总监、部门经理,积累众多人脉,并集多年经验所得,考虑到学生就业与公司招人的不相匹配,公司想招人招不到,而学生和刚毕业的工程师想找份工作也不太容易,于此力创知天行科技有限公司,开展嵌入式系统教育培训。 
     因一线的科研人员和一线的教师不相接触,导至国内嵌入式人才缺乏,国外高校的技术超前于业界公司,而国内情况是业界公司方面的嵌入式系统技术要远远领先于高校。为架构业界与高校沟通的桥梁,把先进技能带给高校学子,为学生在就业竞争中打造一张王牌,并为业界工程师快速提升实现自我创造机遇,我就这样辞去了外企年薪20多万的职位,做嵌入式系统方面的培训了。 
     对于培训来讲,是花钱来买时间,很多工程师都喜欢自己学,认为培训不值,这也是有可能的,纯为赚钱的培训当然不会太有价值,但对于实力型的培训他们可能就亏大了,有这样一笔帐不知他们算过没有,如果一个一周的培训,能带给他们自学两年后才能掌握的知识,在培训完后他们用三个月到半年时间消化培训内容,这样他会省约至少一年半的时间来学其它的或重新站在另一个高度上工作,那么他将最迟一 年后会拿到他两年后水平所对应的工资,就是在工资与水平对应的关系上比同批人缩短一年,每月按最少1千计,再减去培训费用至少多1.0万,同时也省了一年 时间,不管是休闲也好,再继续提高也好,总之是跑到了
队伍的前面了。 
     另一层面上讲,对于新人的培训相当于他们为自己提前买了份失业保险,有师傅会带领他们入道,我今年暑假时班里最年轻的一个学生是大二的,今年才上大三,这学期才刚学单片机,但现在ARM方面的编程工作已经搞得有声有色了,再过一年多毕业,
他还会失业吗? 
     再者通过培训,你可以知道很多业界不为常人所知的事,同时也为自己找了个师傅,就比如说,两个工程师分别用S3C2410和PXA255来做手持设备,同样 两人都工作四年,再出去找工作,两人工资可能最多可相差一倍,为什么?这就是业界不为常人所知的规则,2410属于民品,被业界用烂了,做产品时成本特敏感,当然也对人才成本敏感了,PXA255是intel的东西,一个255CPU能买三个2410,一直被业界定义为贵族产品,用的公司都是大公司或为军方服务的公司,不会在乎成本,只要把东西做好,
一切都好说,但这方面做的人也少啊,因为开发系统贵啊。 
     对于说为自已找了个好师傅, 我想是这样的,因为同级工程师间存在着某此潜在的竞争关系,有很多人不愿意把自己知道的东西教给别人,这意味着他将要失业,就是所说的教会徒弟,饿死师傅,但对于我们这些人就不存在这样的关系了,我是在嵌入式系统平台设计上走到了一定程序,目前在国内这块的技术上已经是自己很难再突破自己,因此很多东西 我对大家都是OPEN的,就比如说下面那部分关于接口设计中所提到的时序接口东西,我要是不讲,却使是高级硬件工程师我想也几乎只有10%的人能知道吧。     

六、成为高级嵌入式系统硬件工程师要具备的技能。
     
     
对于硬件来讲有几个方向,就单纯信号来分为数字和模拟,模拟比较难搞,一般需要很长的经验积累,单单一个阻值或容值的精度不够就可能使信号偏差很大。因此年轻人搞的较少,随着技术的发展,出现了模拟电路数字化,比如手机的Modem射频模块,都采用成熟的套片,而当年国际上只有两家公司有此技术,自我感觉模拟功能不太强的人,不太适合搞这个,如果真能搞定到手机的射频模块,只要达到一般程度可能月薪都在15K以上。 
     另一类就是数字部分了,在大方向上又可分为51/ARM的单片机类,DSP类,FPGA类, 国内FPGA的工程师大多是在IC设计公司从事IP核的前端验证,这部分不搞到门级,前途不太明朗,即使做个IC前端验证工程师,也要搞上几年才能胜任。 DSP硬件接口比较定型,如果不向驱动或是算法上靠拢,前途也不会太大。而ARM单片机类的内容就较多,业界产品占用量大,应用人群广,因此就业空间极 大,而硬件设计最体现水平和水准的就是接口设计这块,这是各个高级硬件工程师相互PK,判定水平高低的依据。
而接口设计这块最关键的是看时序,而不是简单、的连接,比如PXA255处理器I2C要求速度在100Kbps,如果把一个I2C外围器件,
最高还达不到100kbps的与它相接,必然要导致设计的失败。这样的情况有很多,比如51单片机可以在总线接 LCD,但为什么这种LCD就不能挂在ARM的总线上,还有ARM7总线上可以外接个Winband的SD卡控制器,但为什么这种控制器接不到ARM9或 是Xscale处理器上,这些都是问题。因此接口并不是一种简单的连接,要看时序,要看参数。一个优秀的硬件工程师应该能够在没有参考方案的前提下设计 出一个在成本和性能上更加优秀的产品,靠现有的方案,也要进行适当的可行性裁剪,但不是胡乱的来,我遇到一个工程师把方案中的5V变1.8V的DC芯片,直接更换成LDO,有时就会把CPU烧上几个。前几天还有人希望我帮忙把他们以前基于PXA255平台的手持GPS设备做下程序优化,我问了一下情况,地 图是存在SD卡中的,而SD卡与PXA255的MMC控制器间采用的SPI接口,因此导致地图读取速度十分的慢,这种情况是设计中严重的缺陷,而不是程序的问题,因此我提了几条建议,让他们更新试下再说。因此想成为一个优秀的工程师,需要对系统整体性的把握和对已有电路的理解,换句话说,给你一套电路图你终究能看明白多少,看不明白80%以上的话,说明你离优秀的工程师还差得远哪。其次是电路的调试能力和审图能力,但最最基本的能力还是原理图设计PCB绘制,逻辑设计这块。这是指的硬件设计工程师,从上面的硬件设计工程师中还可以分出ECAD工程师,就是专业的画PCB板的工程师,和EMC设计工程师,帮人家解决EMC的问题。硬件工程师再往上就是板级测试工程师,就是C语功底很好的硬件工程师,在电路板调试过程中能通过自已编写的测试程序对硬件功能进行证。然后再交给基于操作系统级的驱动开发人员。 总之,硬件的内容很多很杂,硬件那方面练成了都会成为一个高手,我时常会给人家做下方案评估,很多高级硬件工程师设计的东西,经常被我一句话否定,因此工程师做到我这种地步,也会得罪些人,但硬件的确会有很多不为人知的东西,让很多高级硬件工程师也摸不到头脑。
      那 么高级硬件件工程师技术技能都要具备那些东西哪,首先要掌握EDA设计的辅助工具类如ProtelORCADPowperPCBMaplux2ISE、 VDHL语言,要能用到这些工具画图画板做逻辑设计,再有就是接口设计审图能力,再者就是调试能力,如果能走到总体方案设计这块,那就基本上快成为资深工程师了。
       硬件是要靠经验,也要靠积累的,十年磨一剑,百年磨一针。把一个月前想写的东西,今天终于用一上午的进间整理完了,希望对喜爱嵌入式系统开发的工程师和学生们有所帮助。
ARM开发经典学习网站
2010-09-29 18:59
转载自  nolvo
最终编辑  nolvo

 

1.
EG3 
关于嵌入式开发的站点,提供非常多关于嵌入式开发的资料。包括开发公司,技术文档,免费资源等等。版面包括busses & boards,embedded software,dsp,embedded systems,open source,rtos,embedded chips,system-on-a-chip 等等。
强烈推荐 
http://www.eg3.com/外文-
 
2.
The First Stop for the Latest ICs and Components 
非常好的关于微处理器,DSP,可以编程控制器资讯的网站,更新非常快。强烈推荐一些领导级别的人常去,了解行业动态! 
http://www.eeproductcenter.com/  - 外文
 
3.
Programmers Heaven - Assembler programming zone 
大量的源代码,分类清晰,强烈推荐。但是有很多好像已经不再更新了。 
http://www.programmersheaven.com/zone5/index.htm  - 外文
 
4.
吐血推荐的关于ARM开发的网站,收集了非常多ARM开发工具,而且是免费的。 
http://www.gnuarm.com/resources.html  - 外文
 
5.
ARM的中文网站,官方网站 
http://www.arm.com/chinese/ - 中文
 
6.
美国Cornell University课程ECE476所完成的项目。 
这些项目都具有详细学习资料。共有200多个项目,看看这些东西,就能感觉国内与国外教学实践的差别。我们国家很多高校的电子相关专业的设计就是搞个键盘,搞个MAX7219显示,搞个DS1302时钟,''一百年不变''。看了它是我记得很不舒服。大家好好研究研究吧。特别是老师们,一定要深思。
一毛

http://instruct1.cit.cornell.edu/courses/ee476/FinalProjects/  - 外文
 
7.
Build Your Own Microcontroller Projects 
This page provides schematic and software for hobbyists to practice "learn by doing", build a simple microcontroller projects at home. For those who would like to contribute projects, please prepare HTML files whatever you like to see but keep all files small and informative. I shall provide for others. DIY的好地方,强烈推荐. 
http://www.kmitl.ac.th/~kswichit/  - 外文
 
8.
LPC2000 Tools from the LPC2000 Yahoo! Group 推荐 
http://www.gnuarm.com/~lpc2000/body.html  - 外文
 
9.
GNU ARM? toolchain for Cygwin, Linux and MacOS .推荐 
这里是它的实用资源  http://www.gnuarm.com/resources.html
讨论组  http://groups.yahoo.com/group/gnuarm/
文件下载  http://www.gnuarm.com/files.html 
http://www.gnuarm.com/ - 外文
 
10.
ARMuC Wiki.大量的开发资料,强烈推荐 
http://www.open-research.org.uk/ARMuC/  - 外文
 
11.
来自www.mikrocontroller.net大量实用链接 
这里有许多所用链接关于AVR,8051,ARM,PIC.它收集的AVR信息是我看到的最好的。遗憾的是网站语言是德文。 
http://www.mikrocontroller.net/articles/Linksammlung  - 外文
 
12.
LPC2000 information page featuring the Philips ARM microcontrollers 
关于LPC2100的专业网站 
http://www.lpc2100.com/  - 外文
 
13.
ARMboot 
ARMboot is an Open-Source firmware suite for ARM based platforms. ARMboot is heavily based on the sister-project PPCboot, which provides similar functionality on PowerPC based systems. ARMboot shall be a common, easy-to-use and easy-to-port boot platform 
http://armboot.sourceforge.net/  - 外文
 
14.
周立功单片机 
国内知名的民营企业,他主要是代理 PHILIPS 公司的 ARM微控制器与单片机,在该网站上可以下载大量的相关资料。推荐看看 
http://www.zlgmcu.com  - 中文
 
15.
ARMphetamine 
ARMphetamine is a project to create a fast and accurate ARM processor emulator. A technique known as "dynamic recompilation" will be used so that the highest possible speed can be achieved for emulated code - ARM code programs are translated into native code as they are being emulated. The current development platform is Linux/x86 
http://armphetamine.sourceforge.net/  - 外文
 
16.
Linux for all ARM based machines 
一种LINUX操作系统,适合移植在ARM结构上。 
http://www.arm.linux.org.uk/  - 外文
 
17.
Universal Bootloader 
Universal Bootloader project provides firmware with full source code under GPL. Many CPU architectures are supported: PowerPC(MPC5xx, MPC8xx, MPC82xx, MPC7xx, MPC74xx, 4xx), ARM(ARM7, ARM9, StrongARM, Xscale), MIPS(4Kc,5Kc), x86, ... 
http://sourceforge.net/projects/u-boot  - 外文
 
18.
SkyEye Project 
SkyEye是一个开源软件(opensource software)项目,中文名字是“天目”。SkyEye的目标是在通用的Linux和Windows平台实现一个模拟集成开发环境,模拟基于ARM的嵌入式计算机系统;可在SkyEye上运行ARM Linux,uclinux以及uC/OS-II等多种嵌入式操作系统,并对它们进行源码级的分析和测试 
http://www.skyeye.org/index_cn.html  - 外文
 
19.
uclinux-elf-tools 
一个优秀的交叉编译工具。m68k系统,ARM系统下有很好的性能。 
http://www.uclinux.org/pub/uClinux/uclinux-elf-tools/  - 外文
 
20.
MCUserver 
一个比较专业的关于电子开发的网站,但是我也不知道网站是什么语言,但看一勉强看懂。它的下载区有很多实用资料,需要注册才可以下载。它提供很多DIY电路,比如PIC,AVR,MSP430,FPGA,ARM,8051等等编程电路。推荐 
http://www.mcu.cz/modules/news/  - 外文
 
21.
Embeder''s Family--嵌入者之家 
个人站点,但是这里有些相关资源下载 http://www.embeder.com/bbs/showforum.asp?forumid=10
它的ARM论坛还可以. http://www.embeder.com/bbs/

http://www.embeder.com/  - 中文
 
22.
ArmTime Technology 
推荐.比较不错的ARM网站,比较专业的网站. 
http://www.armtime.com/  - 中文
 
23.
 
24.
ARMLinux Resources 
Here are links to various resources for ARMLinux. Mostly off-site but some are maintained here.
http://www.aleph1.co.uk/armlinux/ 
http://www.aleph1.co.uk/armlinux/resources.html  - 外文
 
25.
www.ulrichradig.de 
一个非常好的德国个人网站,有些电子制作.比较经典的就是
1,利用AVR单片机做的WEB服务器.RTL8019芯片.
2,利用CPLD产生视频信号VGA.
3,μClinux - mini Linux for the Philips''s ARM LPC2294 
http://www.ulrichradig.de/  - 外文
 
26.
boot 
Booting on any device needs a boot-loader and some means to get the boot-loader installed in the first place. Here we look at the specifics for ARM architecture devices booting Linux, covering available boot-loaders and their capabilities, some general principles and mechanisms for uploading the Linux kernel and root filesystem, giving specific examples with Jflash-linux and Blob. 
http://www.aleph1.co.uk/armlinux/docs/ARMbooting/t1.html  - 外文
 
27.
武汉创维特嵌入式沙龙 
主要是关于ARM的开发.
下载页面有些好东西: http://www.cvtech.com.cn/cvtech/down_index.asp 
http://www.cvtech.com.cn/  - 中文
 
28.
Debian GNU/Linux on ARM 
On these pages you''ll find information about the ongoing effort of porting Debian GNU/Linux to the ARM architecture which is often found in embedded systems 
http://www.debian.org/ports/arm/  - 外文
 
29.
ARM Documentation 来自官方网站 
http://www.arm.com/documentation/  - 外文
 
30.
ARM Devlopments 
http://www.ap-systems.co.uk/index.htm  - 外文
 
31.
RTLinux for StrongARM 
http://www.imec.be/rtlinux/  - 外文
 
32.
PIC,AVR,ARM,MSP430开发DIY 
该网站提供很多的PIC,AVR,ARM,MSP430的开发资料,特别适合自己制作开发系统,它的ARM开发(利用LPC21**系列)是非常号的资料。推荐。 
http://www.olimex.com/dev/index.html  - 外文
 
33.
杭州莱顿科技有限公司 
尽管是买方ARM(主要是三星的芯片)开发板的,但是里面也有不少开发资料下载,开发三星ARM不容错过。 
http://www.jzx51.com/index.htm  - 中文
 
34.
嵌入式开源项目 
是一个适合初学者学习嵌入式开发的技术网站,lumit 名称取自 let us make it together 这句话的首字母缩写。我们期待对嵌入式技术有兴趣的朋友能和我们一起学习、动手制作、相互探讨、共同进步。
lumit 也是一个软硬件资料可以完全免费下载的开源项目,目前主要目标是制作一个基于arm7tdmi s3c4510开发板的可以实用的u盘,未来我们希望还能做出 mp3、pda 甚至是 dc,dv 等。 
http://www.lumit.org/  - 中文
 
35.
ARM时代 
提供:ARM仿真器|ARM开发板|ARM技术 项目 方案 成型产品,还有一些ARM开发资料供下载 
http://www.arm9e.com/  - 中文
 
36.
广州友善之臂的ARM资料下载 
http://www.arm9.net/m4-download.asp  - 中文
 
37.
Aeolus Development - Embedded Hardware and Software 
http://www.aeolusdevelopment.com/  - 外文
 
38.
阿冰BLOG : ARM与嵌入式开发 
http://ustcers.com/blogs/devzhao/articles/category/65.aspx  - 中文
 
39.
中国单片机公共实验室.--可以看看. 
http://www.bol-system.com/  - 中文
 
40.
52ARM微电通讯技术网 
http://www.52arm.com/  - 中文
 
41.
思恒科技-DSP、ARM、FPGA等开发的电子综合网站 
公司网站,资料还不是很多,有时间可以看看。 
http://www.siheng.cn/ - 中文
 
42.
 
43.
西安建华科技实业有限公司 
提供ARM开发板,同时也有少量的ARM开发文档. 
http://www.jhembed.com/  - 中文
 
44.
小章电子技术网 -很多实用电子资料下载。 
http://www.zyjmcu.com/zlxz.htm  - 中文
 
45.
 
46.
Instruction set quick finder 
his document describes, as completely as I am aware of, the ARM instruction set. If, however, you are only interested in the instructions relating to programming under RISC OS, you may prefer to read the shorter quick finder document... 
http://www.heyrick.co.uk/assembler/qfinder.html  - 中文
 
47.
ARM学习网 
http://218.78.211.237:8088/  - 中文
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/u013144706/article/details/51756664

智能推荐

springaop无法拦截service方法中调用_aop 不能拦截service-程序员宅基地

文章浏览阅读1k次。问题描述:springaop无法拦截service方法中调用,在service类中方法A调用带有切面注解的方法B,切面失效问题分析:AOP底层实现: 拦截器的实现原理就是动态代理,实现AOP机制。Spring 的代理实现有两种:一是基于 JDK Dynamic Proxy 技术而实现的;二是基于 CGLIB 技术而实现的。如果目标对象实现了接口,在默认情况下Spring会采用JDK的动态代理实现AOP; ***总之是类(接口类)级别的代理***;解决思路: 只要将方法A调用方法B过程中添加_aop 不能拦截service

Java实现二维码批量生成_java批量生成二维码-程序员宅基地

文章浏览阅读645次。Java批量生成二维码实例_java批量生成二维码

CentOS8 安装数据库_centos8 安装vastbase数据库-程序员宅基地

文章浏览阅读961次。yum -y localinstall mysql80-community-release-el7-1.noarch.rpmpip3.6 install mycli_centos8 安装vastbase数据库

子类继承父类时各种属性的问题_一个子类继承另一个父类然后子类new对象属性分装不进去-程序员宅基地

文章浏览阅读2.2k次。普通属性子类可以继承父类的属性值,后续操作互不影响。静态属性:public class Main7 extends Father{ //static int test = 11; public static void main(String[] args) { test++; Father father = new Father(); System.out.printl..._一个子类继承另一个父类然后子类new对象属性分装不进去

摄像机内参与OpenGL_摄像机四个内参-程序员宅基地

文章浏览阅读2.4k次,点赞4次,收藏14次。参考转自:https://blog.csdn.net/yanglusheng/article/details/52268234https://blog.csdn.net/sunboyiris/article/details/780826991、 相机参数是三种不同的参数。相机的内参数是六个分别为:1/dx、1/dy、r、u0、v0、f。opencv1里的说内参数是4个其为fx、..._摄像机四个内参

随便推点

Day507.Linux下MySQL的安装与使用 -mysql-程序员宅基地

文章浏览阅读1.6k次,点赞6次,收藏12次。Linux下MySQL的安装与使用一、安装前说明1、Linux系统及工具的准备安装并启动好两台虚拟机: CentOS 7掌握克隆虚拟机的操作mac地址主机名ip地址UUID安装有 Xshell 和 Xftp 等访问CentOS系统的工具CentOS6和CentOS7在MySQL的使用中的区别防火墙:6是iptables,7是firewalld启动服务的命令:6是service,7是systemctl2、查看是否安装过MySQL如果你是用rpm安装, 检

python3 [爬虫实战] 微博爬虫京东客服之Selenium + Chrom浏览器的使用(上)_京东爬虫 对浏览器的要求-程序员宅基地

文章浏览阅读1k次。先暂时记录一下首先 Chrom浏览器一定要匹配好, 不能在百度搜索中下载最新的谷歌浏览器,我现在下的是版本50的浏览器。匹配的chromedriver.exe 是2.9的。32位的同样也使用64位的。 需要把chromedriver.exe 安装在谷歌浏览器的安装目录下,路径是:C:\Program Files (x86)\Google\Chrome\Application与chrome.ex_京东爬虫 对浏览器的要求

[转]十个完全免费的网页原型(线框图)工具_将网站直接转换成原型图-程序员宅基地

文章浏览阅读890次。网页的线框图是非常直观、但是也没什么技术上难点的东西。只需要你大概描出页面上需要的一些元素,比如头部、导航、页脚等等,最多再就是一些交互、内容区域什么的。但这对于任何网络应用的开发都是非常重要的。当然有很多种方法可以做这件事情,最简单的就是拿起纸和笔,但是在这篇文章中,我们要介绍的是一些非常高效好用的在线原型工具,并且他们完全免费。Lumzy 快速原型工具使用Lumzy你可以为你的应用创建_将网站直接转换成原型图

深度学习中关于样本不均衡问题的解决_深度学习重采样-程序员宅基地

文章浏览阅读1k次。深度学习中的样本不均衡问题_深度学习重采样

基于keras采用LSTM实现多标签文本分类(一)_keras lstm多分类-程序员宅基地

文章浏览阅读2.5k次。1.多标签即一条语句可能有多个类别划分。例如,这个酸菜鱼又酸又辣。属于酸和辣两个标签。在采用神经网络学习时,最后一层的激活函数应采用sigmoid激活函数,相当于对这条语句做了多个二分类。2.多分类即每条语句只有一个标签,在采用神经网络学习时,最后一层的激活函数应采用softmax激活函数,最后选取类别中的最大值作为预测结果。关于sigmoid和softmax 的区别此处再说明。本次数据集的格式为:关于LSTM的学习可以参考这篇。关于词向量化的方式,本文采用keras 内置Tokenizer A_keras lstm多分类

常用抓包工具分析_包分析工具-程序员宅基地

文章浏览阅读2.5w次,点赞3次,收藏38次。常用的抓包工具有: tcpdump (linux) wireshark (windows) tcpflow (linux) httpwatch (windows) 浏览器自带抓包工具 (windows)tcpdump (linux)tcpdump是linux下的抓包工具,一般使用比较习惯于,在linux下用tcpdump抓包,结果存入文件,把文件导入windows下用window..._包分析工具

推荐文章

热门文章

相关标签