**肋

[复制链接]
 楼主| songbw 发表于 2007-10-18 13:57 | 显示全部楼层 |阅读模式
最近我在学习arm,因为我以前做FPGA开发,用FPGA做控制和算法处理。因此硬件设计在我脑子里影响很深。<br />我看了嵌入式操作系统uc/os,然后周立功的开发板smartARM也快到了。我很快就要移植操作系统,进行项目开发。<br />可是我最近发现arm7的功能很有限,lpc2100有100多个引脚,都只能做特定的控制功能。而如果接不到10个接口,我在FPGA上用硬件实现这些接口都可以,为什么一定要让ARM7来做呢?而且我感觉arm7根本无法做FPGA和DSP的算法处理。那只用来做控制的话,我完全可以用FPGA实现,如果控制的接口多了,那我用嵌入软核的FPGA或者DSP也可以。那ARM7就完全没有用了,而且在arm上移植嵌入式操作系统似乎工作量也不比直接用FPGA来控制更方便省事。<br /><br />我感觉我的想法有些误区,可是又不知道错在什么地方。
阿南 发表于 2007-10-18 14:12 | 显示全部楼层

呵呵

用ARM7真的需要自己移植OS吗,您又不是第一个在lpc2100上用OS<br />用FPGA是可以实现,但是考虑成本、开发周期、可靠性、您项目的移植性。您的项目让其它人是否都能够顺利接手。
 楼主| songbw 发表于 2007-10-18 14:22 | 显示全部楼层

我还不是很明白

用arm7确实有交给如何移植uc/os的方法,可是我现在看书还是一头雾水。也许板买回来调试一下能好的多。但应该也需要一段时间才能理解整个移植的过程吧。<br />如果考虑成本、开发周期和你说的可靠性等问题,FPGA有很大的弱势吗?<br /><br />我对arm还有个理解就是,arm就是为了软件工程师定做的,让软件工程师可以避开底层的硬件,方便的在上层开发,就好像很多在电脑上开发应用软件的工程师,根本不需要理解主板的结构和CPU的引脚功能一样。<br />而像我以前做硬件开发的人,就不需要再用像arm这样的开发工具了。<br />请问我这种理解对吗?<br />还有,arm能否做一些稍微麻烦的数字信号处理方面的工作,我的boss想把在DSP上跑的算法处理移植到arm上,他的想法就是同样都是用C语言编程,那移植到arm上就没有问题,这样理解对吗?<br />我稍微询问了一下在DSP上跑的算法,如果我用FPGA在硬件上实现没什么问题,可在arm上就不知道了。<br />我感觉我们部门的同事对arm理解都有很大的误区,我也学习不久,也不能很好的理解。
 楼主| songbw 发表于 2007-10-18 14:23 | 显示全部楼层

谢谢版主回复了。

我刚学arm不久,来这版块时间也不常,希望你们这些高手多多帮忙啦。
HWM 发表于 2007-10-18 14:33 | 显示全部楼层

各有各的长处,各有各的偏重。从楼主的应用来看确实FPGA比

但对于软核的性能还有待商榷。ARM更适合在要求有相当灵活性和可扩展性的系统中应用。
阿南 发表于 2007-10-18 14:40 | 显示全部楼层

不同的产品有不同的应用,

夸大点讲就是永远不会有人拿PIII做只需要4位MCU就能完成的小玩具一样。如果您考虑清楚了,各种方法都评估完善了,最终确定FPGA可行,那就用FPGA实现也没有错。<br />lpc2100是用来替代高级单片机的,适合做控制,而不是取代DSP的,算法不是它的长处
 楼主| songbw 发表于 2007-10-18 14:46 | 显示全部楼层

谢谢大家的回复了。

谢谢大家了,如果大家还有什么指点的话请不要保留啊。<br /><br />我再想询问一个问题,我看LPC2210的芯片资料发现,他们对芯片几乎所有的管脚的功能都定义好了,比如有的做串口,有的做数据和地址接口。这和FPGA完全不一样,FPGA的通用IO口都是一样的,至于用来做什么完全自己定义。<br />那arm能够自己定义引脚的功能吗?比如说他们规定用来做串口的引脚,我能自己设置做IIC或者USB接口吗?
HWM 发表于 2007-10-18 14:54 | 显示全部楼层

LS:那是对你的硬件设计比较方便,

但一旦板子设计好了所用引脚就固定了,ARM的灵活性并不是体现在这上面。
 楼主| songbw 发表于 2007-10-18 15:05 | 显示全部楼层

楼上的朋友,可能我没说清我的问题让你误解了

我的问题是:arm芯片都自己定义了管脚的功能,我能否自己更改这些功能吗?<br />比如,arm芯片有做串口的引脚,那我能否把这个管脚当成USB的管脚从而做USB的数据传输呢?<br />还有您说的对硬件设计比较方便是什么意思呢?
computer00 发表于 2007-10-18 15:15 | 显示全部楼层

不能。数据手册上说它是什么功能,它就只能是什么功能了

就像你的FPGA一样,能做输入输出引脚使用的普通IO口,不能用来做模拟电压比较器,也不能拿来做ADC输入,因为它就不具备那个功能。<br /><br /><br />你使用CPLD或者FPGA什么的,主要是成本高,一些比较长的处理和控制也不太好实现。<br />而CPU不一样,它是一个软件执行的过程,程序容易写。有些操作用HDL语言来描述,可能会累<br />死人。
LPcfANS 发表于 2007-10-18 15:17 | 显示全部楼层

ARM7不错啊。代替单片机超级好.呵呵.

arm芯片有做串口的引脚,那我能否把这个管脚当成USB的管脚从而做USB的数据传输呢?<br /><br />/////////////////////////<br />你选错了.<br />
 楼主| songbw 发表于 2007-10-18 15:43 | 显示全部楼层

感谢大家的回复了

我也很高兴有这个项目机会能了解arm这个工具,感觉arm还是偏于软件,以前我没做过软件方面,正好好好的熟悉一下。看来我还要继续学习arm,现在对arm理解还是不行,要是再有什么心得,再和大家一起讨论分享。
computer00 发表于 2007-10-18 15:48 | 显示全部楼层

呵呵,其实你要学的并不是ARM,而是计算机原理,

冯诺依曼结构的计算机原理。
 楼主| songbw 发表于 2007-10-18 15:56 | 显示全部楼层

楼上的朋友,你有什么资料推荐一下吗?

我对冯诺依曼结构和哈佛结构也只是能从字面上去了解,我想深入了解的话有什么资料能推荐一下吗?而且我对arm的运算能力也没有认识,我想好好理解一下一段C代码是如何转换成arm能够识别的指令,进而在内核中运行的。
HWM 发表于 2007-10-18 16:04 | 显示全部楼层

呵呵,字面上可看不出什么,只是两个人名。

不用这么复杂,随便找本相关的入门级书就可以,现在中学生都能说的头头是道。
sodwell 发表于 2007-10-18 16:08 | 显示全部楼层

re

ARM7,特别是LPC的,特别适合做控制方面的东西
computer00 发表于 2007-10-18 16:11 | 显示全部楼层

其实冯诺依曼结构是指将程序存储在存储器内,然后一条条

而现在的计算机都是如此,出现哈佛结构结构这个词,主要是为了区分数据总线等结构不一样,<br />我从来就不认为这两者是同一个分类标准,所以不能将两者放在一块比较。哈佛结构也是冯诺依曼结构的计算机。<br /><br />计算机原理的书多了去了,随便找本看看就行了吧,不过那些最新的讲奔腾处理器什么的<br />书还是不要买,要买就买那些比较早的,什么Z80,8080,8086什么的,这些比较简单,<br />或者一些像51单片机一类的书也不错,用这些学习比较好。<br /><br /><br />C语句经过编译器编译连接后,就成了指令。其实指令也没什么,就是一些二进制的数字。<br />而说简单点,CPU也很简单,就是有一个计数器(程序计数器,PC),从0开始计数,<br />根据这个计数器的值作为地址,将对应的存储器中的指令(就是一些数)取出来,<br />交给指令译码器译码,译码之后就会产生一些动作,这些其实就跟你常接触的FPGA<br />里面那些操作差不多了。然后PC值增加,执行下面的指令,就这样依次执行下去。<br />当然再复杂些就是有跳转,中断什么的。
HWM 发表于 2007-10-18 16:18 | 显示全部楼层

“哈佛”可比“冯诺依曼”早啊。

  
decoder8 发表于 2007-10-18 16:27 | 显示全部楼层

arm功耗小!!

  
 楼主| songbw 发表于 2007-10-18 17:17 | 显示全部楼层

arm和dsp功耗都不大

arm和dsp功耗都不大,我们项目组的其它成员都比较反对用FPGA实现算法,就是因为功耗大的缘故,反正项目将来还要讨论这些问题,我还是先学着arm先。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

26

主题

86

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部