欢迎来到天天文库
浏览记录
ID:51654780
大小:56.99 KB
页数:3页
时间:2020-03-14
《Cacti应用解决方案(加密U盘方案).doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、Cacti应用解决方案(加密U盘方案) ZTEIC提供“加密U盘”的完整方案,并提供“应用”的USB通讯接口。 用户可以通过USB通讯接口定制自己的“应用”,例如UsbKey等。 本文档对应的函数库是“CactiUdiskClibrary(v1.0)”。 2“加密U盘+应用”的编译环境ZTEIC提供“加密U盘+应用”的整个开发环境,其中已经添加了“加密U盘”的函数库。 打开工程文件如下图所示提供给用户的函数接口在“app.c”中。 2.1目录介绍在工程左侧的目录树中可以看到在“Cactisrc”目录下共有6个目录,详细介绍如下app-------------------
2、---------------------工程所在目录boot---------------------------------------芯片的启动代码,中断、异常处理函数driver--------------------------------------固件驱动,如USB驱动、FLASH/EEPROM驱动等include------------------------------------头文件目录第1页CactiApplicationNotes加密U盘+应用libc----------------------------------------提供基本函数如memcpy
3、、printf等linkscript---------------------------------链接时指定的链接方法的函数3“加密U盘”的性能参数和占用的资源3.1加密特性数据的加密/解密均采用硬件DES/3DES来实现。 Cacti系列内置硬件DES/3DES引擎,能够达到30Mbps的加密速率。 所以Cacti能对所有存储于NANDFLASH上的数据进行完全加密,从而能高强度的保护数据的安全。 HardwareDES/3DESEncryptandDecrypt3.2读写速率如上图所示,读速率831KB/S;写速率761KB/S;第2页CactiApplication
4、Notes加密U盘+应用第3页3.3在线编程Cacti系列内置程序存储器为FLASH,可以实现在任意时间的固件升级。 3.4占用资源加密U盘部分和整个环境的代码总共占用58k的程序存储空间,占用RAM资源3600字节,运行时候最多可能占用约2000字节。 4“应用”的接口提供给“应用”的接口共2个函数初始化函数和主处理函数。 4.1初始化函数(usbkey_initialize)在芯片上电初始化时,主程序会调用usbkey_initialize函数初始化用户需要初始化的各种东西。 所以用户可以添加初始化代码到usbkey_initialize函数内,来初始化。 unsig
5、nedcharg_io_buf[100];voidusbkey_initialize(){……//用户添加初始化代码…………}4.2主处理函数(process_usbkey)用户的“应用”的USB通讯部分和“Udisk”一样,都采用usb的bulk-only协议来和主机通讯,传输协议请参考bulk-only协议。 主处理函数中根据pcbw->bCBWFlags来判断是发送还是接收。 对于“应用”所要添加的代码就在发送和接收数据处。 voidprocess_usbkey(CBW*pcbw){U32nlen,elen,count;//countisusedforINbytesin
6、ti,j;count=0;if(pcbw->bCBWFlags&0x80)//devicetohost{//devicesenddatatohost……//“应用”的发送数据前的处理代码…………usb_send(g_io_buf,pcbw->dwCBWXferLength);//发送数据CactiApplicationNotes加密U盘+应用第4页}else//hosttodevice{//receiveusbkeydatag_usb_receive(g_io_buf,pcbw->dwCBWXferLength);//接收数据……//“应用”的接收数据后的处理代码…………//usb
7、_keymainhandle}ums_csw_send(USBS_PASSED,pcbw);}5本文档适用范围本文档适用于CactiZ32UF系列芯片。 内容仅供参考
此文档下载收益归作者所有