zoukankan      html  css  js  c++  java
  • 2019-2020-1 20175304 20175303 20175327 20175335 实验二 固件程序设计

    2019-2020-1 20175304 20175303 20175327 20175335 实验二 固件程序设计

    实验目的

    实验过程

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

    实验要求

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

    实验步骤

    安装MDK4.74

    1.打开MDK安装包

    2.同意协议

    3.选择安装位置

    4.填写信息

    5.安装

    6.安装完成

    7.安装ULINK驱动

    8.点击安装软件,ULINK安装完后自动退出

    破解MDK4.74

    1.打开uVision4,点File>>License Management

    2.复制电脑ID

    3.运行kell-MDK注册机,粘贴CID并选择ARM

    4.点击generate生成LIC

    5.将注册机生成的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.实验报告中分析代码

    实验步骤

    选择SC000库

    1.打开"软件资料"里的"SC000库支持",双击运行里面的exe文件

    2.准备安装

    3.同意协议

    4.选择安装路径为MDK所在的安装目录,用户信息已有点击进行下一步
    5.点击Finish结束安装

    6.打开uVision4,点击Project>>New uVision Project

    7.在弹出的安装路径窗口选择安装路径文件夹,并为工程命名为"Z32工程1"。

    8.在芯片库选择框选择库 Generic SC000 Device Database,并点击OK。

    9.选择具体的 CPU 型号,点开 ARM 结构目录,选择 SC000,点击 OK。

    10.基础环境搭建完成。

    LED闪烁实验

    1.打开Z32>>LED闪烁>>Z32HUA.uvproj文件

    1. 在 user 组和 driver 组下分别双击 Main.c 和 Gpio.c,就可以看到程序的源代码。

    3.将实验箱接入电源,用 USB 公对公线将实验箱的 USB 接口连接到电脑的 USB接口上,在电脑上找到“Z32>>软件资料>>Z32下载调试工具”目录打开 Z32下载调试工具 NZDownloadTool.exe。

    4.打开 Z32 的电源开关前,按住 Reboot 按键不放,两次打开电源开关,Z32 即可被电脑识别,进行下载调试。当左边框出现“1 设备已连接”,设备选择中显示芯片型号,此时就可以下载程序了。

    5.我们点击窗口右下方“确认下载”一栏的“浏览”,选择程序路径为“LED闪烁in32HUA.bin”并打开,最后点击下载。

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

    实验现象

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

    实验要求

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

    实验步骤

    选择SC000库

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

    UART发送与中断接受实验

    1.打开Z32>>UART发送与中断接受>>Z32HUA.uvproj文件

    2.在 user 组和 driver 组下分别双击 Main.c 和 Uart.c,就可以看到程序的源代码。打开 Uart.c,编译。

    3.将实验箱接入电源,用 USB 公对公线将实验箱的 USB 接口连接到电脑的 USB接口上,在电脑上找到“Z32>>软件资料>>Z32下载调试工具”目录打开 Z32下载调试工具 NZDownloadTool.exe。
    4.打开 Z32 的电源开关前,按住 Reboot 按键不放,两次打开电源开关,Z32 即可被电脑识别,进行下载调试。当左边框出现“1 设备已连接”,设备选择中显示芯片型号,此时就可以下载程序了。
    5.我们点击窗口右下方“确认下载”一栏的“浏览”,选择程序路径为“UART发送与中断接受in32HUA.bin”并打开,最后点击下载。

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

    实验现象

    1.用 9 针串口线将 Z32 模块的串口与电脑 USB 接口连接。
    2.首先在电脑上打开串口助手,选择对应的串口号,设置波特率为 115200,偶校验(Even),选中“发送新行”,然后打开串口。

    3.关闭 Z32 电源开关,再打开,程序自动运行,如果可以在串口调试助手看到如下实验现象:显示“A Welcome to Z32HUA! 1234567890 0xAA”,证明 PC 机串口已经接收到 Z32 串口发送来的信息。很遗憾的是,只显示了一个“0 0xAA”

    4.我们在串口调试助手的字符串输入框输入字符串“abcdefgh”,然后点击发送按钮,这时,可以看到串口调试助手接收到我们发送输入的字符串“abcdefgh”,并显示在串口助手上

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

    实验要求

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

    实验步骤

    选择SC000库

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

    SM1加密实验

    1.打开Z32>>SM1>>Z32HUA.uvproj文件

    2.在 user 组下分别双击 Main.c 和 SLE4428.c,就可以看到程序的源代码,编译。
    3.将实验箱接入电源,用 USB 公对公线将实验箱的 USB 接口连接到电脑的 USB接口上,在电脑上找到“Z32>>软件资料>>Z32下载调试工具”目录打开 Z32下载调试工具 NZDownloadTool.exe。
    4.打开 Z32 的电源开关前,按住 Reboot 按键不放,两次打开电源开关,Z32 即可被电脑识别,进行下载调试。当左边框出现“1 设备已连接”,设备选择中显示芯片型号,此时就可以下载程序了。
    5.我们点击窗口右下方“确认下载”一栏的“浏览”,选择程序路径为“SM1in32HUA.bin”并打开,最后点击下载。
    6.点击“下载”,左边状态提示框更新显示“程序下载成功!”实验的程序就下载进 Z32 的实验板上了。

    实验现象

    1.用 9 针串口线将 Z32 模块的串口与电脑 USB 接口连接。
    2.首先在电脑上打开串口助手,选择对应的串口号,设置波特率为 115200,偶校验(Even),选中“发送新行”,然后打开串口。
    3.关闭 Z32 电源开关,再打开,程序自动运行,此时可以看到实验现象:显示屏显示“SLE4428 实验!请插入 IC 卡...”。

    4.插入 SLE4428 IC 卡,显示屏第三行显示:“用户代码为:”,第四行显示用户代码“D27600000400”。

    5.若插入了正确的卡片,显示出用户代码,再按下矩阵键盘的“A”键,屏幕第一行显示提示“按-A 键校验密码”并在第二行显示两个字节的校验密码“校验 0xFF,0xFF”。

    6.按下矩阵键盘的“A”键,屏幕第三行显示“校验成功”,第四行显示校验剩余机会“剩余机会:8 次”。

    7.再按下矩阵键盘的“A”键,则屏幕第一行显示“加密解密实验”,第二、三行分别显示选项“1.加密”,“2.解密”。

    8.首先进行加密实验。按“1”键选择加密,屏幕第一行显示“观看串口调试助手”,第二行显示“A 键确认加密”。此时,串口调试助手显示原始数据和加密密钥。

    9.按下“A”键确认加密后,屏幕第三行显示“加密完成”,第四行显示提示“A 键存入 IC 卡”。串口调试助手显示加密后的数据

    10.按“A”键,将加密数据存入 IC 卡,此时串口显示“已将数据写入 IC 卡”。屏幕回到加密解密实验选择菜单。

    11.下面进行解密实验。按“2”键选择解密实验后屏幕显示“观看串口调试助手 A 键读取 IC 卡数据”。
    12.按“A”键后,此时屏幕显示“读取成功 选择密钥解密:1.正确密钥 2.错误密钥”。串口显示“读取的数据:为:0x7E 0xDC 0xA3 0x7B 0xBA 0x53 0x84 0xAC 0x0B 0x75 0x50 0x45 0x2E 0xEC 0x4F 0x4F”。

    13.按“1”键选择正确的密钥后,屏幕提示“A 键确认解密”,此时串口显示“将使用以下密钥进行解密:0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0A 0x0B 0x0C 0x0D 0x0E 0x0F”。

    14.按“A” 键确认解密后,屏幕提示“解密完成 A 键返回”,此时串口显示“解密后的数据为:0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0A 0x0B 0x0C 0x0D 0x0E 0x0F”。

    15.按“A”键返回加/解密选择菜单。

    16.如果使用错误秘钥进行解密,解密后将不能得到原始数据,在加/解密选择菜单中按“2”进行解密实验,用错误的秘钥解密。屏幕提示“观看串口调试助手 A 键读取 IC 卡数据”。

    17.按“A”键后,此时屏幕显示“读取成功 选择密钥解密:1.正确密钥 2.错误密钥”。串口显示“读取的数据:为:0x7E 0xDC 0xA3 0x7B 0xBA 0x53 0x84 0xAC 0x0B 0x75 0x50 0x45 0x2E 0xEC 0x4F 0x4F”。

    18.按“2”键选择错误的密钥后,屏幕提示“A 键确认解密”,此时串口显示“将使用以下密钥进行解密:0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00”。

    19.按“A” 键确认解密后,屏幕提示“解密完成 A 键返回”,此时串口显示“解密后的数据为:0xB9 0x8C 0xB6 0x40 0xA2 0xD2 0x83 0xD0 0x64 0x6E 0x54 0x26 0x86 0x6D 0x5A 0xF5”。而正确的原始数据为:“0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0A 0x0B 0x0C 0x0D 0x0E 0x0F”,所以解密失败。

    实验中的问题及解决过程
    问题1:从实验二-2需要实验箱开始,下载调试工具就不能识别实验箱
    解决方法:换一个实验箱就好了
    问题2:在做固件程序设计-3-UART时,实验现象本应是显示“A Welcome to Z32HUA! 1234567890 0xAA”,但是我们组做实验的时候只显示了一个“0 0xAA”
    问题2解决方法:重新做这个实验,结果还是不行,也许市实验箱的问题。
    问题3:实验二-4,找国密算法 SM1、SM2、SM3、SM4的算法与测试代码,找不着能用的
    解决方法:希望老师能帮助我们给我们一点资源。

    实验感受

    这次的几个实验都很简单,只要跟着实验指导书做就没问题,有问题应该及时问老师。

  • 相关阅读:
    Animation(三)
    布局
    AutoCommpleteText
    PHP数组中常用函数
    Animation(四)
    转:JAVA内存映射文件
    Ubuntu安装jdk
    转:Java NIO 详解
    转:长连接与短连接
    Direct or Nondirect ByteBuffer
  • 原文地址:https://www.cnblogs.com/cxd20175303/p/11865514.html
Copyright © 2011-2022 走看看