完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
嗨,
我正在为带有SWIM接口的stm8设备开发一个独立的编程板。 发展是相当远的,但我仍然面临一些问题,我看到无处回答: 1:在Flash编程手册中,它说可以/应该读取“DeviceID”。有人可以给我更多信息如何/在哪里读取该ID以及哪个ID代表哪个设备? 2:如何清除检测到设备是否有有效的读数保护设置?对我来说,SWIM_CSR NO_ACCESS位似乎总是0(使用STM8S003设备)。当我尝试读取受保护设备的内存时,它总是读取0x71并且写入内存失败,未被确认的数据字节是目标。这些是有效ROP的唯一指示还是有一种干净的方法来检测ROP? 谢谢! 最好的祝福, 亚历克斯 #游泳接口STM8-ROP,设备ID 以上来自于谷歌翻译 以下为原文 Hi, I am developing a standalone programming board for stm8 devices with SWIM interface. Development is quite far but I am still facing some questions I see nowhere answered: 1: in Flash Programming Manual it says there is a ''DeviceID'' that can/should be read. Can someone give me more information how/where to read that ID and which ID represents which device? 2: How to clean detect that a device has active readout protection set? The SWIM_CSR NO_ACCESS bit seems to be always 0 to me (using STM8S003 device). When I try to read memory of a protected device it always reads 0x71 and writing to memory fails with the data-bytes not being ACKed be the target. Are these the only indications for an active ROP or is there a clean way to detect the ROP? Thank you! Best regards, Alex #swim-interface-stm8-rop-deviceid |
|
相关推荐
3个回答
|
|
嗨,亚历克斯
''但我需要知道当受保护的设备重新连接到程序员时如何用程序员阅读它。然后我的程序员根本无法访问选项字节,只读取0x71。 不幸的是,看起来这是一个问题! 选项字节靠近闪存和EEPROM地址范围 - 所以我想打开ROP也会禁用对选项字节的读访问。 读取它们的唯一方法是禁用ROP。 这是读出保护的重点 - 禁用读取设备内部的东西! 快速谷歌的''STM8 DeviceID'在一个提示论坛上产生了一些模糊的“唯一ID”。 听起来Deivce ID就是Die Number http://forum.raisonance.com/viewtopic.php?id=3008 FYI 对于我写的SWIM驱动程序,我没有打扰设备ID,因为我们正在制造电路板并知道STM8的填充情况。 以上来自于谷歌翻译 以下为原文 Hi Alex ''but I need to know how to read it with my programmer when a protected device is reconnected to it. Then my programmer has no access to the option bytes at all and only reads 0x71.'' Unfortunately, it looks like that is a problem! The option bytes are near the Flash and EEPROM address range - so I guess turning on ROP disables read access to the option bytes as well. The only way to read them back is to disable ROP. That is the point of Read Out Protection - disable reading the stuff inside the device! A quick google of ''STM8 DeviceID'' produced some vague reference to the 'Unique ID' on a raisonance forum. It sounds like the Deivce ID is the Die Number http://forum.raisonance.com/viewtopic.php?id=3008 FYI For the SWIM driver I wrote, I did not bother with the device ID because we are manufacturing the boards and know what STM8 is populated. |
|
|
|
嗨,
我不想删除或绕过读出保护。我只想知道''推荐的rop-checking方法''。我不希望我的rop-checking算法仅基于经验测试或猜测。 我很确定某处有这方面的信息,ST的某个人应该能够告诉... 对于DeviceID或DieID,我也在想是否可能是UniqueID,但由于几个原因,我认为这不可能是相同的。 1:例如STM8S003没有UniqueID,但我猜仍然有DeviceID。 2:UniqueID由lot&摇摆数字信息但不是DieID。 3:在Ride7文件STM8_SWIM_ProductInfo.txt中,您可以找到几个设备的''DieCheckAddress'和''DieCheckExpectedValue'',但看起来并非所有设备都可以使用它。对于我检查的一些设备(例如STM8L151),DieCheckAddress指向保留的存储空间而不是UniqueID。 所以最后这一切似乎让我感到困惑,我也希望从ST获得关于这个主题的信息。就像ROP一样 - 我想使用ST的信息,并且不希望我的编程设备基于经验测试的值或从其他程序员(如RLink)复制的值。这些信息肯定记录在ST。 最好的祝福, 亚历克斯 以上来自于谷歌翻译 以下为原文 Hi, I don't want to remove or bypass the read out protection. I would simply like to know ''the recommended rop-checking method''. I do not want my rop-checking algorithm to base just on empirical tests or guesses. I am quite sure there is this information somewhere and someone from ST should be able to tell... For the DeviceID or DieID I was also thinking if maybe the UniqueID is meant but for several reasons I think this cannot be the same. 1.: e.g. the STM8S003 does not have a UniqueID but I guess there still is a DeviceID. 2.: UniqueID consists of lot & waver number information but not of a DieID. 3.: in Ride7 file STM8_SWIM_ProductInfo.txt you can find a ''DieCheckAddress'' for several devices and ''DieCheckExpectedValue'' but it looks like this is not available for all devices. For a few devices I checked (e.g. STM8L151) the DieCheckAddress points into reserved memory space and not into the UniqueID. So finally this all seems confusing to me and I would also like to get information from ST on this topic too. Just like with the ROP - I would like to use information from ST and do not want to base my programming device on empirically tested values or values copied from other programmers like RLink. This information is surely documented at ST. best regards, Alex |
|
|
|
嗨,
只是为了完整性: ''在地址0x4FFC,我们必须以十六进制读取67671000,仅检查767''是我被告知有关设备ID的信息。 对于ROP检查,没有已知的通用方法...... 以上来自于谷歌翻译 以下为原文 Hi, Just for completeness: ''At address 0x4FFC we must read 67671000 in hex, check 767 only'' is what I have been told about the Device ID. For ROP-checking is no universal method known... |
|
|
|
只有小组成员才能发言,加入小组>>
请教:在使用UDE STK时,单片机使用SPC560D30L1,在配置文件怎么设置或选择?里面只有SPC560D40的选项
2642 浏览 1 评论
3208 浏览 1 评论
请问是否有通过UART连接的两个微处理器之间实现双向值交换的方法?
1783 浏览 1 评论
3611 浏览 6 评论
5988 浏览 21 评论
939浏览 4评论
1316浏览 4评论
在Linux上安装Atollic TRUEStudio的步骤有哪些呢?
584浏览 3评论
使用DMA激活某些外设会以导致外设无法工作的方式生成代码是怎么回事
1303浏览 3评论
1359浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-24 03:49 , Processed in 1.298209 second(s), Total 80, Slave 64 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号