你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

ARM入门最好的文章(1)

[复制链接]
得蜜 发布时间:2009-1-15 16:02
1.ARM简介(摘录) ! A2 {# @# y, c2 K. P+ A: o
  ARM(Advanced RISC Machines)是微处理器行业的一家知名企业,设计了大量高性能、廉价、耗能低的RISC处理器、相关技术及软件。技术具有性能高、成本低和能耗省的特点。适用于多种领域,比如嵌入控制、消费/教育类多媒体、DSP和移动式应用等。
5 v- |' _9 Z3 S3 C; o  ARM将其技术授权给世界上许多著名的半导体、软件和OEM厂商,每个厂商得到的都是一套独一无二的ARM相关技术及服务。利用这种合伙关系,ARM很快成为许多全球性RISC标准的缔造者。8 ], ]# f5 W2 l( w' W% U
  目前,总共有30家半导体公司与ARM签订了硬件技术使用许可协议,其中包括Intel、IBM、LG半导体、NEC、SONY、菲利浦和国民半导体这样的大公司。至于软件系统的合伙人,则包括微软、升阳和MRI等一系列知名公司。& h! W- }0 b) g6 [1 _
  ARM架构是面向低预算市场设计的第一款RISC微处理器。
7 V& |" y& b  }  2.产品介绍
6 ?! b0 o3 z/ B, u2 p/ E  ARM提供一系列内核、体系扩展、微处理器和系统芯片方案。由于所有产品均采用一个通用的软件体系,所以相同的软件可在所有产品中运行(理论上如此)。典型的产品如下。
5 q* d( ]2 f5 \$ Y& K   ①CPU内核- Q8 D4 [! Z$ M+ V" W
   --ARM7:小型、快速、低能耗、集成式RISC内核,用于移动通信。
( n3 S; q3 r6 I& B. r4 @6 P  -- ARM7TDMI(Thumb):这是公司授权用户最多的一项产品,将ARM7指令集同Thumb扩展组合在一起,以减少内存容量和系统成本。同时,它还利用嵌入式ICE调试技术来简化系统设计,并用一个DSP增强扩展来改进性能。该产品的典型用途是数字蜂窝电话和硬盘驱动器。
( f4 h3 C9 j6 C) L. v  --ARM9TDMI:采用5阶段管道化ARM9内核,同时配备Thumb扩展、调试和Harvard总线。在生产工艺相同的情况下,性能可达ARM7TDMI的两倍之多。常用于连网和顶置盒。; {2 C' P& T  ]" Q8 u  V+ W
  ②体系扩展1 L! x, _0 K0 Q* F
  -- Thumb:以16位系统的成本,提供32位RISC性能,特别注意的是它所需的内存容量非常小。
/ A3 L. A7 y! T/ @: a# p  X  ③嵌入式ICE调试  B3 d' B2 \. S3 ^  S7 b
  由于集成了类似于ICE的CPU内核调试技术,所以原型设计和系统芯片的调试得到了极大的简化。% F6 r- m& O  Z- ^
  ④微处理器
. N+ k; O+ ^5 V. g/ L8 R. Y  --ARM710系列,包括ARM710、ARM710T、ARM720T和ARM740T:低价、低能耗、封装式常规系统微型处理器,配有高速缓存(Cache)、内存管理、写缓冲和JTAG。广泛应用于手持式计算、数据通信和消费类多媒体。
7 v- d3 ?; f2 m9 t" p   --ARM940T、920T系列:低价、低能耗、高性能系统微处理器,配有Cache、内存管理和写缓冲。应用于高级引擎管理、保安系统、顶置盒、便携计算机和高档打印机。
; ~: I. n2 c* m$ ?3 J! A1 @  --StrongARM:性能很高、同时满足常规应用需要的一种微处理器技术,与DEC联合研制,后来授权给Intel。SA110处理器、SA1100 PDA系统芯片和SA1500多媒体处理器芯片均采用了这一技术。
" j( h" q3 F, v  --ARM7500和ARM7500FE:高度集成的单芯片RISC计算机,基于一个缓存式ARM7 32位内核,拥有内存和I/O控制器、3个DMA通道、片上视频控制器和调色板以及立体声端口;ARM7500FE则增加了一个浮点运算单元以及对EDO DRAM的支持。特别适合电视顶置盒和网络计算机(NC)。- h  m' K, o% c0 X- l3 B0 v  C; H
Windows CE的Pocket PC只支持ARMWindows CE可支持多种嵌入式处理器,但基于Windows CE的Pocket PC则只支持ARM一种。微软在对SH3、MIPS、ARM等嵌入式处理器做了评估后认为,ARM是一种性价比较好的选择。由于目前ARM在手持设备市场占有90%以上的份额,只支持ARM,可以有效地缩短应用程序开发与测试的时间,也降低了研发费用。由于ARM开放其处理器授权,因此,用户在市场上可以在多家整机厂商中进行选择,从而保证了这一市场的竞争性。
收藏 评论6 发布时间:2009-1-15 16:02

举报

6个回答
得蜜 回答时间:2009-1-15 16:12:01

回复:ARM入门最好的文章(1)

1.抓住51开发ARM( {2 N( o% C- e$ w5 y+ ?

1 F" E+ G8 g* i/ _, B
9 {3 `5 z, H$ q2 |7 X7 c/ C0 _这几个月来我一直都爬在51的问题,自己都有一点笑自己了,用了4个月的时间,来巩固51的原理和程序,还好我自己算是走过来了,自己笨,身边的高才生又看不上51的原理,他们都比较“牛”,说51过时了,你问那个做什么???我比较郁闷!过时吗?我有一点怀疑?
. V7 V( p7 r/ T8 c他们不愿意说有他们自己的理由,没有人强求,靠自己好了。
* ^, S. @" T! J$ y9 Y我自己个人的观点:51是一个基础,而且还很重要,这是再我看了ARM之后感觉到的。它可以加速你的ARM学习速度,真得!不相信你试一试好了。
4 f9 i: b8 s1 Z" ~9 Z* \凡是要求一个速度、效率,不要做一些无用功,抓紧身边的每一个一分钟,人是活的,东西(知识、书)是死得,想要做的事情因此就简单了。6 m* G# b7 L! P0 M
% M. [# B) G4 U( J0 C
6 e" P6 @2 L( I: n% @0 p, S" |4 g3 `
2.我在网上看到了一篇很不错的ARM文章,粘贴过来,为了和像我一样在很少有人帮助的情况下,自学ARM 的难兄难弟们。
! b! S6 u$ e5 @' J+ ]: k6 i* S( Y( W/ d# [

' h+ j; N6 U8 Q* f; L“ARM怎么入门”。我不是高手,仍然是菜鸟。* N2 L+ M% u5 \# T- V+ E
但是回想起自己当时的迷茫,特意写了这篇东西,当作给和我一样的兄弟姐妹的帮助吧。问这个问题的人多半不是已经工作的工程师,而是和我一样是学生,所以这篇笔记就把看家当成我一样的菜鸟,高手勿怪。  Y' E/ t# b3 ^! M" e0 D/ J
首先声明:本人还没有找工作,事实上处于研究生刚毕业,还没开始找工作的空闲时间,44B0只是爱好所在,打发时间。 字串5
; }8 ^2 I4 A" \/ X1 _所有看法完全是自己的感受,不代表任何他人。错了的观点各位帮我纠正。再次补充:很多朋友看了上面的话就问我为什么研究生毕业了还不找工作:)说是打发时间,其实是因为研究生的时候带了一个项目,申请提前毕业以后项目还有块尾巴,答应导师把项目做完再走:)就这么简单。男人总点负点责,呵呵
# x9 ~3 @0 ~5 v: i! g: ^以下问题常被问到,我就想到哪说到哪吧。
得蜜 回答时间:2009-1-15 16:13:53

回复:ARM入门最好的文章(1)

二 ARM是硬件还是软件
! A" h4 ]' ^0 S; i% R( S0 d                       
5 B" a. L6 p8 U3 y' o+ }                        很难说,ARM是硬件,LINUX是软件。ARM的硬件多半已经模块化了,像我这样把板子改成这样的就算动的多的了,这同样是ARM公司的战略,再次佩服。- s2 |6 {  p- b
                        实际中的LINUX的开发工作更多,更耗时。从这方面说ARM应该算是软件了。9 S/ o$ F/ e, l& b% U
                        在找工作中更是这样,举个例子,联想里和ARM最接近的是“BIOS工程师”是软件,MOTO里接近的是嵌入式LINUX工程师是软件。而其他很多公司把嵌入式产品开发归为硬件。所以,不要讨论这个,好好玩转自己的板子才是要害。实在不爽你就把自己叫“嵌入式开发工程师”
/ u( O1 D' O1 S* G1 E2 p; E                       
3 ]% ?8 s7 U4 N5 @" I2 I; a+ o                       
) ]$ C$ D0 e" i1 z+ V                        三 要不要买开发板 买哪家
  Y8 u1 d. ?  y; i                       
6 `& L& `. q. L& r/ m                        我的答案是“在你个人的学习方法”,但是假如看家是需要看这骗笔记的水平,个人推荐还是买现成的。
0 P3 i8 l* D( }0 Z( F7 M) v. j                       
$ ]$ S5 ~. ]5 X# L! r                        1 买
. T( ^  q# S% I4 M( f  J( u                        买板子可以把注重力集中在软件开发上,软件开发(尤其是驱动)可以不必担心自己硬件上的问题,我就是以便调试一边写驱动和程序,每次写驱动前就要先确认硬件没问题。另外,买板子更省钱和时间,我自己做的板子,原理图PCB花了2周以上!制版又15天,回来以后焊接44B0 160个脚!那叫一个麻烦~~花了多少钱呢?2层板,制版费就300块!当然 我把接口都外引了,还做了个20X18的LCD背板,板子比较大。总体下来 元件 LCD屏 PCB=11XX块!够2410的了。                                                 字串4                        5 ?' U! U3 y  G
                       
9 i) t, _6 h* n4 m" ?0 E9 e) b                        再有就是买的资料相对来说比较全,但是不要指望有技术支持!都是骗人的,卖你之后就不会理你。
) @% ^( U# d( a5 l  t7 f0 {                       
& n* L3 p1 F, J. o, Y: ?. z                        ! q' R3 M# U6 r. k
                        2 做7 k8 x/ \3 [' S2 f9 U# `& U' D
                        自己做可以更了解底层硬件,可以按照自己的要求加东西,比如我就加了GPS模块、 GPRS模块 、SD卡模块,扩了个IIC的35个键子的键盘、把LCD接口按照买的LCD改装了,可以用FPC线直接连接。做的很爽的。玩一把吗。4 W& L( |4 v5 c- ?
                        当然,你可以有策略的做,比如像我一样,把RAM和ROM,网络都保持和某现成的板子一样,这样他们的资料你就可以拿过来直接用,给自己留个退路。其他的如SD了 什么的自己做。都达到了~~就是费钱,费时间。- [6 X7 M* v& f+ ~+ k+ ?( g7 l/ l
                        再有就是给做的朋友几点建议:尽量拿到现成的板子,尽量多搜集其他板子的全套资料,一定要拿到一张没问题的原理图。9 L; \( ^% L/ n+ E  W$ v- \
                        网上流传的原理图多数是龚俊03年画的,再这里对龚俊表达一下我的敬意!!牛人!" x% _$ v7 _$ ^5 G
                        但是那个图有个小BUG,我指的是03版的,后来的没这问题了。8019那地址线和地址有问题。还有人仿照他的PDF图画的SCH,更是漏洞百出!谴责!顺便谴责把龚俊板子偷卖的人。; \/ @5 H2 E0 N0 Y% x6 u2 P& b
                        $ L) C; T; J5 r2 A
                       
, T: X: ^- Z4 @                        3 买哪家' z9 i: u0 Y  N* O4 E  H% p
                        个人感觉分3类吧 ARM
# z( p0 `; m# ]" f. R1 k                        1)首先是ZLG的,资料非常的全,感觉他是真正想教你怎么开发ARM,而不是像有的公司自己技术都没做好就做个板子出来卖钱。但是最大的不利就是价格太贵!而且主要是PHILIP的,货源比较麻烦~~可能有人说21XX系列的不贵啊,那是总线不外扩的,只能跑UCOS,不能跑UCLINUX。但是说是话,21XX系列才是ARM7的价格性能结合点。ARM7最适合做工业控制,ARM普及,销量都是怎么来的?都是ARM7来的,而44B0是典型的商业片子。但是,这里假如你看中的是为工作做预备,还是选能跑UCLINUX的吧。- V, R1 w- p* H& b: U7 U/ V8 b4 P
                        但是仍然作为第一个推荐,因为菜鸟时期,合适的资料太重要了!!在这里被ZLG的务实精神感动!你看人家那代码写的。! G6 C# i2 v2 m. q9 W8 q" M
                        2)感觉立宇泰的44B0不错& X2 q$ Z) ~/ \1 P3 G" ?5 I2 l
                        硬件没别的,就是资料比较全的说,不像有些家,原理图直接拿人家的,还错的~~! R' ~! ?6 ~3 t1 ?/ K/ h" W0 w) i
                        3)找个最便宜的
+ P* R5 n- U4 s) ^                        好象最便宜的有卖350的吧?也是没别的,就是即省了钱 还省时间搜集资料,至于资料全不全,别计较了~~硬件肯定好使就行吧。0 ]/ i; z: L$ f( `" Y# [
                       
得蜜 回答时间:2009-1-15 16:19:08

回复:ARM入门最好的文章(1)

四 要不要有51 AVR等单片机基础
8 q) R2 s0 o9 i# b+ O有更好,但没有也无所谓。
- Q1 ]7 I+ f& d1 d( B4 T3 c两个月以前,我只是看别人做,耳濡目染~~,本科学过单片机,从来没做过。我们这的技术主干做AVR和51,我就跟他们调过C语言程序。你看出来了?我是个不折不扣的菜鸟吧? 字串8
' ~* r, @0 q7 l9 n
" Y( |4 o) x; O; F但是做这个之前我特意找了ZLG的两本书,看了里面的例子和原理图,这很重要。例程里有汇编有C,都看懂了就OK,不用自己现写
. x- y" ]6 e/ b. h/ R+ l五 开发都需要学习哪些软件9 [0 J1 a  |; I- q$ |: p
总结起来最主要的有以下几个吧
8 M5 |5 R& }- I3 a8 x
- Q! N) ~7 d9 p1 ADS调试用
$ O1 e" L6 S+ i6 H0 U) J确切的说是ADS AXD。ADS里包含AXD。原来都用SDT后来ARM公司停止对SDT支持了,改支持ADS了,还是用ADS吧。
$ D- m. m* T4 e6 D0 X% P+ t$ i$ k有的人的程序发布的仍然是SDT版本的,但基本都可以找到相应ADS的,新人在这里不要发蒙。ADS是编译器,AXD是调试器。便宜成AXF以后再在ARM的RAM里调试。
  F  v! q" D: O2 A* l8 s! c  W' t6 Z" S5 I& c
8 j( I# s6 K5 F" J
2 PLASHPGM3 l/ `0 v+ u% `* g7 o& l
FLASH烧写的软件。AXD在RAM里调试,掉电就没有了,方便程序修改。调试好的程序再下到FLASH里,上电直接运行。" I" f6 R9 `& W; v8 e/ L/ d' t
同类的软件还有很多,什么FLUTED了、FLSHP了都是,但FLASHPGM最好,要是有人还问FLASH不支持BIN格式文件的问题就要看我写的PLASHPGM使用了。8 K  p- l9 ]+ v% Z# V
% _; \) b2 `! L* U0 o6 ^4 }1 m7 u) B
' B3 M, x: ~; i8 Q) f) v$ t
3 BANYANT调试代理(不知道名对不,起这么个难记的,我一般都叫它“半羊”因为知道它那几天刚吃了烤羊). c5 _$ G' b$ @3 |3 M8 n
调试代理就是用它帮你使用更简单的JTAG(便宜啊)来实现原本1K才卖的JTAG仿真器的大部分功能。JTAG调试原理看我另一篇笔记。简单的就可以把他理解为你自己做的JTAG的驱动就行了。 ARM开发论坛
7 H% f" p/ Q1 `! Z- a7 d) S" c调试代理还有很多种,什么H-JTAG了、ARM7了(不知道具体叫什么,就记得可执行文件叫ARM7.EXE)都是,BANYANT比较好。
6 X$ C4 {, [% O3 h; l" \需要注重的是,没种调试代理安装方法虽然都简单 但都不一样,需要看说明。而且AXD调试之前都要运行。省钱了,就别怕麻烦了。
: Y. e- g' l: Z9 r3 s
& a5 R$ _8 j6 |- _' ^5 E6 q! Y
. A1 C2 A# ~- s  |" ]" t+ D4 ARM-ELF-TOOLS工具链
) s$ u$ H* V$ }: V& p7 w  P里面是UCLINUX开发用的工具比如ARM-ELF-GCC只类的。工具链就是把很多工具打包在一起发布的方便你开发的东西。具体安装方法看我另一篇笔记。) g+ B6 B; B$ @/ J2 C  Q
另外假如你开发LINUX就要用ARM-LINUX-TOOLS,不一样,不通用。0 f1 {: e$ N* c/ T2 N, F$ b2 S

7 e' m  |8 q$ A$ p& D  R
1 D+ J: a6 u3 _# W8 J+ [5 U-BOOT
% w+ E" U7 p4 e, C大名鼎鼎的BOOTLOADER生成工具,同类的好象还有VIVI(名字很暧昧~~)5 I0 W$ X2 m* @
生成的BOOTLOADER烧到FLASH里,然后就可以用BOOTLOADER下载 烧写其他了
- _; @# z9 L% l( u有了BOOTLOADER才能下UCLINUX。BOOTLOADER就像电脑上的BIOS。当然UCOS的不用这个,用什么我不知道:)1 I; b- ^8 ^' k+ {
最新版本是1.1.4 具体使用方法看我另一篇笔记吧。4 W+ V9 @3 s+ j
& F$ g* H; B. Q1 {9 v# B. u
: M( }6 J* B* X! u8 y  b* n
6 UCLINUX包& X: i( o4 V; Q9 h1 _0 Z
UCLINUX的源码包,不用多说了吧?建议大家用现成的先体会一下,然后再自己编译,裁剪。因为单独UCLINUX的编辑技术上比较简单,但涉及的方面还是比较广的。 字串5
1 b) f' {: c" f/ _4 O, Q/ X+ P7 c/ {% j$ e0 s  S# F' U  M( \

" I6 G, i4 j6 o6 D7 VMWARE
, C' q0 b. F; n# D% a1 p老牌的虚拟机软件,在一个机器上虚拟出一个机器装LINUX(PC上用的),省得你往返开关机了。记得装VMWARE-TOOLS,安装方法在我另一篇笔记里。
得蜜 回答时间:2009-1-15 16:22:15

回复:ARM入门最好的文章(1)

六 有哪些书推荐
, e9 }- Y  d2 L9 u- {主要推荐ZLG的三本书,有这3本再加网络就不用别的书了,其中主要推荐前2本,3是介绍体系结构的,也不错, p5 d" M# i5 f& W2 m7 O

: m+ `) Y$ n; E4 F5 _  g9 w& w1 ARM嵌入式LINUX系统构建与驱动开发,北航版: h& r4 F2 k% Z/ l* N) t- _
驱动写的很具体,前期开发介绍也很好
5 p0 d! [3 r' ?  f/ s3 v, b7 I6 B* o
2 ARM 嵌入式系统实验教程(二),北航版5 T- A  `3 e* G
有ZLG2200的原理图,实验程序和注释,了解人家是怎么开发的。, m7 w, }- k5 r$ B* f

# n% d. @# I# B3 ARM嵌入式系统基础教程" j$ Q# o" P8 K' n( ^2 _
最重要的是体系结构,汇编部分介绍,看看吧,增加理论素质。
; f1 L5 z7 S' ^. x3 Q% p5 P; a! ?: t5 f% _+ a4 q3 v
4 44B0数据手册1 k1 b" c! W# g7 n- M
写在这里是强调它的重要。
( J  t3 K2 {" v; z  P2 \0 M1 [( r
/ o- E+ [! E  d- \- s4 p% J" s# F/ c* V/ E/ Y
不推荐ZLG早期出的红色皮的ARM什么体系结构~只类的
# T, I/ K1 i/ J4 [  F写的太多,看烦了。
( c0 s! x3 G# D+ j其他的书没了几本,没看见好的,大家有看过的推荐吧。0 J2 {  u" K- t8 R* u# j/ d

* g$ }6 b0 A5 z$ e( X  d8 ]: Z: D# U8 Z, B! X" E3 |; t1 J" T
七 选UCOS?UCLINUX?LINUX?VXWORKS?还是当单片机用- n" b2 Y' ]. v% B
1 搞开发,工程设计,用UCOS,小巧,多进程,简单,体现了ARM7的精髓。: m! c" n* i$ ?: M* _
2 LINUX 正根的嵌入式系统,LINUX消费与通信领域用的比较多,但缺点是必须ARM9才能跑,ARM9的板子自己做就不行了,6层板太贵。买开发板1K达底吧。但是还是推荐选ARM9 LINUX / z, X9 K& H' y1 R  D1 F( b$ F
3 UCLINUX 算投机嵌入式系统:)ARM7上可以跑,由有LINUX近亲,学好好可以比较方便的转向LINUX,像我一样的穷鬼用吧,呵呵
6 f$ e! ]) z/ Q& t: @" j4 VXWORKS
: C& n+ [+ U& N" l! V  p) X学好后可以找到高薪工作,但工作机会本身并不比LINUX好找。
: n" b  D1 Z; I2 ^4 Z9 q. j5 当单片机用
' _2 g, S; Q% q0 `7 F! c6 K# a- s不推荐,虽然我景仰的ZLG一直号召这么干。因为对于学习来说多进程的系统设计才是ARM7的玩头,至少你也要整个UCOS啊:)' X+ p0 g  l. d1 P  H
有朋友问我先学这个当基础不行吗?那当然可以~~但我当时就用了1周搞定,就是我先的ADS在RAM中调试的笔记。后来我清空FLASH用的小段程序还是当时写的LED闪烁程序呢。另外1周里其中还因为自己过于菜,没把OM设置好导致晶阵不阵4 b3 o/ p, K% {& n. i. a3 Y7 S
哈哈。这个是必须做的,但一带而过。目标放的远一点。
& f  L. G# j7 o: n( W$ H* {2 V* b* H, l8 d3 y
( k0 r8 \" I* F! x1 ]" `
八 学习要用多长时间
( f6 ?- ]4 o. K4 T  y& w我从菜鸟到现在两个多月,中间被打搅数次。仍然搞定了PCB设计与制版,RAM调试,FLASH下载,UBOOT移植和下载UCLINUX(没剪裁,用现成的),LCD驱动。, |4 }* q' r& s* n( M; W/ u  I
再次坦诚的说:我确实比较菜,说这些不是让大家羡慕,只是告诉你们“你们应该比这个更好”/ f0 H8 A: T7 \2 w9 \# p
我相信良好的态度 合适的方法 及时的总结=成绩
% W0 a/ p  S2 T4 y3 `& B$ ]( [4 F5 j6 Q/ r# C; m# V

8 o( p6 r; ^( Z' i5 ]% A3 Y1 f; a# a九 ARM都玩什么
, T  L: z0 u  n  J就几点! W) k# z8 ^. n8 e
1 硬件设计5 S0 [2 C! J( ~# S2 x5 h# P8 G
2 系统移植
! X) A" k7 T- X, I3 驱动开发
4 m5 n, E6 H6 N. I2 ~$ P4 应用开发
1 |& P1 R! r* d) q没了。其中推荐把注重力放在后两个上,3有难度,4比较灵活,最重要的是都是找工作的砝码。 字串4
4 Q% Z- y+ O& \1 X8 O3 h
% W  Z& n. _' R' j3 `5 @
4 K# v# c& `, i$ P# G十 我用的什么板子1 v: F- o7 A) w) M, Z% B
很多人问我这个问题,我特意写过一个的。再说一次吧。0 C1 v% F4 n0 r$ T
我是自己做的,RAM、ROM、8019等比较麻烦而当时的自己不理解的都按照龚俊的做的。保持其他不便的情况下做了如下改动。
: y% P* P1 `, _3 y* U6 [' d* q1 f1 加了串口通信的GPS模块、 GPRS模块
: G, `3 s4 S1 x" c1 c1 w$ W/ m- p% U一个UART0,一个UART1,当与要用超级终端时用跳线切换。/ y+ \" ]' e. V/ J) G% C) E6 p
2 SD卡,和7843触摸屏
& @: g" Q" O; k7 I( E同时挂在SPI总线上,因为SPI只能挂一个设备,同时还做了I/O模拟的预备,把两个设备又通过跳线挂在4个IO上。
8 I* a6 h7 C( ^8 |) Y3 扩了个IIC的35个键子的键盘
- {  T7 a% W& l用的ZLG的7290,不占用CPU,最大支持64个键子,只上了35个,其他留接口。
' m  c& Q9 V& e/ x+ \$ v4 把LCD接口按照买的LCD改装了,可以用FPC线直接连接。
% q# M: P8 ~) b2 I3 j. L所以改动虽然多,但真正很移植了,初期调试有关的并没动,就是为了现在不那么菜的时候做预备:)
得蜜 回答时间:2009-1-15 16:24:37

回复:ARM入门最好的文章(1)

十一 开发流程
- ^& N7 t0 {6 V9 M这里是我的开发流程
0 ]7 j& d. D; t0 Q1 设计原理图(含WIGGLER的JTAG访真器)) X- Q% N9 Q  }# s& w
2 设计PCB(含WIGGLER的JTAG访真器)
3 G" i; a, Q, o* _3 制版
1 U  ^# K/ v: @# E4 焊接电压,确定电压没问题+ L, z% ~$ @* v# T$ A5 G
5 焊接44B0 JTAG电路 WIGGLER的JTAG访真器 周边电路,用BANYANT 仿真器连接,BANYANT提示错误,但可以显示44B0编号,好象是0X0F0F0F0F只类的,说明44B0没问题
- w+ e6 q$ |% S* ~, T- n6 焊接晶体 RAM ROM 周边电路,用BANYANT 仿真器连接,可以显示正确的44B0了 ) E  z1 e$ ]) |+ a4 R1 Q+ h/ h
7 用BANYANT 仿真器连接,开AXD,在命令行窗口操作RAM,看可不可以修改,可以的话(用内存窗口看RAM地址)RAM就没问题
& G! g+ j7 @( O' v" f可以用这个命令“setmem 0xc000000,0xffffffff,32”
: i" z# J2 Y7 i( P6 m我的RAM挂在BANK6上 所以地址是0XC000000,你要是改了就也得改。4 [3 W* U( d* G+ I2 t& x( W( B
8 用我写的《自己写了个C工程模板又写了个使用说明 》里的方法调试程序吧,写个简单的,我当时写个LED闪烁的。看好使不。) ?: g" C" ]& p8 n9 V8 V) `
9 把程序按照《FLASH烧写总结 》里的烧到FLASH里,测试一下
8 t* w% W! }, Y" C1 o: N. D10 按照《UBOOT 移植操作》移植UBOOT
& q1 o, C) D" D. q, }11 按照《UCLINUX下载简单说明》下个UCLINUX7 g5 P0 y, N/ ~$ U- d5 R$ J; Y. a9 k: y
12 看看驱动开发的方法,自己写个驱动看看4 {( y( m5 _) ?$ F+ f+ e
13 还有很多事东西着你玩 呵呵
$ J/ |9 _  ]: _4 N0 C9 r  c# ^6 Z. X4 |+ e% \3 @; V
7 j8 I0 m8 E# L2 f: @1 J* r; B0 r
十二 关于JTAG访真器0 _% Q/ H6 o  W* b& Q
JTAG访真器现在用的多是简板的,一个244那种,用的没什么不好。
# W/ N  V$ N; {: ?按照并口定义不同分几种,建议选WIFFLER定义的,因为支持的软件多。这个网上多的是,不多说了。
9 e- i3 q1 n7 w& I5 L" t9 u, Z3 U# B2 y值得提的是有的JTAG访真器原理图上有跳线用来使能复位信号,这个一般不跳上。就是不用复位信号,因为JTAG协议里本身也可以控制44B0复位。6 \! S" k. y7 Z1 {4 q
当然,板子上的复位信号跳线也不用跳。8 O* c: D+ E6 k( K( X8 q. i
; K" _5 W0 t: ?3 H

3 u7 h2 c/ I9 B4 `* G十三 哪个公司的ARM/ O2 A/ g7 Z" u! a+ k
这个是问题比较简单。
1 w$ t5 }1 z: T9 |4 Q2 j5 N/ @7 U. {
1 ARM7主要就几个公司的
* s" s- V' W7 G5 a; K三星,PHILIP,ATMEL的 & C# m, Q% K: C3 j* p8 t; r% j
+ K1 S! E$ s% P9 P1 }
ATMEL的有比较便宜的AT91SAM7S32 和AT91SAM7S64 专为8位应用产品量身定做,价格很便宜好象《3刀吧。和PHILIP的21XX差不多,资料太少,项目中选还不错。
- p0 ^( [# A( b; [! Z9 j) B; k其他两家上面说了的不多说了吧+ t: i1 @! e( ]
% C, P; m. N( Z* j6 o( ], u
6 {8 d3 V5 r# e
2 ARM9
) o% d4 ?1 I) T' N* D- L  S这个玩2410和2440的多吧,现在2440还比较火啊 可以考虑买个了9 G8 D5 y7 d6 Z8 m+ G1 r
但是2410就比较便宜了,作为学习来说反到和不错,推荐整一个:)
3 G  T3 `0 S, n6 s" u) ?" F其实ARM9用的最多的领域应该是消费电子,比如手机PDA,而这上面用的多的应该是INTEL的和TI的吧。
- X% q$ x5 H& A. T5 ]: ^4 F+ v3 r但是INTEL的TI的入门材料少,价格高,自己看情况定吧。
萧星-96138 回答时间:2009-1-15 17:08:35

RE:ARM入门最好的文章(1)

学arm 不用学51  根本不是一回事,arm是硬件 因为用arm做产品  你不仅要编程 外围电路也很重要

所属标签

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版