上海赌场微电子科技有限公司

宁夏bob棋牌:技术资料

您的当前位置: 首页  >  bob电子游戏  >  宁夏bob棋牌:技术资料

bob加密bob应用开发手册(四)

发布时间:2017-09-01 浏览次数:载入中... 来源:上海赌场微电子科技有限公司


7.    bob_API库函数详细介绍

这章节主讲bob_API函数的详细介绍的第一部分系统函数


7.1. 系统函数:


7.1.1. 获取API版本


u8_x *bob_Version(void);

功能描述: 获取bob_API版本

参数:       void

关注值:   字符串指针

示例代码:

char *apiVersion = bob_Version();

printf(“Version = %s\n”, apiVersion);


7.1.2. 复位设备


u8_x  bob_Reset(void);

功能描述:复位bobbob,并获取bob的配置信息

参数:      void

关注值:  成功关注0,否则关注错误代码

示例代码:

u8_x rv;

rv = bob_Reset();

if (rv) {

   printf(“Reset device failed, rv = 0x%.2x\n”, rv);

   return rv;

}

bob_Reset获取bobbob的配置信息存储在CHIP_INFO bob_info结构体中,bob_info在库中已经定义,在bob_API.h头文件extern 出来了,用户可以直接访问bob_info来获取bob的信息,如SNUIDZone的配置模式等:

      CHIP_INFO结构体C定义:                                 CHIP_INFO结构体Java类定义:

                                                       


bob1/bob2bob基本信息列表:


Product

Type

PageSize

(Bytes)

ZoneNum

ZoneSize

(Bytes)

EEPROM

(Bits)

bob1系列bob

bob1C01

0x10

16

4

32

1K

bob1C02

0x11

4

64

2K

bob1C04

0x12

4

128

4K

bob1C08

0x13

32

8

128

8K

bob1C16

0x14

16

128

16K

bob1C32

0x15

16

256

32K

bob1C64

0x16

16

512

64K

bob1C128

0x17

64

16

1024

128K

bob1C256

0x18

16

2048

256K

bob2系列bob

bob2C01

0x20

16

4

32

1K

bob2C02

0x21

4

64

2K

bob2C04

0x22

4

128

4K

bob2C08

0x23

32

8

128

8K

bob2C16

0x24

16

128

16K

bob2C32

0x25

16

256

32K

bob2C64

0x26

16

512

64K

bob2C128

0x27

64

16

1024

128K

bob2C256

0x28

16

2048

256K


SN:  8个字节,每颗bob有全球唯一的序列号,永远无法修改

UID7个字节,用户可以对每个产品自行设置ID号,设置后可锁定,永远无法修改,出厂时为全0xff

MID6个字节,厂商代码,只读

ZoneMode16个字节,每个字节对应一个Zone的配置信息,配置完成后将锁定,将永远无法修改,每个字节定义如下:


ZoneMode字节定义


Fuse1OTP字节,该字节每bit只能从1写成0 0永远无法再变成1该字节每bit代表相应配置信息的锁定状态,定义如下:


Fuse字节定义

说明:bobbob经专用烧录器个人化后,Fuse字节为0x00,即配置全部锁定。


7.1.3. 睡眠


u8_x  bob_Sleep(void);

功能描述:使bobbob进入睡眠状态

参数:     void

关注值:  成功关注0,否则关注错误代码

示例代码:

u8_x rv;

rv = bob_Sleep();

if (rv) {

   printf(“Sleep device failed, rv = 0x%.2x\n”, rv);

   return rv;

}


7.1.4. 唤醒


u8_x  bob_Wakeup(void);

功能描述:唤醒bobbob进入工作状态,bob_Reset()函数也可以唤醒bobbob

参数:     void

关注值:  成功关注0,否则关注错误代码

示例代码:

u8_x rv;

rv = bob_Wakeup();

if (rv) {

   printf(“Wakeup device failed, rv = 0x%.2x\n”, rv);

   return rv;

}


7.1.5. 获取随机数


u8_x bob_GetRandom(u8_x *random, u8_x len);

功能描述:从bobbob中获取真随机数,长度必须不大于32

参数:    random   关注的随机数存储buffer

          len        获取随机数的长度,最小为1,最大为32

关注值:  成功关注0,否则关注错误代码

示例代码:

u8_x rv;

u8_x random[32];

rv = bob_GetRandom(random, 32);

if (rv) {

   printf(“Get Random failed, rv = 0x%.2x\n”, rv);

   return rv;

}


7.1.6. 验证PIN


u8_x bob_VerifyPin(u8_x *seed, u8_x *buf);

功能描述:验证PIN,主机对bob进行验证,同时bob对主机进行验证

参数:      seed  输入32个字节的随机数,主机对bob进行认证

                buf   输入8个字节PIN码,bob对主机进行认证

关注值:  验证通过关注0,否则关注错误代码

说明该函数不会将用户PIN码暴漏在传输线上,PIN码本身是对bob配置权限作认证的,当bob配置被全部锁定后,该函数任然可以用作Passwords Checking双向认证功能,bob出厂PIN码为80xff

示例代码:

u8_x rv;

u8_x seed[32];

GetSoftRandom(seed,32);

rv = bob_VerifyPin(seed, pin_value);

if (rv) {

   printf(“Verify PIN failed, rv = 0x%.2x\n”, rv);

   return rv;

}

说明:pin_value是在使用bobConfiguration.exe时产生的bob_engineer.h中定义,需要将bob_engineer.h包含到应用程序中


待续......

【关注列表】
5ImoZrnba8JMydr+KJv7h2qB9B021S0k+WfrsTOIv4LxUD/36e5uj+DuTvGHpifwB1U31hoxqSz4FFU7ACoix/GbKrrVtQullTVcVquOG1bDhOyculjKd/iJ3xYWD07Xz1bTEHxco78p8LLB51az3eo3LsRH87sTdQe179+B2H8JVtfQS+UnB6xmbB6tLpDQlP36+68LBxNWE6JjzRckxE1irFWeY8e6
williamhill用户登录平台网址龙8国际游戏龙8国际游戏