原来用AVR MEGA64 现在想换芯片, 如果用STM8

[复制链接]
6433|18
 楼主| shanggzq 发表于 2010-9-29 17:00 | 显示全部楼层 |阅读模式
原来用AVR MEGA64 现在想换芯片, 如果用STM8,请高人推荐一下相近的型号,谢谢!
jgphu 发表于 2010-9-29 17:53 | 显示全部楼层
你说一下你要什么功能, ROM RAM要多大。
mcuisp 发表于 2010-9-29 17:55 | 显示全部楼层
用得起ATmega64,咋不用STM32?
除非是5V工作。
 楼主| shanggzq 发表于 2010-9-30 09:34 | 显示全部楼层
5V工作的系统, 原来用过STM32测试过, 程序比较多的状态切换,很慢的, 16 32位的用不上, 有的8位就够了, RAM 4K, FLASH 64K, EEPROM 1-2K,  2 USART, 8-16 AD, 2 PWM, 谢谢!
IJK 发表于 2010-9-30 09:35 | 显示全部楼层
AVR MEGA64 如果没记错是64kB的程序空间,64kB的STM8是STM8S207,但它的价格不象STM8S105那么便宜、性价比高。
其实如3L所说,如果可以用3V供电,用STM32更有性价比,比如STM32F100。
 楼主| shanggzq 发表于 2010-9-30 09:41 | 显示全部楼层
还有简单的看了STM8的介绍, 工作在24M,最大的20MPIS, 说比AVR的16M 的要快,  STM8是3级流水线的, 如果程序里面频繁的切换,是不是要清流水线? 速度会不会变成1/3,或还要低,  谢谢!
IJK 发表于 2010-9-30 11:07 | 显示全部楼层
5V工作的系统, 原来用过STM32测试过, 程序比较多的状态切换,很慢的,
shanggzq 发表于 2010-9-30 09:34


这个看法比较奇怪,STM32再慢,也比AVR的16M要快不少。
IJK 发表于 2010-9-30 11:10 | 显示全部楼层
还有简单的看了STM8的介绍, 工作在24M,最大的20MPIS, 说比AVR的16M 的要快,  STM8是3级流水线的, 如果程序里面频繁的切换,是不是要清流水线? 速度会不会变成1/3,或还要低,  谢谢! ...
shanggzq 发表于 2010-9-30 09:41


STM8是3级流水线的, 如果程序里面频繁的切换,是要清流水线,但速度肯定不是变到1/3,估计从24M打8折吧
 楼主| shanggzq 发表于 2010-9-30 13:40 | 显示全部楼层
谢谢! IJK,  当时确实碰到比AVR的16M慢的问题,可能在什么地方没有处理好, 那时很忙,就放着,  还有一个就是STM32直接调用ST的库, C语言写,  AVR我们是用汇编写的,不知道是否也是一个因素.  STM8在程序频繁切换,至少能打8折,那应该就没问题. 谢谢!
 楼主| shanggzq 发表于 2010-9-30 13:48 | 显示全部楼层
还有个问题请教, STM8程序直接在 FLASH 运行和在RAM 运行有速度差别吗? 原来在论坛里看过,对于STM32的程序在FLASH直接运行和在RAM里面运行是一定有差别, 说STM32在FLASH运行速度会减低.大概降低多少?谢谢,
IJK 发表于 2010-9-30 14:40 | 显示全部楼层
STM8程序直接在 FLASH 运行和在RAM 运行在某些情况下有速度差别,因为STM8的FLASH没有等待时最多能跑16M。如果STM8最高只运行在16M,就没有速度差别;如果让STM8运行在24M,FLASH需要加1个等待周期,因此有一些速度差别,但速度差别没有STM32大。
道理跟STM32类似。

“STM32在FLASH运行速度会减低”,这个说法在某些情况下成立,具体结论可以看以往的帖子
 楼主| shanggzq 发表于 2010-9-30 23:53 | 显示全部楼层
谢谢你的回答, 还有个问题是如何调程序到RAM里面运行, 有直接的函数吗? 象TMS320F281X系列函数定义就可以了.
 楼主| shanggzq 发表于 2010-9-30 23:55 | 显示全部楼层
定义个拷贝函数,把要运行的程序拷贝到RAM空间, 确定程序开始地址,就可以运行
ilymy 发表于 2010-10-1 15:02 | 显示全部楼层
STM32有内部e2p吗,m64可是有4k呀
 楼主| shanggzq 发表于 2010-10-2 17:04 | 显示全部楼层
stm32里面没有EEPROM, STM8里面有吧
mcuisp 发表于 2010-10-3 00:38 | 显示全部楼层
我的实践,STM32在FLASH里跑比SRAM要快很多。
在SRAM里面跑,code总线和data总线竞争很厉害。
xjwbh 发表于 2010-10-3 10:04 | 显示全部楼层
本人是什么都会点,但什么都不精,CPU也用了好多种了,现在觉得8位的AVR很不错(现在不好买),32位的就不要再挑了STM32吧,真的不错,用起来很顺手,用JLINK+SWD,调试!
sunny_ugv 发表于 2010-10-5 21:10 | 显示全部楼层
STM8S207C8T6
这个好象适合哦
pattywu 发表于 2012-7-24 11:55 | 显示全部楼层
用ST的库来操作STM32,不慢是不可能的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

18

主题

71

帖子

1

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