博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2017-2018-1 20155217 20155236实验二 固件程序设计

Posted on 2017-11-05 12:39  20155217杨笛  阅读(285)  评论(0编辑  收藏  举报

2017-2018-1 20155217 20155236实验二 固件程序设计

  • 提交实验报告博客,一组写一篇,实验中贡献小的写博客,贡献多的可以给出同组同学的博客链接。

  • 博客标题:2017-2018-1 学号1 学号2 实验二 固件程序设计

  • 实验目的,实验步骤

  • 实验中的问题及解决过程

  • 新学到的知识点

实验二 固件程序设计-1-MDK

0.  注意不经老师允许不准烧写自己修改的代码
1.  两人(个别三人)一组
2.  参考云班课资源中“信息安全系统实验箱指导书.pdf “第一章,1.1-1.5安装MDK,JLink驱动,注意,要用系统管理员身分运行uVision4,破解MDK(破解程序中target一定选ARM)
3.  提交破解程序中产生LIC的截图
4.  提交破解成功的截图
  • 运行exp2/软件资料/MDK4.74/.exe安装MDK-ARM
  • 安装JLink
  • 破解MDK4.74:复制CID到keil-MDK注册机中,Target选择ARM,点击generate生成LIC
  • 将LIC复制到keil4中的LIC输入框,点击Add LIC,破解完成。

实验二 固件程序设计-2-LED

0.  注意不经老师允许不准烧写自己修改的代码
1.  参考云班课资源中“信息安全系统实验箱指导书.pdf “第一章,1.4” KEIL-MDK 中添加 Z32 SC-000 芯片库,提交安装截图
2.  参考云班课资源中“信息安全系统实验箱指导书.pdf “第一章,1.9”完成LED实验,注意“打开Z32的电源开关前,按住Reboot按键不放,两次打开电源开关,Z32即可被电脑识别,进行下载调试。提交运行结果截图
3.  实验报告中分析代码
  • 运行exp2\软件资料\MDK-ARM-SC000\MDK-ARM_AddOn_SC000_Support.exe安装SC000库
  • 搭建Z32工程基础编程环境:建立new uVision Project,选择完安装路径后,弹出芯片库选择框,在下拉框中选择Generic SC000 Device Database,在弹出框中点开ARM目录,选择SC000。
  • 打开实验1-LED 闪烁\Z32HUA.uvproj以打开LED闪烁实验项目,编译项目生成实验1-LED 闪烁\bin\Z32HUA.bin
  • 将实验箱接入电源,连接实验箱与电脑,打开Z32下载调试工具软件资料\Z32下载调试工具\NZDownloadTool.exe打开Z32的电源开关前,按住Reboot按键不放,两次打开电源开关,Z32即可被电脑识别,显示1设备已连接后,点击浏览,选择\实验 1-LED 闪烁\bin\Z32HUA.bin,点击下载,绿色进度条加载完成后,程序下载成功
  • 关闭Z32电源,再打开,下载完的程序自动运行,可以看到核心板上LED灯闪烁。

实验二 固件程序设计-3-UART

0.  注意不经老师允许不准烧写自己修改的代码
1.  参考云班课资源中“信息安全系统实验箱指导书.pdf “第一章,1.4” KEIL-MDK 中添加 Z32 SC-000 芯片库,提交安装截图
2.  参考云班课资源中“信息安全系统实验箱指导书.pdf “第一章,1.0”完成UART发送与中断接收实验,注意“打开Z32的电源开关前,按住Reboot按键不放,两次打开电源开关,Z32即可被电脑识别,进行下载调试。提交运行结果截图
3.  实验报告中分析代码
  • 打开实验 2-UART 发送与中断 接收\Z32HUA.uvproj以打开UART 发送与中断 接收实验项目,编译项目生成实验 2-UART 发送与中断接收\bin\Z32HUA.bin
  • 将实验箱接入电源,连接实验箱与电脑,用 9 针串口线将 Z32 模块的串口与电脑 USB 接口连接,打开Z32下载调试工具软件资料\Z32下载调试工具\NZDownloadTool.exe打开Z32的电源开关前,按住Reboot按键不放,两次打开电源开关,Z32即可被电脑识别,显示1设备已连接后,点击浏览,选择\实验 2-UART 发送与中断接收\bin\Z32HUA.bin,点击下载,绿色进度条加载完成后,程序下载成功
  • 打开串口助手,设置相应参数。
  • 关闭Z32电源,再打开,下载完的程序自动运行,在串口调试助手的字符串输入框输入字符串“abcdefgh”,然后点击发
    送按钮。

实验二 固件程序设计-4-国密算法

0.  网上搜集国密算法标准SM1,SM2,SM3,SM4
1.  网上找一下相应的代码和标准测试代码,在Ubuntu中分别用gcc和gcc-arm编译
2.  四个算法的用途?
3.  《密码学》课程中分别有哪些对应的算法?
4.  提交2,3两个问题的答案
5.  提交在Ubuntu中运行国密算法测试程序的截图
  • SM1 为对称加密。其加密强度与AES相当。该算法不公开,调用该算法时,需要通过加密芯片的接口进行调用。
  • SM2:用于实现数字签名密钥协商和数据加密等功能。
  • SM3:适用于商用密码应用中的数字签名和验证消息认证码的生成与验证以及随机数的生成,可满足多种密码应用的安全需求。
  • SM4:用于实现数据的加密/解密运算,以保证数据和信息的机密性。
SM1:加密程度与AES相当
SM2:椭圆曲线公钥密码算法、椭圆曲线密钥交换协议、椭圆曲线公钥加密算法
SM3:密码杂凑算法
SM4:分组对称密码算法
  • SM2:

  • SM3:

  • SM4:

实验二 固件程序设计-5-SM1

0.  注意不经老师允许不准烧写自己修改的代码
1.  参考云班课资源中“信息安全系统实验箱指导书.pdf “第一章,1.4” KEIL-MDK 中添加 Z32 SC-000 芯片库,提交安装截图
2.  参考云班课资源中“信息安全系统实验箱指导书.pdf “第一章,1.16”完成SM1加密实验,注意“打开Z32的电源开关前,按住Reboot按键不放,两次打开电源开关,Z32即可被电脑识别,进行下载调试。提交运行结果截图
3.  实验报告中分析代码
  • 打开实验 8-SM1\Z32HUA.uvproj以打开UART 发送与中断 接收实验项目,编译项目生成实验 8-SM1\bin\Z32HUA.bin
  • 将实验箱接入电源,连接实验箱与电脑,用 9 针串口线将 Z32 模块的串口与电脑 USB 接口连接,打开Z32下载调试工具软件资料\Z32下载调试工具\NZDownloadTool.exe打开Z32的电源开关前,按住Reboot按键不放,两次打开电源开关,Z32即可被电脑识别,显示1设备已连接后,点击浏览,选择\实验 8-SM1\bin\Z32HUA.bin,点击下载,绿色进度条加载完成后,程序下载成功
  • 打开串口助手,设置相应参数。
  • 闭Z32电源,再打开,下载完的程序自动运行,显示屏显示“SLE4428 实验!请插入 IC 卡.”。插入IC卡后:用户代码为:”,第四行显示用户代码“D27600000400”。
  • 接着按照显示屏上的提示进行。

实验二 固件程序设计-6-清理

实验结束后,把实验室原来的网线插回,否则以后做实验的同学无法开机
0. 只有用实验室机器的小组做
1. 提交你们小组使用的计算机的编号照片
2. 提交插好网线的照片
3. 提交盖好后盖的照片
  • 用自己的电脑完成的

实验中遇到的问题和解决方案

  • 问题一:编译SM2的C文件时出现找不到库的问题。
  • 解决方案:输入两条命令重装
sudo apt-get remove openssl libssl-dev
sudo apt-get install openssl libssl-dev -y