我正在尝试将一个旧的DA14580项目迁移到DA14585:
旧的代码:
Int CNT = 100000;
SetBits16 (CLK_AMBA_REG OTP_ENABLE 1);//启用OTP时钟
while ((GetWord16(ANA_STATUS_REG) & LDO_OTP_OK) != LDO_OTP_OK && cnt——)
//设置OTP为读模式
SetWord32 (OTPC_MODE_REG 0 x1);
uint8_t *otp_major = (uint8_t *)0x47F54;
uint8_t *otp_minor = (uint8_t *)0x47F56;
memcpy (&user_beacon_config。major_ALT_val1 otp_major 2);
memcpy (&user_beacon_config。minor_ALT_val2 otp_minor 2);
SetBits16 (CLK_AMBA_REG OTP_ENABLE 0);/ /禁用OTP时钟
新代码:
Int CNT = 100000;
SetBits16 (CLK_AMBA_REG OTP_ENABLE 1);//启用OTP时钟
while ((GetWord16(ANA_STATUS_REG) & LDO_VDD_OK) != LDO_VDD_OK && cnt——)
//设置OTP为读模式
SetWord32 (OTPC_MODE_REG 0 x1);
uint8_t *otp_major = (uint8_t *)0x47F54;
uint8_t *otp_minor = (uint8_t *)0x47F56;
memcpy (&beacon_data[主要]otp_major 2);
memcpy (&beacon_data[小]otp_minor 2);
SetBits16 (CLK_AMBA_REG OTP_ENABLE 0);/ /禁用OTP时钟
使用LDO_VDD_OK而不是LDO_OTP_OK是否正确?
我想DA14585的OTP尺寸比较大,内存位置还能用吗?
谢谢你!
嗨dlo,
如果我理解正确,您正在尝试将一个基于DA14580和SDK5.0.4的现有应用程序移植到DA14585和SDK6.0.14。我的理解正确吗?
根据数据表:
DA14585: ANA_STATUS_REG [LDO_VDD_OK]: LDO_VDD处于调节状态
DA14580: ANA_STATUS_REG [LDO_OTP_OK]: LDO_OTP处于调节状态
所以,我想这可能不是问题。
如果是DA14585,请参见数据表和第9节内存映射。OTP从0x07F80000开始,到0x07F8FFFF结束。
请同时查看UM-B-082: DA14585 & DA14586 SDK6移植指南用户指南。
希望对大家有帮助!
谢谢,PM_Dialog
谢谢你点!
我一直在咨询UM-B-082。我确实错过了数据表的OTP开始和结束,我会回去查看它。谢谢你!
嗨dlo,
谢谢你接受我的回答。如果您有任何后续问题,请创建一个新的论坛帖子。
谢谢,PM_Dialog