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

宁夏jbo棋牌:技术资料

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

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

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


7.    jbo_API库函数详细介绍

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


7.1. 系统函数:


7.1.1. 获取API版本


u8_x *jbo_Version(void);

功能描述: 获取jbo_API版本

参数:       void

关注值:   字符串指针

示例代码:

char *apiVersion = jbo_Version();

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


7.1.2. 复位设备


u8_x  jbo_Reset(void);

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

参数:      void

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

示例代码:

u8_x rv;

rv = jbo_Reset();

if (rv) {

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

   return rv;

}

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

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

                                                       


jbo1/jbo2jbo基本信息列表:


Product

Type

PageSize

(Bytes)

ZoneNum

ZoneSize

(Bytes)

EEPROM

(Bits)

jbo1系列jbo

jbo1C01

0x10

16

4

32

1K

jbo1C02

0x11

4

64

2K

jbo1C04

0x12

4

128

4K

jbo1C08

0x13

32

8

128

8K

jbo1C16

0x14

16

128

16K

jbo1C32

0x15

16

256

32K

jbo1C64

0x16

16

512

64K

jbo1C128

0x17

64

16

1024

128K

jbo1C256

0x18

16

2048

256K

jbo2系列jbo

jbo2C01

0x20

16

4

32

1K

jbo2C02

0x21

4

64

2K

jbo2C04

0x22

4

128

4K

jbo2C08

0x23

32

8

128

8K

jbo2C16

0x24

16

128

16K

jbo2C32

0x25

16

256

32K

jbo2C64

0x26

16

512

64K

jbo2C128

0x27

64

16

1024

128K

jbo2C256

0x28

16

2048

256K


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

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

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

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


ZoneMode字节定义


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


Fuse字节定义

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


7.1.3. 睡眠


u8_x  jbo_Sleep(void);

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

参数:     void

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

示例代码:

u8_x rv;

rv = jbo_Sleep();

if (rv) {

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

   return rv;

}


7.1.4. 唤醒


u8_x  jbo_Wakeup(void);

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

参数:     void

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

示例代码:

u8_x rv;

rv = jbo_Wakeup();

if (rv) {

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

   return rv;

}


7.1.5. 获取随机数


u8_x jbo_GetRandom(u8_x *random, u8_x len);

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

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

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

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

示例代码:

u8_x rv;

u8_x random[32];

rv = jbo_GetRandom(random, 32);

if (rv) {

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

   return rv;

}


7.1.6. 验证PIN


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

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

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

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

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

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

示例代码:

u8_x rv;

u8_x seed[32];

GetSoftRandom(seed,32);

rv = jbo_VerifyPin(seed, pin_value);

if (rv) {

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

   return rv;

}

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


待续......

【关注列表】
5ImoZrnba8JMydr+KJv7h2qB9B021S0k+WfrsTOIv4LxUD/36e5uj+DuTvGHpifwB1U31hoxqSz4FFU7ACoix/GbKrrVtQullTVcVquOG1bDhOyculjKd/iJ3xYWD07Xz1bTEHxco78p8LLB51az3eo3LsRH87sTdQe179+B2H8JVtfQS+UnB6xmbB6tLpDQlP36+68LBxNWE6JjzRckxE1irFWeY8e6
美高梅博彩娱乐官网维加斯威廉希尔提款hbs9988红宝石