20155200吴思其 基于《Arm试验箱的国密算法应用》课程设计个人报告

课程设计中承担的任务

完成试验箱测试功能4,5,6以及SM3加密实验的实现

测试四 GPIO0按键中断实验

实验目的

  • 学习GPIO中断原理
  • 掌握Z32安全模块中断的工作原理

实验过程及结果:

1、打开“Z32开发指南\实验4-GPIO0按键中断”目录的工程文件。编译工程,产生后缀名为.bin的可执行代码。

2、下载程序

将实验箱接入电源,用USB公对公线将实验箱的USB接口连接到电脑的USB接口上,在电脑上找到“Z32开发指南\2.软件资料\Z32下载调试工具”目录打开Z32下载调试工具NZDownloadTool.exe。打开Z32的电源开关前,按住Reboot按键不放,两次打开电源开关,Z32即可被电脑识别,进行下载调试。

当左边框出现“1设备已连接”,设备选择中显示芯片型号,此时就可以下载程序了。

点击“下载”,左边状态提示框更新显示“程序下载成功!”实验4的程序就下载进Z32的实验板上了。

实验4的内容是按键中断,12864显示屏显示字符。

关闭Z32电源开关,再打开,程序自动运行,此时可以看到实验现象:12864屏幕第一行显示:“请按reboot按键:”

测试五 矩阵键盘实验

实验目的

  • 学习GPIO原理
  • 掌握Z32安全模块矩阵键盘的工作原理

实验过程及结果:

1、打开“Z32开发指南\实验5-矩阵键盘”目录的工程文件。编译工程,产生后缀名为.bin的可执行代码。

2、下载程序

将实验箱接入电源,用USB公对公线将实验箱的USB接口连接到电脑的USB接口上,在电脑上找到“Z32开发指南\2.软件资料\Z32下载调试工具”目录打开Z32下载调试工具NZDownloadTool.exe。打开Z32的电源开关前,按住Reboot按键不放,两次打开电源开关,Z32即可被电脑识别,进行下载调试。

当左边框出现“1设备已连接”,设备选择中显示芯片型号,此时就可以下载程序了。

点击“下载”,左边状态提示框更新显示“程序下载成功!”实验5的程序就下载进Z32的实验板上了。

实验5的内容是读矩阵键盘键值并显示。

关闭Z32电源开关,再打开,程序自动运行,此时可以看到实验现象:12864屏幕第一行显示字符串

按下矩阵键盘上“A”键,屏幕第二行显示“A”。

测试六 TIMER定时器实验

实验目的

  • 学习TIMER定时器原理
  • 掌握Z32安全模块定时器的工作原理

实验过程及结果:

1、打开“Z32开发指南\实验6-TIMER定时器”目录的工程文件。编译工程,产生后缀名为.bin的可执行代码。

2、下载程序

将实验箱接入电源,用USB公对公线将实验箱的USB接口连接到电脑的USB接口上,在电脑上找到“Z32开发指南\2.软件资料\Z32下载调试工具”目录打开Z32下载调试工具NZDownloadTool.exe。打开Z32的电源开关前,按住Reboot按键不放,两次打开电源开关,Z32即可被电脑识别,进行下载调试。

当左边框出现“1设备已连接”,设备选择中显示芯片型号,此时就可以下载程序了。

点击“下载”,左边状态提示框更新显示“程序下载成功!”实验6的程序就下载进Z32的实验板上了。

实验6的内容是定时器溢出中断,控制LED灯以0.5Hz频率亮灭,并将0~9秒循环计数显示在12864显示屏上。

关闭Z32电源开关,再打开,程序自动运行,此时可以看到实验现象:Z32核心板上的灯L2以0.5Hz频率闪烁,12864屏幕上显示“定时器测试:”,第二行循环显示从0到9的秒计数值。

每隔1秒灯L2亮或灭一次,当计数值为偶数时,灯L2亮,计数值为奇数时,灯L2灭。

SM3加密实验

实验目的

  • 学习SM3加密算法原理,掌握SM3加密算法用法

实验过程及结果:

1、打开“Z32开发指南\实验10-SM3”目录的工程文件。编译工程,产生后缀名为.bin的可执行代码。

2、下载程序

将实验箱接入电源,用USB公对公线将实验箱的USB接口连接到电脑的USB接口上,在电脑上找到“Z32开发指南\2.软件资料\Z32下载调试工具”目录打开Z32下载调试工具NZDownloadTool.exe。打开Z32的电源开关前,按住Reboot按键不放,两次打开电源开关,Z32即可被电脑识别,进行下载调试。

当左边框出现“1设备已连接”,设备选择中显示芯片型号,此时就可以下载程序了。

点击“下载”,左边状态提示框更新显示“程序下载成功!”实验10的程序就下载进Z32的实验板上了。

实验9的内容是SM3数据加密实验。本实验使用Z32内置函数库实现加密算法。

我们用9针串口线将Z32模块的串口与电脑USB接口连接。

首先在电脑上打开串口助手,选择对应的串口号,设置波特率为115200,偶校验(Even),然后打开串口。

关闭Z32电源开关,再打开,程序自动运行,此时可以看到实验现象:液晶屏上显示“SM2实验!请看串口助手”。

串口助手上提示:“请输入需要杂凑的数据(64字节以内),并按A键确认”。

在字符串输入框输入数据“wsq”,点击发送。

按下“A”键后进行,加密,串口调试助手显示被杂凑加密后的数据。

串口助手显示杂凑加密后数据

完成客户端与服务器通讯的代码

#include <stdio.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h> int main(int argc, char *argv[])
{
int server_sockfd;//服务器端套接字
int client_sockfd;//客户端套接字
int len;
struct sockaddr_in my_addr; //服务器网络地址结构体
struct sockaddr_in remote_addr; //客户端网络地址结构体
int sin_size;
char buf[BUFSIZ]; //数据传送的缓冲区
memset(&my_addr,0,sizeof(my_addr)); //数据初始化--清零
my_addr.sin_family=AF_INET; //设置为IP通信
my_addr.sin_addr.s_addr=INADDR_ANY;//服务器IP地址--允许连接到所有本地地址上
my_addr.sin_port=htons(8000); //服务器端口号 /*创建服务器端套接字--IPv4协议,面向连接通信,TCP协议*/
if((server_sockfd=socket(PF_INET,SOCK_STREAM,0))<0)
{
perror("socket");
return 1;
} /*将套接字绑定到服务器的网络地址上*/
if (bind(server_sockfd,(struct sockaddr *)&my_addr,sizeof(struct sockaddr))<0)
{
perror("bind");
return 1;
} /*监听连接请求--监听队列长度为5*/
listen(server_sockfd,5); sin_size=sizeof(struct sockaddr_in); /*等待客户端连接请求到达*/
if((client_sockfd=accept(server_sockfd,(struct sockaddr *)&remote_addr,&sin_size))<0)
{
perror("accept");
return 1;
}
printf("accept client %s\n",inet_ntoa(remote_addr.sin_addr));
len=send(client_sockfd,"Welcome to my server\n 客户端IP127.0.0.3\n 服务器实现者学号20155206\n 当前时间2018.5.26\n",21,0);//发送欢迎信息 /*接收客户端的数据并将其发送给客户端--recv返回接收到的字节数,send返回发送的字节数*/
while((len=recv(client_sockfd,buf,BUFSIZ,0))>0)
{
buf[len]='\0';
printf("%s\n",buf);
if(send(client_sockfd,buf,len,0)<0)
{
perror("write");
return 1;
}
}
close(client_sockfd);
close(server_sockfd);
return 0;
}

实验中遇到的问题

   本次实验在小组三人的共同努力下完成,但是试验箱出现问题,两个实验模块不能同时使用,在同时打开使用时下载进去的代码总有几段是无法运行的;同时,今天小组内检查实验完成情况时,在用超级终端与试验箱连接时总会不停的自动断开,然后再次自动连接,经反复实验,发现是数据线的问题,有点接触不良造成的。

2015520吴思其 基于《Arm试验箱的国密算法应用》课程设计个人报告的更多相关文章

  1. 20155206赵飞 基于《Arm试验箱的国密算法应用》课程设计个人报告

    20155206赵飞 基于<Arm试验箱的国密算法应用>课程设计个人报告 课程设计中承担的任务 完成试验箱测试功能1,2,3 . 1:LED闪烁实验 一.实验目的  学习GPIO原理  ...

  2. 《基于Arm实验箱的国密算法应用》课程设计 结题报告

    <基于Arm实验箱的国密算法应用>课程设计 结题报告 小组成员姓名:20155206赵飞 20155220吴思其 20155234昝昕明 指导教师:娄嘉鹏 设计方案 题目要求:基于Arm实 ...

  3. 20155234 昝昕明《基于ARM实验箱的国密算法应用》课程设计个人报告

    20155234 昝昕明<基于ARM实验箱的国密算法应用>课程设计个人报告 个人贡献 参与课设题目讨论及完成全过程: 资料收集: SM1算法及和ARM之间通信 负责串口代码调试: 协调完成 ...

  4. 20155235 王玥 《基于Arm实验箱的接口测试和应用》 课程设计报告

    20155235 王玥 <基于Arm实验箱的接口测试和应用> 课程设计报告 一.设计方案及可行性分析 熟悉 Linux 开发环境 多线程应用程序设计 串行端口程序设计 中断实验 二.详细设 ...

  5. 20155224 聂小益 《基于Arm实验箱的接口测试和应用》 课程设计报告

    一.设计方案及可行性分析 熟悉 Linux 开发环境 多线程应用程序设计 串行端口程序设计 中断实验 二.详细设计思路 1. 熟悉 Linux 开发环境 建立工作目录: 在终端输入代码建立工作目录 [ ...

  6. 20155219 付颖卓《基于ARM试验箱的接口应用于测试》课程设计个人报告

    一.个人贡献 参与课设题目讨论及完成全过程: 资料收集: 负责代码调试: 修改小组结题报告: 负责试验箱的管理: 二.设计中遇到的问题及解决方法 1.makefile无法完成编译.如下图: 答:重新下 ...

  7. 课程设计个人报告——基于ARM实验箱的捕鱼游戏的设计与实现

    课程设计个人报告--基于ARM实验箱的捕鱼游戏的设计与实现 一.个人贡献 参与课设题目讨论及部分过程 资料收集 负责代码调试 捕鱼游戏相应功能的实现 实验环境 Eclipse软件开发环境: ARM实验 ...

  8. 课程设计小组报告——基于ARM实验箱的捕鱼游戏的设计与实现

    课程设计小组报告--基于ARM实验箱的捕鱼游戏的设计与实现 一.任务简介 1.1 任务内容 捕鱼游戏这个项目是一个娱乐性的游戏开发,该游戏可以给人们带来娱乐的同时还可以给人感官上的享受,所以很受人们的 ...

  9. 20155338课程设计个人报告——基于ARM实验箱的Android交友软件的设计与实现

    课程设计个人报告--基于ARM实验箱的Android交友软件的设计与实现 个人贡献 实验环境的搭建 代码调试 在电脑上成功运行 研究程序代码撰写小组报告 一.实验环境 1.Eclipse软件开发环境: ...

随机推荐

  1. mpvue最佳实践 , 美团出的一个小程序框架

    看手机微信,看到说美团出了1个小程序框架,  mpvue 搜下来试试,看了网上的一个对比 ----------------- 以下为引用 我们对微信小程序.mpvue.WePY 这三个开发框架的主要能 ...

  2. 自定义UDF

    1.编写udf类 package hive.udf; import org.apache.hadoop.hive.ql.exec.Description; import org.apache.hado ...

  3. [Swift] Swift笔记

    开始整理Swift笔记了.打算直接用Playground去写,里面自带的Markup语法和Markdown差不多,显示的效果也不差于博客.而且用Xcode看代码也方便.所以这部分内容不再在博客里记录了 ...

  4. 【three.js练习程序】旋转物体自身

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  5. Git 命令快速浏览

    Git 命令快速浏览 创建 Git 可管理的仓库 git init 查看当前仓库的状态 git status 添加到仓库,实际上是添加到暂存区 git add [-A | --all] git add ...

  6. CAC的Debian-8-64bit安装BBR正确方式是?

    裝过三台debian 64 bit, CAC, 2歐, KVM虛擬機 做法都一樣 0. 有裝銳速記得先刪除, 免得換核心後, 銳速在扯後腿 1.換4.9版kernel 有正式版 別裝啥rc版, 4.9 ...

  7. 使用 Azure PowerShell 管理 Azure 虚拟网络和 Windows 虚拟机

    Azure 虚拟机使用 Azure 网络进行内部和外部网络通信. 本教程介绍了如何在虚拟网络中创建多个虚拟机 (VM),以及如何在虚拟机之间配置网络连接. 你将学习如何执行以下操作: 创建虚拟网络 创 ...

  8. Oracle EBS SLA取值

    -- 从GL总账追溯到 => 子分类账SLA => 子模块AP.AR等 SELECT xep.name, -- 法人主体 xep.legal_entity_identifier, -- 法 ...

  9. 安装并使用pt-ioprofile

    pt-ioprofile,是一个percona的性能分析工具,可以查看进程输出.输入,打印一些表文件及活动IO.pt-ioprofile是一个只读工具,所以对数据没风险.由于网上对pt-ioprofi ...

  10. NPOI 导出Excel 数据方式

    使用NPOI的库进行Excel导出操作 公共帮助类: using NPOI.HSSF.UserModel; using NPOI.SS.UserModel; using System; using S ...