你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM8S207RB 64K的芯片烧进去近100K的程序!

[复制链接]
瓶子-370164 提问时间:2014-9-19 17:49 /
 接到一个客户反映:使用STM8S207R8,FLASH是64K。使用IAR编译自己的程序的时候,超出64K,编译器报错。将编译器工程下的芯片型号设置成STM8S207RB,128K,然后编译完成。直接下载程序到64K这款IC,居然成功了。然后所有功能运行都还正常。
问:1.编译器不认具体芯片的型号。这个核实过了。
         2.编译器编译完成已经超过芯片自身的flash容量了,还有超出的数据单独下的。据说超出总共近20K。为什么程序还能正常运行?
         3.这样做有什么风险?
PS:ST这芯片有这么不靠谱吗?太神奇了,期待大神解答!
 
收藏 评论7 发布时间:2014-9-19 17:49

举报

7个回答
废鱼 回答时间:2014-9-20 09:00:03

RE:STM8S207RB 64K的芯片烧进去近100K的程序!

有风险,你可以看一下MAP文件,是哪些函数超出了范围,在调用这些函数的时候会发生异常。
可以开优化,让编译器帮你优化一下,这样减少代码。
瓶子-370164 回答时间:2014-9-22 08:50:27

RE:STM8S207RB 64K的芯片烧进去近100K的程序!

问题是客户反映他下载超过最大芯片存储空间的程序了,下载的时候,编译器难道不会报错吗?另外他反映所有功能都正常,我很奇怪。求大神解答。另外,读写空间 read and write memory 这个空间由什么决定?哪一份稳定比较详细的描述了这个?
废鱼 回答时间:2014-9-22 09:37:47

RE:STM8S207RB 64K的芯片烧进去近100K的程序!

这个可以自己测试一下,另外,你说的100K是bin文件还是HEX?
如果是HEX的话,大小应该在50K左右。因为同系列的芯片寄存器是一样的,而寄存器一般都是在RAM中,所以不会发生寄存器操作不成功的问题。
具体写入的空间可以看手册的FALSH这一章。
gj1141 回答时间:2014-9-22 16:25:47

回复:STM8S207RB 64K的芯片烧进去近100K的程序!

回复第 4 楼 于2014-09-22 09:37:47发表:
这个可以自己测试一下,另外,你说的100K是bin文件还是HEX?
如果是HEX的话,大小应该在50K左右。因为同系列的芯片寄存器是一样的,而寄存器一般都是在RAM中,所以不会发生寄存器操作不成功的问题。
具体写入的空间可以看手册的FALSH这一章。
文件是HEX文件,但大小已经为256k,另外请问下,MAP文件该如何查看(编译器为IAR)。。。麻烦了
 
废鱼 回答时间:2014-9-22 17:23:09

RE:STM8S207RB 64K的芯片烧进去近100K的程序!

我用的是KEIL.一般都在工程编译输出文件夹下面.或者右键工程查看MAP文件.
那片清茶 回答时间:2014-9-23 09:10:00

RE:STM8S207RB 64K的芯片烧进去近100K的程序!

你可以在Debug文件夹里面进行查看,你也可以运用网友提供的文件,对STVD编译的flash ,ram进行查看。
那片清茶 回答时间:2014-9-23 09:13:49

RE:STM8S207RB 64K的芯片烧进去近100K的程序!

https://www.stmcu.org.cn/bbs/article_394_596025.html  我刚刚发的帖子,你可以看看。
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版