-
-
szzunzheng | 当前状态:离线
总积分:180 2024年可用积分:0
注册时间: 2007-06-06
最后登录时间: 2009-10-12
-
高手对如何学习ARM的讨论
szzunzheng 发表于 2007/9/18 16:02:05 4656 查看 0 回复 [上一主题] [下一主题]
手机阅读
1把arm当超级单片机用,一个高手的观点,初学者不能跟着学,学习为了什么,为了更好的使用,如果当一个超级单片机学习那你什么都学不到,你看周立功的easy arm好是好,提供了很多模版,但学了半天感觉还是51。为了好好学arm还是从头学把引导程序,终端看仔细了,很多人连lpc的时钟配置也不明白,但敢说他会arm,我曾进也是其中一员。
2我只对硬件感兴趣,arm已经把硬软件的界限打破,如果还硬件管硬件,软件归软件,那你还不如回到51,arm是能同意处理多任务系统,51就不行了,你不在软件上下功夫,那你对不起arm 以上仅是比人愚见,一起讨论
高手二:
连硬件的io口以及外围设备都没有精心设计过,谁会相信你做的软件可以紧贴硬件,得到最佳的工作效率呢?
如果小的嵌入式系统都沉浸在用高速io口模拟什么时序,谁又能保证你能将arm所有的潜力发挥出来呢?大家知道,如果用io口模拟会使指令流打差不多10倍折扣。
现代mcu都是基于编译器原理设计出来的,我们在做设计时必须兼顾软硬件两个方面,不能将二者完全分开。
arm内核那么多层的代码运行级别本身就给我们工程师许多想象的空间,我们为什么不发挥一下呢?
高手三:
对于一个有8位单片机基础的人,将arm作为超级单片机来作入门学习,我觉得没什么不妥,学习由浅入深挺好的。对于这个人来说,他最熟悉的是原来8位的单片机,刚接触ARM的时候先撇开操作系统又暂时不去管bootloader的操作,那么就会发现其实arm和8位单片机操作起来其实是相似的。等到了解一些内容后,再进一步去学习boot、学习操作系统那相对就会容易一点了。
51也有人拿来跑操作系统,不过估计是玩的成份居多,而AVR跑操作系统则是有实际应用的。一个人的精力有限,不可能什么都面面俱到,总该有一个侧重的方向。做一个项目,通常需要一个团队,这个团队里面有软件工程师也有硬件工程师,大家各司其职,又相互配合。搞软件的人懂一点硬件会对写程序有帮助,搞硬件的人也应该懂一点软件。软件工程师可以专门负责操作系统里面的任务处理,硬件工程师除了完成硬件电路的设计外还需要编写一些硬件驱动程序。如果一个软件工程师不知道什么是串口,那么他就可能会不理解用串口发送数据和普通I/O操作有什么不一样。如果一个硬件工程师没有地址的概念、不知道数据位宽,那么他就可能不会理解给ARM系统接一块16位的FLASH的时候地址线为什么要偏移一位。