91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡介

ATMEL公司的加密芯片IC ATSHA204加密認(rèn)證程序,通過I2C通信加密認(rèn)證

資源截圖

代碼片段和文件信息


#include?“inc/hw_memmap.h“
#include?

//#include?“inc/hw_types.h“
#include?“atsha204_encry.h“
#include?“inc/hw_ints.h“
#include?“driverlib/interrupt.h“
#include?“utils/uartstdio.h“
#include?“appli_i2c.h“
#include?“imitate_i2c.h“

#define?ATSHA204_ADDRESS 0x64 //atsha204?device?address?(1-7bits)

/*word?address?use?to?different?function*/
#define?RESET_ADDRESS 0x00
#define?SLEEP_ADDRESS 0x01
#define IDLE_ADDRESS 0x02
#define?COMMAND_ADDRESS?0x03


#define?ATSHA204_READ_COMMAND 0x02
#define?ATSHA204_WRITE_COMMAND 0x12
#define?ATSHA204_LOCK_COMMAND 0x17
#define?ATSHA204_NONCE_COMMAND 0x16
#define?ATSHA204_MAC_COMMAND 0x08
#define?ATSHA204_CHECKMAC_COMMAND 0x28


#define?MAC_CHALLENGE_SIZE 32
#define?NONCE_CHALLENGE_SIZE 32

#define?DATA_LEN_35BYTES_SIZE 35
#define?DATA_LEN_32BYTES_SIZE 32
#define?DATA_LEN_7BYTES_SIZE 7
#define?DATA_LEN_4BYTES_SIZE 4

typedef?enum?
{
CONFIG_ZONE_BIT=0//config?zone
OTP_ZONE_BIT //?otp?zone
DATA_ZONE_BIT //data?zone
}DIFF_ZONE;

/*read?how?many?bytes?at?one?timejust?two?choice?one?is?4?bytes?another?is?32?bytes*/
#define?READ_COMMAND_4_BYTES (0x00<<7) //read?comman?lengh?is?4?bytes
#define?READ_COMMAND_32_BYTES (0x01<<7) //read?comman?lengh?is?32?bytes



#define?SHA204_RSP_SIZE_MIN 4


static?void?atsha204_receive_response(UINT8?countUINT8?*data);
static?void?atsha204_read_command(UINT8?modeDIFF_ZONE?zoneUINT8?wordaddrUINT8?*data);

static?void?atsha204_write_command(UINT8?modeDIFF_ZONE?zoneUINT8?wordaddrUINT8?lenghUINT8?*txbuffUINT8?*rxbuff);



/*******************************************************************
*Name: delay_ms()
*
*Input?parameter: num?as?delay?time?1?as?delay?1ms
*
*Return?value:?none
*
*Description: delay?times?1?as?1ms.?not??precise
********************************************************************/
static?void?delay_ms(int?num)
{
int?i;
while(num>0)
{
for(i=0;i<4600;i++)
{
;
}
num--;
}
}

/*******************************************************************
*Name: SerialI2C0IntHandler()
*
*Input?parameter: none
*
*Return?value:?none
*
*Description: the?function?pointer?give?to?vector?table?in?startup.s?file
********************************************************************/
void?atsha204_reset_address_count(void)
{
unsigned?char?data[32]={0};
unsigned?char?count=0;
data[count++]?=?RESET_ADDRESS;
i2c_write_bytes(ATSHA204_ADDRESSRESET_ADDRESSdatacount);
}
/*******************************************************************
*Name: atsha204_wakeup()
*
*Input?parameter: none
*
*Return?value:?none
*
*Description: the?function?pointer?give?to?vector?table?in?startup.s?file
********************************************************************/
void?atsha204_wakeup(void)
{
BYTE?data[4]={0};
i2c_write_bytes(0x000x00data1); //pull?down?the?data?pin?for?60us?at?least
delay_ms(3);
atsha204_receive_response(4data);
i

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件??????21788??2014-04-22?21:06??atsha204\atsha204_authenticate_key.c

?????文件????????191??2014-04-22?21:06??atsha204\atsha204_authenticate_key.h

?????目錄??????????0??2014-04-22?21:36??atsha204

-----------?---------??----------?-----??----

????????????????21979????????????????????3


評論

共有 條評論