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

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管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版