博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
2017-2018-1 20155308 20155316 实验二 固件程序设计
阅读量:5285 次
发布时间:2019-06-14

本文共 2993 字,大约阅读时间需要 9 分钟。

20155308&20155316 2017-2018-1 《信息安全系统设计基础》实验二

本实验报告由两人共同完成

实验前的准备(安装步骤说明)

1.安装keil环境

十万分注意!!!

安装keil的路径一定不要是中文名!一定不要是中文名!!!

否则用这个平台编译的时候会出现编译不成功的提示的!
1057540-20171030214549668-879693096.png
编译成功则不会出现上图提示:
1057540-20171030214652777-1403074655.png

安装包

1057540-20171030210842418-1925389434.png

主参考资料

遇到的问题

  • 问题1:选择安装路径后点击安装时出现了“this folder is not write-protected and ...”的错误提示
  • 解答1:在百度上搜索到一篇相类似错误的,上面对此的解说为:
    1057540-20171030200444215-1348621560.png
  • 大致意思是跟选择文件时创建的文件夹操作有误有关。在选择安装路径的时候,我是点开路径选择界面后,中途创建了文件夹,估计是这个地方出错了。于是我重新打开下载软件,在选择路径之前先把安装路径创建好,再选择,果然这次就成功安装了。

  • 问题2:注册时出现无法注册的情况
  • 1057540-20171030204148011-1648971107.png
  • 解答2:在百度上是:“在桌面KEIL的快捷方式图标上点击右键--以管理员权限运行
    重新填入注册码即可”
  • 操作后结果如下:
    1057540-20171030204201590-2063029968.png
  • 仍然没有注册成功,网上对此的解释见
  • 查看TOOL文件后发现,我们的安装中只有ARM这个编译器,没有C51编译器。
    1057540-20171030204220918-574058325.png
  • 这说明我们生成注册码时选择的应该是ARM选项而不是C51选项
  • 更改选项后填入注册码
    1057540-20171030204211511-665772534.png
  • 结果显示注册成功

2.打开文件

  • 问题1:怎么打开一个工程?
  • 解答1:选择project->open project即可,不是选file->open file,记得不要弄错了
  • 1057540-20171030205751840-2115360712.png
  • 问题2:实验说明.txt文件中说需要在打开的工程里的algorithm文件夹上添加Z32HUA_ALG.LIB,该怎么添加?
  • 1057540-20171030210325340-246529088.png
  • 解答2:在左边的栏里双击algorithm文件夹,在弹出的窗口里选择显示所有文件(All files(".")),找到如图所示的文件添加即可。
  • 1057540-20171030210333902-1427912001.png

接下来的步骤照实验说明走即可。

实验

实验1

实验内容

  1. 注意不经老师允许不准烧写自己修改的代码
  2. 两人(个别三人)一组
  3. 参考云班课资源中“信息安全系统实验箱指导书.pdf “第一章,1.1-1.5安装MDK,JLink驱动,注意,要用系统管理员身分运行uVision4,破解MDK(破解程序中target一定选ARM)
  4. 提交破解程序中产生LIC的截图
  5. 提交破解成功的截图

截图

1057540-20171105184817263-1403263129.png

1057540-20171105184824310-1853989173.png

分析

  • 由于该实验部分是在上实验课前一天做的,所以摸索了一会,有关问题及解决方法见“实验前准备”部分(第一节)

实验2

实验内容

  1. 注意不经老师允许不准烧写自己修改的代码
  2. 参考云班课资源中“信息安全系统实验箱指导书.pdf “第一章,1.4” KEIL-MDK 中添加 Z32 SC-000 芯片库,提交安装截图
  3. 参考云班课资源中“信息安全系统实验箱指导书.pdf “第一章,1.9”完成LED实验,注意“打开Z32的电源开关前,按住Reboot按键不放,两次打开电源开关,Z32即可被电脑识别,进行下载调试。提交运行结果截图
  4. 实验报告中分析代码

截图

1057540-20171105184839216-859841248.png

1057540-20171105184831951-781243960.png

问题与分析

  • 问题:在将代码从电脑下载到实验箱的时候,并没有显示连接成功
  • 解决方法:开关实验箱左上角部分的电源的时候,慢一点开、关,不要一下子完成,就可以连接成功了。如果还不成功,已知有三种解决方法:一是重启自己的电脑,二是连线方面可以重连一下,例如换一下在电脑上连接的端口,三是换一个电脑或者实验箱试试
  • 分析代码
  • 主函数代码的执行过程为:
  • 1) 系统初始化,中断设置,使能所有中断;
  • 2) 判断按键,返回 boot 条件,确认是否进行程序下载;
  • 3) 初始化 IC 卡插入检测端口 GPIO6;
  • 4) 串口初始化;
  • 5) LCD12864 初始化;
  • 6) 矩阵键盘初始化;
  • 7) 液晶屏第一行显示字符串。

实验3

实验内容

任务详情

  1. 注意不经老师允许不准烧写自己修改的代码
    1.参考云班课资源中“信息安全系统实验箱指导书.pdf “第一章,1.4” KEIL-MDK 中添加 Z32 SC-000 芯片库,提交安装截图
  2. 参考云班课资源中“信息安全系统实验箱指导书.pdf “第一章,1.0”完成UART发送与中断接收实验,注意“打开Z32的电源开关前,按住Reboot按键不放,两次打开电源开关,Z32即可被电脑识别,进行下载调试。提交运行结果截图
  3. 实验报告中分析代码

截图

1057540-20171105184856654-777555474.png

1057540-20171105184908935-1450942984.png

1057540-20171105184914623-1195063546.png

1057540-20171105184919763-1423344298.png

分析

  • 分析代码
  • 主函数代码的执行过程为:
  • 1) 系统初始化,中断设置,使能所有中断;
  • 2) 判断按键,返回 boot 条件,确认是否进行程序下载;
  • 3) 初始化 IC 卡插入检测端口 GPIO6;
  • 4) 串口初始化;
  • 5) LCD12864 初始化;
  • 6) 矩阵键盘初始化;
  • 7) 液晶屏第一行显示字符串。

实验4

实验内容

  1. 网上搜集国密算法标准SM1,SM2,SM3,SM4
  2. 网上找一下相应的代码和标准测试代码,在Ubuntu中分别用gcc和gcc-arm编译
  3. 四个算法的用途?
  4. 《密码学》课程中分别有哪些对应的算法?
  5. 提交2,3两个问题的答案
  6. 提交在Ubuntu中运行国密算法测试程序的截图

截图

1057540-20171105190148513-1670905452.png

1057540-20171105190011326-1302612630.png

1057540-20171105190021998-1284357906.png

分析

  • 问题:在网上找到了相关代码,但试运行后SM2运行不出来
  • 解决:打开程序,发现它include头文件如下:
  • 1057540-20171105190402060-1532638509.png
  • 但下载的代码里没有这些.h文件,openssl文件夹路径并没有添加至环境变量中去
  • 于是我在openssl官网上了这些头文件,并将include改为类似:#include "../opoenssl/ec.h"
  • 结果编译时提醒我“opensslconf.h.in”文件无法编译,查看代码发现代码有误
  • 于是我复制官网上的opensslconf.h的,粘贴至opensslconf.h.in中(官网上的和github上的该代码内容不同)
  • 继续编译,出现其他头文件找不到的编译错误提示,仔细查找,原来是如果要以#include "头文件地址"这种形式include头文件的话,则所有头文件都要这么写,上图所包含的头文件中也引用了其他的头文件,也就是说opennssl文件夹中所有头文件都得改成这种形式,这样太麻烦了,如果全修改的话,则可以调试出SM2的测试代码;另一种解决办法是将openssl文件夹路径添加至环境变量中(在linux环境下)

实验5

实验内容

  1. 注意不经老师允许不准烧写自己修改的代码
  2. 参考云班课资源中“信息安全系统实验箱指导书.pdf “第一章,1.4” KEIL-MDK 中添加 Z32 SC-000 芯片库,提交安装截图
  3. 参考云班课资源中“信息安全系统实验箱指导书.pdf “第一章,1.16”完成SM1加密实验,注意“打开Z32的电源开关前,按住Reboot按键不放,两次打开电源开关,Z32即可被电脑识别,进行下载调试。提交运行结果截图
  4. 实验报告中分析代码

截图

1057540-20171105184935388-1453601610.png

分析

  • 分析代码
  • 主函数代码的执行过程为:
    1) 系统初始化,中断设置,使能所有中断;
    2) 判断按键,返回 boot 条件,确认是否进行程序下载;
    3) 初始化 IC 卡插入检测端口 GPIO6;
    4) 串口初始化;
    5) LCD12864 初始化;
    6) 矩阵键盘初始化;
    7) 液晶屏第一行显示字符串。

转载于:https://www.cnblogs.com/JIUSHA/p/7788541.html

你可能感兴趣的文章
第二次团队冲刺第二天
查看>>
bzoj 2257 (JSOI 2009) 瓶子与燃料
查看>>
11)Java abstract class 和 interface
查看>>
使用xrdp或Xmanager 远程连接 CentOS6
查看>>
Linux误删恢复
查看>>
Unity调用Windows窗口句柄,选择文件和目录
查看>>
HashMap循环遍历方式
查看>>
React Native 入门 调试项目
查看>>
C# 通过 Quartz .NET 实现 schedule job 的处理
查看>>
关于java之socket输入流输出流可否放在不同的线程里进行处理
查看>>
目前为止用过的最好的Json互转工具类ConvertJson
查看>>
Day13
查看>>
tensorflow saver简介+Demo with linear-model
查看>>
Luogu_4103 [HEOI2014]大工程
查看>>
Oracle——SQL基础
查看>>
项目置顶随笔
查看>>
Redis的安装与使用
查看>>
P1970 花匠
查看>>
java语言与java技术
查看>>
NOIP2016提高A组五校联考2总结
查看>>