打印

**肋

[复制链接]
14754|74
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
songbw|  楼主 | 2007-10-18 13:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近我在学习arm,因为我以前做FPGA开发,用FPGA做控制和算法处理。因此硬件设计在我脑子里影响很深。
我看了嵌入式操作系统uc/os,然后周立功的开发板smartARM也快到了。我很快就要移植操作系统,进行项目开发。
可是我最近发现arm7的功能很有限,lpc2100有100多个引脚,都只能做特定的控制功能。而如果接不到10个接口,我在FPGA上用硬件实现这些接口都可以,为什么一定要让ARM7来做呢?而且我感觉arm7根本无法做FPGA和DSP的算法处理。那只用来做控制的话,我完全可以用FPGA实现,如果控制的接口多了,那我用嵌入软核的FPGA或者DSP也可以。那ARM7就完全没有用了,而且在arm上移植嵌入式操作系统似乎工作量也不比直接用FPGA来控制更方便省事。

我感觉我的想法有些误区,可是又不知道错在什么地方。

相关帖子

沙发
阿南| | 2007-10-18 14:12 | 只看该作者

呵呵

用ARM7真的需要自己移植OS吗,您又不是第一个在lpc2100上用OS
用FPGA是可以实现,但是考虑成本、开发周期、可靠性、您项目的移植性。您的项目让其它人是否都能够顺利接手。

使用特权

评论回复
板凳
songbw|  楼主 | 2007-10-18 14:22 | 只看该作者

我还不是很明白

用arm7确实有交给如何移植uc/os的方法,可是我现在看书还是一头雾水。也许板买回来调试一下能好的多。但应该也需要一段时间才能理解整个移植的过程吧。
如果考虑成本、开发周期和你说的可靠性等问题,FPGA有很大的弱势吗?

我对arm还有个理解就是,arm就是为了软件工程师定做的,让软件工程师可以避开底层的硬件,方便的在上层开发,就好像很多在电脑上开发应用软件的工程师,根本不需要理解主板的结构和CPU的引脚功能一样。
而像我以前做硬件开发的人,就不需要再用像arm这样的开发工具了。
请问我这种理解对吗?
还有,arm能否做一些稍微麻烦的数字信号处理方面的工作,我的boss想把在DSP上跑的算法处理移植到arm上,他的想法就是同样都是用C语言编程,那移植到arm上就没有问题,这样理解对吗?
我稍微询问了一下在DSP上跑的算法,如果我用FPGA在硬件上实现没什么问题,可在arm上就不知道了。
我感觉我们部门的同事对arm理解都有很大的误区,我也学习不久,也不能很好的理解。

使用特权

评论回复
地板
songbw|  楼主 | 2007-10-18 14:23 | 只看该作者

谢谢版主回复了。

我刚学arm不久,来这版块时间也不常,希望你们这些高手多多帮忙啦。

使用特权

评论回复
5
HWM| | 2007-10-18 14:33 | 只看该作者

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

但对于软核的性能还有待商榷。ARM更适合在要求有相当灵活性和可扩展性的系统中应用。

使用特权

评论回复
6
阿南| | 2007-10-18 14:40 | 只看该作者

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

夸大点讲就是永远不会有人拿PIII做只需要4位MCU就能完成的小玩具一样。如果您考虑清楚了,各种方法都评估完善了,最终确定FPGA可行,那就用FPGA实现也没有错。
lpc2100是用来替代高级单片机的,适合做控制,而不是取代DSP的,算法不是它的长处

使用特权

评论回复
7
songbw|  楼主 | 2007-10-18 14:46 | 只看该作者

谢谢大家的回复了。

谢谢大家了,如果大家还有什么指点的话请不要保留啊。

我再想询问一个问题,我看LPC2210的芯片资料发现,他们对芯片几乎所有的管脚的功能都定义好了,比如有的做串口,有的做数据和地址接口。这和FPGA完全不一样,FPGA的通用IO口都是一样的,至于用来做什么完全自己定义。
那arm能够自己定义引脚的功能吗?比如说他们规定用来做串口的引脚,我能自己设置做IIC或者USB接口吗?

使用特权

评论回复
8
HWM| | 2007-10-18 14:54 | 只看该作者

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

但一旦板子设计好了所用引脚就固定了,ARM的灵活性并不是体现在这上面。

使用特权

评论回复
9
songbw|  楼主 | 2007-10-18 15:05 | 只看该作者

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

我的问题是:arm芯片都自己定义了管脚的功能,我能否自己更改这些功能吗?
比如,arm芯片有做串口的引脚,那我能否把这个管脚当成USB的管脚从而做USB的数据传输呢?
还有您说的对硬件设计比较方便是什么意思呢?

使用特权

评论回复
10
computer00| | 2007-10-18 15:15 | 只看该作者

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

就像你的FPGA一样,能做输入输出引脚使用的普通IO口,不能用来做模拟电压比较器,也不能拿来做ADC输入,因为它就不具备那个功能。


你使用CPLD或者FPGA什么的,主要是成本高,一些比较长的处理和控制也不太好实现。
而CPU不一样,它是一个软件执行的过程,程序容易写。有些操作用HDL语言来描述,可能会累
死人。

使用特权

评论回复
11
LPcfANS| | 2007-10-18 15:17 | 只看该作者

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

arm芯片有做串口的引脚,那我能否把这个管脚当成USB的管脚从而做USB的数据传输呢?

/////////////////////////
你选错了.

使用特权

评论回复
12
songbw|  楼主 | 2007-10-18 15:43 | 只看该作者

感谢大家的回复了

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

使用特权

评论回复
13
computer00| | 2007-10-18 15:48 | 只看该作者

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

冯诺依曼结构的计算机原理。

使用特权

评论回复
14
songbw|  楼主 | 2007-10-18 15:56 | 只看该作者

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

我对冯诺依曼结构和哈佛结构也只是能从字面上去了解,我想深入了解的话有什么资料能推荐一下吗?而且我对arm的运算能力也没有认识,我想好好理解一下一段C代码是如何转换成arm能够识别的指令,进而在内核中运行的。

使用特权

评论回复
15
HWM| | 2007-10-18 16:04 | 只看该作者

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

不用这么复杂,随便找本相关的入门级书就可以,现在中学生都能说的头头是道。

使用特权

评论回复
16
sodwell| | 2007-10-18 16:08 | 只看该作者

re

ARM7,特别是LPC的,特别适合做控制方面的东西

使用特权

评论回复
17
computer00| | 2007-10-18 16:11 | 只看该作者

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

而现在的计算机都是如此,出现哈佛结构结构这个词,主要是为了区分数据总线等结构不一样,
我从来就不认为这两者是同一个分类标准,所以不能将两者放在一块比较。哈佛结构也是冯诺依曼结构的计算机。

计算机原理的书多了去了,随便找本看看就行了吧,不过那些最新的讲奔腾处理器什么的
书还是不要买,要买就买那些比较早的,什么Z80,8080,8086什么的,这些比较简单,
或者一些像51单片机一类的书也不错,用这些学习比较好。


C语句经过编译器编译连接后,就成了指令。其实指令也没什么,就是一些二进制的数字。
而说简单点,CPU也很简单,就是有一个计数器(程序计数器,PC),从0开始计数,
根据这个计数器的值作为地址,将对应的存储器中的指令(就是一些数)取出来,
交给指令译码器译码,译码之后就会产生一些动作,这些其实就跟你常接触的FPGA
里面那些操作差不多了。然后PC值增加,执行下面的指令,就这样依次执行下去。
当然再复杂些就是有跳转,中断什么的。

使用特权

评论回复
18
HWM| | 2007-10-18 16:18 | 只看该作者

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

使用特权

评论回复
19
decoder8| | 2007-10-18 16:27 | 只看该作者

arm功耗小!!

使用特权

评论回复
20
songbw|  楼主 | 2007-10-18 17:17 | 只看该作者

arm和dsp功耗都不大

arm和dsp功耗都不大,我们项目组的其它成员都比较反对用FPGA实现算法,就是因为功耗大的缘故,反正项目将来还要讨论这些问题,我还是先学着arm先。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

26

主题

86

帖子

1

粉丝