实验二 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,代码如下:int main(void) { /*********************此段代码勿动***********************/ //系统中断向量设置,使能所有中断 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.软件资料\Z32下载调试工具”目录打Z32 下载调试工具NZDownloadTool.exe。打开Z32的电源开关前,按住Reboot按键不放,两次打开电源开关,Z32即可被电脑识别,进行下载调试。
当左边框出现“1设备已连接”,设备选择中显示芯片型号,此时就可以下载程序了。我们点击窗口右下方“确认下载”一栏的“浏览”,选择程序路径为“Z32开发指南\实验 1-LED闪烁\bin\Z32HUA.bin”)打开,最后点击下载。 结果截图:
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.软件资料\Z32下载调试工具”目录打开 Z32 下载调试工具 NZDownloadTool.exe。打开Z32的电源开关前,按住Reboot按键不放,两次打开电源开关,Z32 即可被电脑识别,进行下载调试。
当左边框出现“1设备已连接”,设备选择中显示芯片型号,此时就可以下载程序了。我们点击窗口右下方“确认下载”一栏的“浏览”,选择程序路径为“Z32开发指南\实验 8-SM1\bin\Z32HUA.bin”并打开,最后点击下载。 结果截图:
4-国密算法
- 实验要求
网上搜集国密算法标准SM1,SM2,SM3,SM4
网上找一下相应的代码和标准测试代码,在Ubuntu中分别用gcc和gcc-arm编译
四个算法的用途?
《密码学》课程中分别有哪些对应的算法?
提交2,3两个问题的答案
提交在Ubuntu中运行国密算法测试程序的截图 - 实验过程
SM1
密码学课程对应算法:DES,AES
该算法不公开,所以无法获得源码 - SM2
密码学对应算法:ECC椭圆曲线算法 - 运行结果截图:
- SM3
密码学对应算法::SHA系列算法,MD系列算法
运行结果截图:
SM4
密码学对应算法:DES,AES 运行结果截图:
5-固件程序设计-5-SM1
1.注意不经老师允许不准烧写自己修改的代码
2.参考云班课资源中“信息安全系统实验箱指导书.pdf “第一章,1.4” KEIL-MDK 中添加 Z32 SC-000 芯片库,提交安装截图
3.参考云班课资源中“信息安全系统实验箱指导书.pdf “第一章,1.16”完成SM1加密实验,注意“打开Z32的电源开关前,按住Reboot按键不放,两次打开电源开关,Z32即可被电脑识别,进行下载调试。提交运行结果截图
4.实验报告中分析代码运行结果截图:
6-清理
实验结束后,把实验室原来的网线插回,否则以后做实验的同学无法开机
只有用实验室机器的小组做
提交你们小组使用的计算机的编号照片
提交插好网线的照片
提交盖好后盖的照片: