完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
您好,试图理解具有唯一设备ID的dsPIC33和PIC24的编程规范:dsPIC33EP64GS502、dsPIC33EP16GS202、PIC24FJ256GA412、PIC24FJ1024GA610。HApter 61.3列出PE指令,其中RADP读取程序存储器,也可以读取OTP区域,但无法读取UDIDs。READC命令描述很奇怪:“从指定的配置寄存器设备ID寄存器中读取一个8位的单词。”稍后在详细描述中,“READC命令指示PE从Addr指定的24位地址开始读取N个配置寄存器或设备ID寄存器。”这个命令只能用于读取8位或16位的数据。“但是UDID有24位。PE能在16位PIC、dsPIC控制器上读取唯一设备ID吗?”
|
|
相关推荐
5个回答
|
|
我认为体育与普通用户相比没有任何额外的特权。所以,如果你能从用户程序中读到(我不确定),你应该能够通过PE作为常规程序存储器来读它。你当然可以通过ICSP来读它。
|
|
|
|
谢谢你的回答。我可以用ICSP读取UDID,但不能增强ICSP。PE提供两个命令读取,但如果无效内存区域读取,则重置。READP在读取UDID区域时重置。“注意:读取未实现的内存会导致PE重置。为了防止这种情况发生,请确保只访问特定设备上扩展的内存位置。“6.2.4.2定义READC只返回读取位置的下16位。24位UDE如何用PE读取?在dsPIC33EP64GS502(DS70005160B)的编程规范中,更有趣的是:-表3-10只读OTP存储器位置的16位以下,但与作为程序存储器(24位宽)编程的3.9一样。-表3-7用双字编程了两个配置寄存器内容。D编程周期。配置寄存器表(表2-3)列出具有两个LSB 00的地址的寄存器。
|
|
|
|
如果PE不读它们,它们可能无法从用户程序访问。为什么你一定想用体育课阅读它们?用ICSP读取它们。在微芯片编程规范中有很多错误。所以,你需要通过实验来了解这些事情。如果我没记错的话,OTP是24位,除了不能被擦除外,它是一个规则存储器。dsPIC33EP64GS502上的每个配置实体占用2个指令(4个地址),但是高字节被忽略,在虫洞之后,它映射到一个由这两个低单词组成的指令。指令。
|
|
|
|
我看了一下PE的汇编代码,Read和Read是类似的猜想…RESET是由地址错误陷阱引起的,因为READP在循环中总是读取两个指令,所以如果我们只需要5个UDID,READP将读取6并导致地址错误陷阱。错误的默认处理程序是RESET,所以……READC不执行TBLRDH,所以它只能返回较低的16位。如果UDID是连续的,我们可以使用READP首先从UDID1读取4个UDID到UDID4,然后读取UDID4和UDID5。如果UDIDs不是连续的,我们可能需要修改PE中的Read来返回其他8位。
|
|
|
|
可能有一个把地址错误陷阱向量重定向到0x0006到0x800232而不是0x80022C的技巧。所以除了RESET,它什么也不做。
|
|
|
|
只有小组成员才能发言,加入小组>>
5158 浏览 9 评论
1997 浏览 8 评论
1926 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3169 浏览 3 评论
请问电源和晶体值之间有什么关系吗?PIC在正常条件下运行4MHz需要多少电压?
2222 浏览 5 评论
724浏览 1评论
607浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
495浏览 1评论
PIC Kit3出现目标设备ID(00000000)与预期的设备ID(02c20000)不匹配。是什么原因
621浏览 0评论
520浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-19 16:48 , Processed in 1.504260 second(s), Total 87, Slave 70 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号