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;  } 

实验中遇到的问题

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

转载于:https://www.cnblogs.com/20155220wsq/p/9130615.html

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

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

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

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

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

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

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

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

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

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

    20165329课程设计个人报告--基于ARM实验箱的捕鱼游戏的设计与实现 一.个人贡献 实验环境的搭建 代码调试 在电脑上成功运行 实现了arm的配置 实现了游戏在arm游戏实验箱上的使用 理解游戏 ...

  6. linux 网络对讲,基于ARM与Linux的全数字化可视对讲系统的设计与实现

    摘要: 在信息化飞速发展的今天智能家居系统已越来越多的被人们所接受,从楼宇可视对讲到紧急情况报警,再到远程家电控制,智能家居系统在人们的日常生活中扮演着重要的角色.传统的可视对讲系统都是基于模拟音视频 ...

  7. 20165219王彦博《基于Cortex-M4的虚拟机制作与测试》课程设计个人报告

    20165219王彦博<基于Cortex-M4的虚拟机制作与测试>课程设计个人报告 一.个人贡献 参与课设题目讨论及完成全过程: 资料收集: 负责环境搭建,代码运行下载: 撰写小组结题报告 ...

  8. 20155227辜彦霖《基于Cortex-M4的UCOSIII的应用》课程设计个人报告

    20155227辜彦霖<基于Cortex-M4的UCOSIII的应用>课程设计个人报告 一.个人贡献 参与课设题目讨论及完成全过程: 资料收集: 负责主要代码调试: 撰写小组结题报告. 二 ...

  9. 使用Go基于国密算法实现双向认证

    国内做2B(to Biz)或2G(to Gov)产品和解决方案的企业都绕不过国密算法,越来越多的国内甲方在采购需求中包含了基于国密算法的认证.签名.加密等需求.对于国内的车联网平台来说,支持基于国密的 ...

最新文章

  1. servlet中response中文乱码
  2. 关于在本地idea当中提交spark代码到远程的错误总结(第二篇)
  3. flutter版本控制工具 `FVM`
  4. DCMTK:以HTML格式呈现DICOM结构化报告文件的内容
  5. aop区别 decorator_Decorator或Proxy模式;AOP拦截器
  6. Python线程、进程、进程池、协程
  7. get与post的区别与联系
  8. 三星sec.android.soagent,3.0降级2.5教程
  9. html input submit 执行,HTML DOM Input Submit用法及代码示例
  10. JS 运行、复制、另存为 代码。
  11. 主动申请linux内存 脚本,Shell 脚本来自动监控 Linux 系统的内存
  12. oracle建立表语句 主键,oracle 创建表sql语句,主键,自增长
  13. mysql如何容器化_MySQL容器化详细教程
  14. TensorFlow+pytorch+gpu+anaconda极简安装教程
  15. 【图像融合】基于matlab GUI小波变换彩色图像融合(带面板)【含Matlab源码 782期】
  16. FreeImage使用
  17. magicbook16使用心得,小技巧
  18. 学习笔记10:程序设计基础(C)实验(函数)
  19. Linux上一个恶意程序分析实例:一步一步揭开病毒程序的面纱1
  20. word样式管理:如何对样式进行修改删除

热门文章

  1. 多序列比对要多久时间_ClustalW----多序列比对分析(一)
  2. 刀具的磨损与破损、刀具寿命及刀具状态监控
  3. MISC 入门隐写之用眼睛去倾听
  4. sbrk brk sys_brk 函数区分
  5. Matlab : 切换中、英文用户界面 (中文变英文)
  6. 结对编程实况录像-2022北航软工
  7. 音乐制作软件英文精简版-Nuendo 5 v5.1.1 WiN
  8. Unity3D WASD和方向键控制多个角色
  9. 数据挖掘幕课第四章习题
  10. 计算机音乐数字乐谱贴吧,【图片】【谱集】贴吧谱子整理【计算器音乐吧】_百度贴吧...