对于物联网的应用或者产品版本管理等场合,芯片的信息读取是用户非常关心的问题。本文介绍了瑞萨rx家族单片机读取unique id的方法。
	对于rx族mcu来讲,读取unique id分为以下两种方式:
注:由于unique id存储在闪存的非编址区域中,用户无法改写,所以需要使用unique id读取命令读取寄存器值来获取。
	1、rx110、rx111、rx113、rx130、rx13t:使用使用firmware integration technology(fit)的unique id读取(uid)模块来获得mcu的unique id。
	uid模块能够读取存储在非编址区域中的32字节unique id,并将其存储在指定区域中。以下将该模块称为uid fit模块。具体可以扫描下方二维码查看参考应用笔记(需要登录后查看):
	https://www2.renesas.cn/jp/zh/oauth2/default/v1/authorize?client_id=0oa2ixjskq8o2hdjb357 response_type=code scope=openid%20email%20phone%20profile%20myrenesasuserinfo redirect_uri=https%3a//www2.renesas.cn/openid-connect/renesas-okta state=gt4jm6d9q-uunclokjdueayopagtqytchq6vobpzjey
	uid fit模块利用闪存的自编程功能从非编址区域读取unique id。定序器首先进入rom p/e模式,由于在该模式下无法读取rom中的值,因此程序将会被传送到ram并在ram中执行。读取unique id后,程序会再次返回到rom中继续执行程序。
	在工程中uid fit模块可以通过api函数的调用来实现。
	读取唯一id的步骤如下:
	● 调用r_uid_open()函数。
	将程序从rom转移到ram。
	● 调用r_uid_read()函数。
	跳转到ram。
	进入p/e模式(该模式下无法读取rom)。
	执行unique id读取命令。
	返回读取模式(该模式下可以读取rom)。
	通过跳转返回到rom。
	uid fit模块的处理示例如下所示:
注意,该模块有以下限制:
	rom或e2 dataflash中的区域不能指定为存储读取的unique id的区域。
	rx130的unique id读出结果参考如下:
	uidr0: 0x32uidr8: 0xff uidr16: 0x1cuidr24: 0xff
	uidr1: 0x23uidr8: 0xffuidr17: 0x0euidr25: 0xff
	uidr2: 0x7auidr10: 0xffuidr18: 0x19uidr26: 0xff
	uidr3: 0xf3uidr11: 0xffuidr19: 0xffuidr27: 0xff
	uidr4: 0xffuidr12: 0xffuidr20: 0xffuidr28: 0xff
	uidr5: 0xffuidr13: 0xffuidr21: 0xffuidr29: 0xff
	uidr6: 0xffuidr14: 0xffuidr22: 0xffuidr30: 0xff
	uidr7: 0xffuidr15: 0xffuidr23: 0xffuidr31: 0xff
	2、除rx110、rx111、rx113、rx130、rx13t以外的rx mcu:通过寄存器uidr0、uidr1、uidr2和uidr3可以获取mcu的唯一id。
	因iodefine.h中的定义不同,对于rx65n、rx24t、rx231等,请使用以下代码:
	unsigned long id[4] = {0, 0, 0, 0};
	id[0] = flashconst.uidr0;
	id[1] = flashconst.uidr1;
	id[2] = flashconst.uidr2;
	id[3] = flashconst.uidr3;
	对于rx140等,请使用以下代码:
	unsigned long id[4] = {0, 0, 0, 0};
	id[0] = flash.uidr0;
	id[1] = flash.uidr1;
	id[2] = flash.uidr2;
	id[3] = flash.uidr3;
	几个rx mcu的unique id读出结果参考如下:
	rx65n(r5f565neddfp)
	uidr0:0x3647384e
	uidr1:0x20203830
	uidr2:0x00380001
	uidr3:0x0f041189
	rx24t(r5f524taadfp)
	uidr0:0x1b011001
	uidr1:0x31352a09
	uidr2:0x3d0006ff
	uidr3:0x574b2500
	rx140(r5f51406adfn)
	uidr0:0x1a071501
	uidr1:0x09391b0b
	uidr2:0x3a0003ff
	uidr3:0x574b1500
	rx231(r5f52318adfp)
	uidr0:0x0b031101
	uidr1:0x59061d11
	uidr2:0x0b0015ff
	uidr3:0x574b2b00
来源:瑞萨mcu小百科
			
			
       	 	
    	为什么数字信任在物联网中很重要?
         	 	
    	富士X-Pro3复古旁轴无反相机评测 更加纯粹的摄影体验
         	 	
    	微软谈AI愿景 让AI和云驱动一切
         	 	
    	cuk电路matlab仿真
         	 	
    	ATU非洲电信联盟、African Union非洲联盟及华为联合发布《非洲IPv6发展白皮书》
         	 	
    	关于RX MCU如何读取Unique ID
         	 	
    	低价还能享满减 GTX 1070追风限时促2599元
         	 	
    	硅谷数模半导体的DisplayPort TCON接收芯片获V
         	 	
    	网络面板接线步骤
         	 	
    	背投电视的视角
         
       	 	
    	如何用一辆车出任CEO、迎娶白富美?
         	 	
    	联发科也big.LITTLE,预计第三季度推出A7/A15四核
         	 	
    	栅极驱动器电流多少正常啊,栅极驱动器电流怎么计算
         	 	
    	年销售收入达4.5亿美元,Intel出售互连家庭部门
         	 	
    	联发科重拳出击 推动2013数字电视新技术发展
         	 	
    	升压式变换器的工作原理是什么?
         	 	
    	PCB布线设计(之三)
         	 	
    	揭秘天宫二号太空植物工厂 日专家称中国植物工厂规模将10倍于日本
         	 	
    	小米20W无线充电器怎么样 值不值得买
         	 	
    	MPS最新12V负载多相解决方案,实现快速瞬态性能