本帖最后由 小恩GG 于 2017-10-26 10:59 编辑
Otp_GenRand调用解疑 Ø 问题 具体问题如下: 客户使用MCB1857开发板,在程序中调用OTP 函数:otp_GenRand ,在建议下,实现成功调用,但是客户对于返回值一直为0,表示疑惑? 图1
Ø 问题分析解决 从上图可得otp_GenRand的return值符合general error codes惯例,在参考手册的第四十八章节:API General error codes中(图2),可找到关于各个return值的意义,但是在程序实际调用中,return值又不完全是这样,这也是参考手册没有写清楚的地方,才会造成困扰,真正的return值信息由表一罗列如下: 图2 表一 所以return值为0恰恰表示程序运行已成功,但是生成的随机数在哪里呢?别急。 在调用otp_GenRand()后,可以从在以下地址读出生成的128 bit随机数: · Bits 31:0 at location 0x4004 5050 · Bits 63:32 at location 0x4004 5054 · Bits 95:64 at location 0x4004 5058 · Bits 127:96 at location0x4004 505C Ø 结果验证
v 测试代码 图3
v 测试结果 图 4
|