• 实验二 20145237 20155226 2015234 实验报告 固件程序设计


    实验二 20145237 20155226 2015234 实验报告 固件程序设计

    1-MDK

    • 实验要求
      注意不经老师允许不准烧写自己修改的代码
      两人(个别三人)一组
      参考云班课资源中“信息安全系统实验箱指导
      书.pdf “第一章,1.1-1.5安装MDK,JLink驱动,注意,要用系统管理员身分运行uVision4,破解MDK(破解程序中target一定选ARM)
      提交破解程序中产生LIC的截图
      提交破解成功的截图
    • 实验过程
      按照实验指导书上的操作进行软件安装-->运行 uVision4,点 File>>License Management-->复制 CID-->运行keil-MDK注册机(在“Z32开发指南2.软件资料keil-MDK 注册机”双击“keil mdk474注册机”)-->粘贴 CID 并选择 ARM。
      破解成功截图:

    2-LED

    • 实验要求
      注意不经老师允许不准烧写自己修改的代码
      参考云班课资源中“信息安全系统实验箱指导书.pdf “第一章,1.4” KEIL-MDK 中添加 Z32 SC-000 芯片库,提交安装截图
      参考云班课资源中“信息安全系统实验箱指导书.pdf “第一章,1.9”完成LED实验,注意“打开Z32的电源开关前,按住Reboot按键不放,两次打开电源开关,Z32即可被电脑识别,进行下载调试。提交运行结果截图
      实验报告中分析代码
    • 实验过程
      首先先在 KEIL-MDK 中添加 Z32 SC-000 芯片库,操作过程为:
      打开 keil uVision4 MDK。
      新建工程选择 Project——>New uVision Project。
      在弹出的安装路径窗口选择安装路径文件夹,并为工程命名。
      在芯片库选择框选择库 Generic SC000 Device Database。
      点开 ARM 结构目录,选择 SC000,点击 OK,搭建完成。
      然后完成让LED灯闪烁实验:
      在 user 组和 driver组下分别双击Main.c和Gpio.c,就可以看到程序的源代码。打开 Main.c,代码如下:
    {
    /*********************此段代码勿动***********************/
    //系统中断向量设置,使能所有中断
    SystemInit ();
    // 返回 boot 条件
    if(0 == GPIO_GetVal(0))
    {
        BtApiBack(0x55555555, 0xAAAAAAAA);
    }
    /*********************此段代码勿动***********************/
    GPIO_PuPdSel(0,0); //设置 GPIO0 为上拉
    GPIO_InOutSet(0,0); //设置 GPIO0 为输出
    while(1)
    {
        delay(100);
        GPIO_SetVal(0,0); //输出低电平,点亮 LED
        delay(100);
        GPIO_SetVal(0,1); //输出高电平,熄灭 LED 
    }
    }
    //延时函数,当系统时钟为内部 OSC 时钟时,延时 1ms
    void delay(int ms)
    {
    int i;
    while(ms--)
    {
        for(i=0;i<950;i++) ;
    }
    }```
    打开“Z32 开发指南实验1-LED闪烁”目录的工程文件。编译工程,产生后缀名为.bin 的可执行代码。
    将实验箱接入电源,用USB公对公线将实验箱的USB接口连接到电脑的USB接口上,在电脑上找到“Z32开发指南2.软件资料32下载调试工具”目录打Z32 下载调试工具NZDownloadTool.exe。打开Z32的电源开关前,按住Reboot按键不放,两次打开电源开关,Z32即可被电脑识别,进行下载调试。
    当左边框出现“1设备已连接”,设备选择中显示芯片型号,此时就可以下载程序了。我们点击窗口右下方“确认下载”一栏的“浏览”,选择程序路径为“Z32开发指南实验 1-LED闪烁in32HUA.bin”)打开,最后点击下载。
     - 结果截图:
    ![](http://images2017.cnblogs.com/blog/1072275/201711/1072275-20171105210901466-533695009.jpg)
    ![](http://images2017.cnblogs.com/blog/1072275/201711/1072275-20171105210826451-549559279.jpg)
    ##3-UART
     - 实验要求
    注意不经老师允许不准烧写自己修改的代码
    参考云班课资源中“信息安全系统实验箱指导书.pdf “第一章,1.4” KEIL-MDK 中添加 Z32 SC-000 芯片库,提交安装截图
    参考云班课资源中“信息安全系统实验箱指导书.pdf“第一章,1.0”完成UART发送与中断接收实验,注意“打开Z32的电源开关前,按住Reboot按键不放,两次打开电源开关,Z32即可被电脑识别,进行下载调试。提交运行结果截图
    实验报告中分析代码
     - 实验过程
    首先和实验二中一样在 KEIL-MDK 中添加 Z32 SC-000 芯片库
    然后完成UART发送与中断接收实验:
    打开“Z32 开发指南实验8-SM1”目录的工程文件。编译工程,产生后缀名为.bin 的可执行代码。
    将实验箱接入电源,用USB公对公线将实验箱的USB接口连接到电脑的USB接口上,在电脑上找到“Z32开发指南2.软件资料32下载调试工具”目录打开 Z32 下载调试工具 NZDownloadTool.exe。打开Z32的电源开关前,按住Reboot按键不放,两次打开电源开关,Z32 即可被电脑识别,进行下载调试。
    当左边框出现“1设备已连接”,设备选择中显示芯片型号,此时就可以下载程序了。我们点击窗口右下方“确认下载”一栏的“浏览”,选择程序路径为“Z32开发指南实验 8-SM1in32HUA.bin”并打开,最后点击下载。
     - 结果截图:
    ![](http://images2017.cnblogs.com/blog/1072275/201711/1072275-20171105212026013-1643411860.jpg)
    ##4-国密算法
     - 实验要求
    网上搜集国密算法标准SM1,SM2,SM3,SM4
    网上找一下相应的代码和标准测试代码,在Ubuntu中分别用gcc和gcc-arm编译
    四个算法的用途?
    《密码学》课程中分别有哪些对应的算法?
    提交2,3两个问题的答案
    提交在Ubuntu中运行国密算法测试程序的截图
     - 实验过程
    SM1
    密码学课程对应算法:DES,AES
    该算法不公开,所以无法获得源码
     - SM2
    密码学对应算法:ECC椭圆曲线算法
     - 运行结果截图:
    ![](http://images2017.cnblogs.com/blog/1072275/201711/1072275-20171105211003638-1745047652.png)
     - SM3
    密码学对应算法::SHA系列算法,MD系列算法
    运行结果截图:
    ![](http://images2017.cnblogs.com/blog/1072275/201711/1072275-20171105211010216-264998944.png)
    SM4
    密码学对应算法:DES,AES
     - 运行结果截图:
    ![](http://images2017.cnblogs.com/blog/1072275/201711/1072275-20171105211020185-687031872.png)
    ##5-固件程序设计-5-SM1
    1.注意不经老师允许不准烧写自己修改的代码
    2.参考云班课资源中“信息安全系统实验箱指导书.pdf “第一章,1.4” KEIL-MDK 中添加 Z32 SC-000 芯片库,提交安装截图
    3.参考云班课资源中“信息安全系统实验箱指导书.pdf “第一章,1.16”完成SM1加密实验,注意“打开Z32的电源开关前,按住Reboot按键不放,两次打开电源开关,Z32即可被电脑识别,进行下载调试。提交运行结果截图
    4.实验报告中分析代码
     - 运行结果截图:
    ![](http://images2017.cnblogs.com/blog/1072275/201711/1072275-20171105211445138-534843207.jpg)
    ![](http://images2017.cnblogs.com/blog/1072275/201711/1072275-20171105211447935-2039326613.jpg)
    ![](http://images2017.cnblogs.com/blog/1072275/201711/1072275-20171105211955888-1083280271.jpg)
    ##6-清理
    实验结束后,把实验室原来的网线插回,否则以后做实验的同学无法开机
    只有用实验室机器的小组做
    提交你们小组使用的计算机的编号照片
    提交插好网线的照片
    提交盖好后盖的照片:
    ![](http://images2017.cnblogs.com/blog/1072275/201711/1072275-20171105211851748-123411078.jpg)
    ![](http://images2017.cnblogs.com/blog/1072275/201711/1072275-20171105211855326-1219365208.jpg)
  • 相关阅读:
    localStorage存储数组以及取数组方法
    jq选择CheckBox进行排序
    js定时函数,定时改变字体的大小
    JQuery Datatable用法
    WebSocket实战
    代码段
    黎活明给程序员的忠告 收藏
    雅砻江后勤项目经验总结
    Java泛型方法
    回忆,梦的开始
  • 原文地址:https://www.cnblogs.com/zxm20/p/7788616.html
Copyright © 2020-2023  润新知