POPPUR爱换

标题: 为什么intel不重启8051市场,骚扰一下ARM? [打印本页]

作者: 罗菜鸟    时间: 2012-5-23 14:12
标题: 为什么intel不重启8051市场,骚扰一下ARM?
   既然ARM要抢intel的传统市场,intel也应该祭出8051来敲打一下ARM啊。
  ARM7和cortex太费内存了,你不在芯片里集成10多K的SRAM,你都不好意思说你是32位SOC。成本很难降到50美分了,人家8051的,成本可以降到1.00RMB

作者: acqwer    时间: 2012-5-23 15:22
8051那么多厂在做,罗教授不会以为没得卖了吧。
作者: nom8393    时间: 2012-5-23 16:02
acqwer 发表于 2012-5-23 15:22
8051那么多厂在做,罗教授不会以为没得卖了吧。

Intel早就战略性抛弃单片机市场了。8051的生产已经不会给Intel带来任何利润了。
作者: Prescott    时间: 2012-5-23 16:35
几毛钱一个,这种小钱。。。。。
卖一亿个的利润还不够给几个工程师发工资的。
作者: AD2012    时间: 2012-5-24 09:11
8051运算能太低了

intel出atom对付arm
作者: 罗菜鸟    时间: 2012-5-24 14:22
Prescott 发表于 2012-5-23 16:35
几毛钱一个,这种小钱。。。。。
卖一亿个的利润还不够给几个工程师发工资的。[sweatingbullets>

合理的市场才是关键,人可以4年不买新电脑,不买新手机,但是不能不坐公交,不能不交水电费。如果8051芯片的损耗速度提高,比如做身份卡的,一个月换一次key,芯片拿去报废填海,利润是源源不断的
作者: 罗菜鸟    时间: 2012-5-24 14:24
acqwer 发表于 2012-5-23 15:22
8051那么多厂在做,罗教授不会以为没得卖了吧。

应该扩展到32位,传统的8051几十年没有改进了,当初设计的是256字节的RAM和64K的ROM上限。导致性能过低。
作者: lvhan    时间: 2012-5-24 14:58
8051做嵌入式 现在也有点过时了
作者: gzpony    时间: 2012-5-24 15:02
单片机市场和arm的主要市场也不在一个位置吧。虽然arm有自己的嵌入式cpu,但现在吸引眼球,发展最快的不是这个。
作者: Prescott    时间: 2012-5-24 15:27
罗菜鸟 发表于 2012-5-24 14:22
合理的市场才是关键,人可以4年不买新电脑,不买新手机,但是不能不坐公交,不能不交水电费。如果8051芯片 ...

那有怎么样,总市场大小在这里放着,一年就那么多个,何况你的那些例子,哪个是拿51加外围芯片做的。都是单芯片,每个都不一样。这根本不是Intel的菜。
作者: 罗菜鸟    时间: 2012-5-25 16:35
Prescott 发表于 2012-5-24 15:27
那有怎么样,总市场大小在这里放着,一年就那么多个,何况你的那些例子,哪个是拿51加外围芯片做的。都是 ...

ARM的cortex M已经开始蚕食这个市场了,atmel已经退出帮苹果做触摸屏了。TI的MSP430规模太小,microchip的PIC已经老化。未来物联网技术普及,高性能单片机才是王道,ARM的解决方案都是针对这个的。
物联网时代的地球就好比一个有生命的物体,一个生物一生中摄入的营养,多少是用于脑细胞,多少又是用于体细胞?
作者: acqwer    时间: 2012-5-28 10:28
罗菜鸟 发表于 2012-5-24 14:24
应该扩展到32位,传统的8051几十年没有改进了,当初设计的是256字节的RAM和64K的ROM上限。导致性能过低。

256字节的8051,罗叫兽莫非以为8051是8位所以只能放256字节?叫兽还是老老实实的当文员这种有前途的职业吧。
作者: 罗菜鸟    时间: 2012-6-4 09:06
acqwer 发表于 2012-5-28 10:28
256字节的8051,罗叫兽莫非以为8051是8位所以只能放256字节?叫兽还是老老实实的当文员这种有前途的职业吧 ...

data是256字节,xdata只支持间接寻址,两条mov和一条movx指令,movx指令都在3~4个周期。
要命的是堆栈寄存器是8位的,超过8位的堆栈要通过一个函数来模拟16位堆栈。看看8051在进入一个函数前,是怎么保存堆栈的吧

?FUNC_ENTER_XDATA:
0006E5  25 18           ADD   A,XSP(L)
0006E7  C5 82           XCH   A,DPL
0006E9  C0 E0           PUSH  A
0006EB  E5 19           MOV   A,XSP(H)
0006ED  34 FF           ADDC  A,#0xFF
0006EF  C5 83           XCH   A,DPH
0006F1  C0 E0           PUSH  A
0006F3  E5 18           MOV   A,XSP(L)
0006F5  C3              CLR   C
0006F6  95 82           SUBB  A,DPL
0006F8  24 F9           ADD   A,#0xF9
0006FA  F8              MOV   R0,A
0006FB  E4              CLR   A
0006FC  C5 A8           XCH   A,IE
0006FE  85 83 19        MOV   XSP(H),DPH
000701  85 82 18        MOV   XSP(L),DPL
000704  C5 A8           XCH   A,IE
000706  E8              MOV   A,R0
000707  CE              XCH   A,R6
000708  F0              MOVX  @DPTR,A
000709  A3              INC   DPTR
00070A  E5 20           MOV   A,VB
00070C  F0              MOVX  @DPTR,A
00070D  A3              INC   DPTR
00070E  78 10           MOV   R0,#0x10
000710  E6              MOV   A,@R0
000711  08              INC   R0
000712  F0              MOVX  @DPTR,A
000713  A3              INC   DPTR
000714  DE FA           DJNZ  R6,0x0710
000716  EF              MOV   A,R7
000717  F0              MOVX  @DPTR,A
000718  A3              INC   DPTR
000719  E5 81           MOV   A,SP
00071B  24 FB           ADD   A,#0xFB
00071D  F8              MOV   R0,A
00071E  E6              MOV   A,@R0
00071F  08              INC   R0
000720  F0              MOVX  @DPTR,A
000721  A3              INC   DPTR
000722  E6              MOV   A,@R0
000723  08              INC   R0
000724  F0              MOVX  @DPTR,A
000725  A3              INC   DPTR
000726  08              INC   R0
000727  08              INC   R0
000728  E6              MOV   A,@R0
000729  08              INC   R0
00072A  F0              MOVX  @DPTR,A
00072B  A3              INC   DPTR
00072C  E6              MOV   A,@R0
00072D  08              INC   R0
00072E  F0              MOVX  @DPTR,A
00072F  A3              INC   DPTR
000730  15 81           DEC   SP
000732  15 81           DEC   SP
000734  D0 E0           POP   A
000736  FE              MOV   R6,A
000737  D0 E0           POP   A
000739  F8              MOV   R0,A
00073A  15 81           DEC   SP
00073C  15 81           DEC   SP
00073E  E8              MOV   A,R0
00073F  C0 E0           PUSH  A
000741  EE              MOV   A,R6
000742  C0 E0           PUSH  A
000744  22              RET
作者: acqwer    时间: 2012-6-4 10:02
本帖最后由 acqwer 于 2012-6-4 10:05 编辑
罗菜鸟 发表于 2012-6-4 09:06
data是256字节,xdata只支持间接寻址,两条mov和一条movx指令,movx指令都在3~4个周期。
要命的是堆栈寄 ...

叫兽说的是这个?想充内行好歹吧那些保留的寄存器去掉说个128字节吧。

作者: yoyofuture88    时间: 2012-6-4 14:54
51单片机已经没多少搞头了,虽然很多关键设备都在用,但是一上来如果都是什么智能系统,安全性、稳定性出了问题就死了,比你一个PC 挂了惨的多。而且比较智能的设备,都是用arm的,不会用51.
作者: 罗菜鸟    时间: 2012-6-5 10:01
acqwer 发表于 2012-6-4 10:02
叫兽说的是这个?想充内行好歹吧那些保留的寄存器去掉说个128字节吧。

128个字节的直接寻址128个字节的间接寻址,外部寄存器也可以分配到Xdata上,比如DMA,RF,USB

作者: hbk135    时间: 2012-6-5 10:48
这只是个笑话吧?
作者: acqwer    时间: 2012-6-5 11:13
罗菜鸟 发表于 2012-6-5 10:01
128个字节的直接寻址128个字节的间接寻址,外部寄存器也可以分配到Xdata上,比如DMA,RF,USB

叫兽为什么总喜欢拿些教科书上面的基本内容出来装B呢,莫非觉得这些东西很难?

即使这样还能经常出错。
作者: 罗菜鸟    时间: 2012-6-6 20:29
acqwer 发表于 2012-6-5 11:13
叫兽为什么总喜欢拿些教科书上面的基本内容出来装B呢,莫非觉得这些东西很难?

即使这样还能经常出错。 ...

这些都是老子的经验。
根据我自己总结的经验,8051编程,中断函数务必要做到几点。
1,中断函数不能有bank切换,必须用__near_bank申明。
2,中断函数不能使用局部变量,要使用全局变量,不然编译器在进入中断的时候会让CPU去压Xdata的堆栈。
3,中断要调度的全局变量,必须放在data中
综上所述,8051不适合运行操作系统,不适合多任务。cortex M就是一款专门为RTOS优化的操作系统,现在很多RTOS内存消耗很小,内核只有几百个字节,而且还免费。不知道这里有玩航模的没有,天地飞8通是一款经典的产品,futaba的那个带CE的万一死机,成了航模玩家的热门话题




欢迎光临 POPPUR爱换 (https://we.poppur.com/) Powered by Discuz! X3.4