打印
[STM8]

继续针对STM8S的Option byte寻求答案

[复制链接]
楼主: yewuyi
手机看帖
扫描二维码
随时随地手机跟帖
21
本帖最后由 CC2530 于 2011-6-23 15:16 编辑
define region Option = [from 0x4800 to 0x48FF];

place in Option { ro section .option.rodata,
ro section .option.text };


IAR STM8,STM8L101F3,OPTION



#define OPT1_OFFSET  0
#define OPT2_OFFSET  2
#define OPT3_OFFSET  3
#define OPT4_OFFSET  8
__root const unsigned char Optbytes[] @".option.text"=
{
    [OPT1_OFFSET]=0x00,   //OPT1
    [OPT2_OFFSET]=0x00,   //OPT2   
    [OPT3_OFFSET]=0x00,   //OPT3   
    [OPT4_OFFSET]=0x00,   //OPT4      
};

使用特权

评论回复
22
dadodo| | 2011-6-23 15:49 | 只看该作者
顶楼上

使用特权

评论回复
23
mcuisp| | 2011-6-23 16:04 | 只看该作者
本帖最后由 mcuisp 于 2011-6-23 16:08 编辑

IAR确实好弄很多。也可以弄的很完美。
建议楼主换用IAR
COSMIC我现在还没找到类似__root关键字的弄法。

使用特权

评论回复
24
yewuyi|  楼主 | 2011-6-23 16:15 | 只看该作者
因为看到说IAR编译器还有一些问题,再加上IAR版本不断变化,而且IAR不支持RLINK,所以就没用IAR。

AVR等在IAR环境里面就是用root关键字,呵呵,STVD+COSMIC支持RLINK,而且打开PROGRAM界面也不错,各个代理商都推荐让用STVD+COSMIC,所以。。。

使用特权

评论回复
25
yewuyi|  楼主 | 2011-6-23 16:28 | 只看该作者
;P过程有些复杂,不完美,COSMIC还是不尽人意,呵呵。
mcuisp 发表于 2011-6-23 14:43



呵呵,讲讲细节。

使用特权

评论回复
26
mcuisp| | 2011-6-23 18:55 | 只看该作者
本帖最后由 mcuisp 于 2011-6-23 19:04 编辑

最新进展,过程仍然复杂,但结果完美了,呵呵:victory:

即日起免费为手持机用户提供此项技术支持(如何在代码文件中嵌入eerom初始化数据和optionbytes初始化数据)(COSMIC和IAR均可)
手持机已经支持从代码中读入optionbytes了:)

使用特权

评论回复
27
CC2530| | 2011-6-23 19:33 | 只看该作者
呵呵,讲讲细节。
yewuyi 发表于 2011-6-23 16:28

要买mcuisp的手持机,就会有技术支持。

使用特权

评论回复
28
yewuyi|  楼主 | 2011-6-24 09:51 | 只看该作者
STVD的连接文件设置是否如此?

Image00094.jpg (68.39 KB )

Image00094.jpg

使用特权

评论回复
29
yewuyi|  楼主 | 2011-6-24 15:27 | 只看该作者
经过测试,STVP不支持包含EEPROM的HEX文件调入,但可以通过在程序区窗口、EEPROM区窗口均调入同一个HEX文件的方式分别导入数据到STVP中,STVP会自动把不相关地址部分的数据忽略掉。

如果HEX文件带有option byte部分的数据,估计也可以用同样的办法调入数据,不过,这还真够麻烦的。

mcuisp快快公布你的方法!呵呵,到底如何生成option byte部分的数据到HEX中!?
香水也快来,给俺讲讲向COSMIC反馈的结果是什么!?另外,有没有可能把STVP的软件也修改为可以支持FLASH ROM、EEPROM、OPTION BYTE数据一起从同一个HEX中调入!?

使用特权

评论回复
30
yewuyi|  楼主 | 2011-6-24 15:29 | 只看该作者
即使使用了IAR编译器,生成的HEX文件也无法在STVP中直接同时调入这三个部分,依然需要分三次调入。

呵呵,STM8S快让俺心凉了,怎么都推广这么久了,这些问题都还。。。

使用特权

评论回复
31
CC2530| | 2011-6-24 15:37 | 只看该作者
即使使用了IAR编译器,生成的HEX文件也无法在STVP中直接同时调入这三个部分,依然需要分三次调入。

呵呵,STM8S快让俺心凉了,怎么都推广这么久了,这些问题都还。。。 ...
yewuyi 发表于 2011-6-24 15:29


貌似有其他软件可以一次下载FLASH,EEPROM,OPTION。
我个人没有真真意义上使用STM8,所以没太关注。

STVP这个问题,应该向香主反应一下。

使用特权

评论回复
32
yewuyi|  楼主 | 2011-6-27 09:27 | 只看该作者
待各位答案

使用特权

评论回复
33
yewuyi|  楼主 | 2011-6-27 14:44 | 只看该作者
在反复实验和测试下,问题终于解决,有空整理一下文档后另开一贴讲解决方法。


在此再次鄙视STVD、COSMIC、STVP的白菜行为,目前STVP依然不支持HEX文件的一次调入,需要在FLASH、EEPROM、OPTION BYTE中均调用一次最终的生成的HEX文件,严重期望ST能完善STVP这个调入的问题,在用户实际制造过程中,操作人员完全有可能调入两个文件后忘记调入第三次文件,这必将造成制程梗塞导致返工损失。
另,STVD+COSMIC完全可以做到在连接文件中将EEPROM\OPTION BYTE等均定义好,用户不需再修改连接文件,说实话,很多新手多数都看不懂连接文件,何况让他再来修改连接文件呢?

使用特权

评论回复
34
香水城| | 2011-6-27 17:53 | 只看该作者
LZ提出这个要求的用意是什么?

从36楼的内容来看,似乎是想用STVP做生产工具,不知道是不是这样?

我了解了一下,首先STVP本来就不是做为生产工具而设计的,有某些不方便是必然的。其次,实际上工程师可以在STVP中建立一个项目,并让操作人员每次只需打开这个项目,其它所有的文件就会自动地调入进来;这样不能解决你的问题吗?

使用特权

评论回复
35
CC2530| | 2011-6-27 19:08 | 只看该作者
本帖最后由 CC2530 于 2011-6-27 20:15 编辑
LZ提出这个要求的用意是什么?

从36楼的内容来看,似乎是想用STVP做生产工具,不知道是不是这样?

我了解了一下,首先STVP本来就不是做为生产工具而设计的,有某些不方便是必然的。其次,实际上工程师可以在STVP中 ...
香水城 发表于 2011-6-27 17:53


那STVP是干啥用的??

使用特权

评论回复
36
香水城| | 2011-6-27 20:32 | 只看该作者
那STVP是干啥用的??
CC2530 发表于 2011-6-27 19:08


不是做为生产工具而设计的,是为工程师做开发、调试的时候用的。

使用特权

评论回复
37
yewuyi|  楼主 | 2011-6-28 08:35 | 只看该作者
LZ提出这个要求的用意是什么?

从36楼的内容来看,似乎是想用STVP做生产工具,不知道是不是这样?

我了解了一下,首先STVP本来就不是做为生产工具而设计的,有某些不方便是必然的。其次,实际上工程师可以在STVP中 ...
香水城 发表于 2011-6-27 17:53


官方推荐的编程器和编程软件是什么!?

我们公司不同意在编程软件下建立工程的方式,因为如此的话,则难以避免会出现所建立的包含有HEX的项目文件与源代码编译结果不一致的现象,当某些工程师心情不爽的时候,很有可能会利用这个做些**,结果就是烧写码可以使用,源代码可能对不上,想要维护升级就麻烦了。

如果是源代码编译而来,只要把它上交代码时的HEX删除掉,重编译一次即可。

使用特权

评论回复
38
yinyangdianzi| | 2011-6-28 11:45 | 只看该作者
太长了

使用特权

评论回复
39
weigd| | 2012-8-17 11:04 | 只看该作者
下面燒錄錯誤是什麽原因,
Error : Verify failed on Option Byte
Error : < OPTION BYTE verifying failed.
Error : < Operation aborted.

使用特权

评论回复
40
weigd| | 2012-8-17 11:05 | 只看该作者
我是使用軟件STM8S -MC-FW設置馬達參數,把其產生的文件放入馬達庫內,再編譯生成的S19文件,此S19文件導入STVP燒錄產生錯誤的。
不知以上方法是否有錯誤?
請高手賜教!!
多謝!

使用特权

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

本版积分规则