20145218&20145240 《信息安全系统设计基础》实验三 实时系统的移植
课程:信息安全系统设计基础
班级:1452
姓名:(按贡献大小排名)刘士嘉 张晓涵
学号:(按贡献大小排名)20145240 20145218
指导教师:娄嘉鹏
实验日期:2016.11.17
实验时间:10:00-12:30
实验序号:3
实验目的与要求:
1.根据实验指导书进行实时软件的安装。
2.尝试配置实验环境,并学会对软件进行测试。
3.(要求)正确使用连接线等实验仪器,并注意保护实验箱。实验结束之后将实验箱送回。
一、实验内容及步骤
实验环境配置
1.连接实验箱电源,用串口线、并口线、网线、连接实验箱和主机。
2.安装ADS
- 其中,在选择安装方式是“Install”,"Repair"还是"Remove"的选项卡中,选择remove选项,也就是要先删除旧版本的ADS。之后浏览并打开破解程序(位于00-ads1.2\Crack目录下的LICENSE.DAT)。
3.安装GIVEIO驱动(安装文件在01-GIVEIO目录下)
把整个GIVEIO目录拷贝到C:\WINDOWS下,并把该目录下的giveio.sys文件拷 贝到c:/windows/system32/drivers下。
在控制面板里,选添加硬件>下一步>选-是我已经连接了此硬件>下一步>选中-添加新的硬件设备>下一步>选中安装我手动从列表选择的硬件>下一步>选择-显示所有设备>选择-从磁盘安装-浏览,指定驱动为C:\WINDOWS\GIVEIO\giveio.inf文件,点击确定,安装好驱动。
4.安装JTAG驱动(安装文件在02-UArmJtag2.0目录下)
- 双击“UarmJtag2.0.exe”,按照默认安装即可,注意不要多次安装,如果电脑上已经有了多个,可以全部删除重新安装,我们在后面的步骤中发现,如果安装多了,可能会导致配置ARM9时出现异常,同时要注意,在控制面板里,模仿上一步中的驱动安装,将该驱动安装好。
5.配置超级终端:波特率为 115200,数据位 8,无奇偶校验,停止位 1,无数据流控制。注意一定要在配置ARM9驱动环境之前,就先进入vivi状态,因为它特别容易莫名其妙的进入“小企鹅”状态。
测试安装是否正确
- 打开ADS软件,打开需要测试的文件“exp11.mcp文件”,选中src、lib、startup、init文件夹,点击“mark”,会发现存在错误。
这时需要把04-test文件夹拷到英文英文目录中,再将Exp11_Date文件夹删除。重新做一遍这个步骤,发现只有警告,没有错误。
在进行下一步调试之前,首先打开Uarmjtag,点击初始化配置,选择处理器类型为ARM9,然后点击确定。
点击debug,Options->Configure Target 进行设置
Name:选择 ARM Ethernet driver
Configuration:配置为:127.0.0.1
回到ADS软件,点击debug进行调试。之后正常出现loading对话框。加载完成之后,屏幕上会出现等待执行的程序代码。点击go ,进行执行。
正常状态下,此时函数停在了main函数处,再次点击go,程序代码被完全执行。
所绘制的正弦函数动态曲线被显示在实验箱的液晶屏上。
实验代码:
void Main_Task(void *Id) //Main_Test_Task
{
int oldx,oldy;//保存原来坐标系位置
PDC pdc;//定义绘图设备上下文结构
int x,y;//坐标
double offset=0;//x坐标偏移量
ClearScreen();//清屏
pdc=CreateDC();//创建绘图设备上下文
SetDrawOrg(pdc, LCDWIDTH/2,LCDHEIGHT/2, &oldx, & oldy); //设置绘图原点为屏幕中心
Circle(pdc,0, 0, 50);//画圆
MoveTo(pdc, -50, -50);//移动到(-50,-50)
LineTo(pdc, 50, -50);//画线,当前位置变为(50,-50)
ArcTo(pdc, 80, -20, TRUE, 30);//画弧
LineTo(pdc, 80, 20);//画线,当前位置变为(80,20)
ArcTo(pdc, 50, 50, TRUE, 30);
LineTo(pdc, -50, 50);
ArcTo(pdc, -80, 20, TRUE, 30);
LineTo(pdc, -80, -20);
ArcTo(pdc, -50, -50, TRUE, 30);
OSTimeDly(3000);//将任务挂起3秒
ClearScreen();
SetDrawOrg(pdc, 0, LCDHEIGHT/2, &oldx,&oldy);//设置绘图原点为屏幕左边中部
for(;;)
{
MoveTo(pdc, 0, 0);
for(x=0;x<LCDWIDTH;x++)
{//画正弦波
y=(int)(50*sin(((double)x)/20.0+offset));//如果行数和列数偏移量超出工作表边缘,函数 OFFSET 返回错误值
LineTo(pdc, x, y);
}
offset+=1;
if(offset>=2*3.14)
offset=0;
OSTimeDly(1000);//将任务延时
ClearScreen();
}
DestoryDC(pdc);//删除绘图设备上下文
}
二、实验过程中遇到的问题以及解决方案。
1.安装ADS的时候,并未出现license wazird对话框。而安装的程序也无法使用。
- 需要先清除旧的ADS版本。因而我们重新安装了ADS;在选择安装方式是“Install”,"Repair"还是"Remove"的选项卡中,选择remove选项;就可以安装破解方法了。
2.一直到测试那一步,第一次run,程序正常的停在了main函数那里,这是再按run,在主机上的反应和指导步骤中的一样,但是,实验箱上没有反应。
- 我们之前的步骤都没有问题,所以我们换了一个试验箱,从头开始,这次成功出现了波形。
20145218&20145240 《信息安全系统设计基础》实验三 实时系统的移植的更多相关文章
- 20145215&20145307信息安全系统设计基础实验报告
20145215&20145307信息安全系统设计基础实验报告 PART1 一.实验原理 交叉编译,简单地说,就是在一个平台上生成另一个平台上的可执行代码.同一个体系结构可以运行不同的操作系统 ...
- 20145220&20145209&20145309信息安全系统设计基础实验报告(5)
20145220&20145209&20145309信息安全系统设计基础实验报告(5) 实验报告链接: http://www.cnblogs.com/zym0728/p/6132249 ...
- 20145220&20145209&20145309信息安全系统设计基础实验报告(3)
20145220&20145209&20145309信息安全系统设计基础实验报告(3) 实验报告链接: http://www.cnblogs.com/zym0728/p/6132243 ...
- 20145220&20145209&20145309信息安全系统设计基础实验报告(4)
20145220&20145209&20145309信息安全系统设计基础实验报告(4) 实验报告链接: http://www.cnblogs.com/zym0728/p/6132246 ...
- 20145220&20145209&20145309信息安全系统设计基础实验报告(2)
20145220&20145209&20145309信息安全系统设计基础实验报告(2) 实验报告链接: http://www.cnblogs.com/zym0728/p/6083664 ...
- 信息安全系统设计基础实验一 20135211&20135216
北京电子科技学院(BESTI) 实 验 报 告 封面 课程:信息安全系统设计基础 班级:1352 姓名:(按贡献大小排名)李行之 刘蔚然 ...
- 信息安全系统设计基础实验四:外设驱动程序设计 20135211李行之&20135216刘蔚然
北京电子科技学院(BESTI) 实 验 报 告 封面 课程:信息安全系统设计基础 班级:1352 ...
- 信息安全系统设计基础实验二 20135210&20135218
北京电子科技学院(BESTI) 实 验 报 告 课程:信息安全系统设计基础 班级:1352 姓名 ...
- 信息安全系统设计基础实验四 20135210&20135218
北京电子科技学院(BESTI) 实 验 报 告 课程:信息安全系统设计基础 班级: 1352 姓名:程涵,姬梦馨 学号:20135210,20135218 ...
随机推荐
- 一个java的Profile工具
场景:我们在系统运行中,需要监控某个代码段的运行时间,我们完全可以使用currentTimeMillis来做,但是做起来比较麻烦,尤其是需要阶段监控的时候,那么这个工具就出现啦~~~ 先说下想要实现的 ...
- 货运APP雨后春笋 传统物流模式将被改变
移动互联网正在改变我们的生活方式,各种手机APP充斥着人们的生活,物流行业也不例外.货运APP的出现,对于物流行业是一个提升的机会,也是迈向标准化和专业化的一个有效途径.有专家预测,这将为物流行业的发 ...
- QT数据库操作
浏览: 在QSqlQuery类中当执行exec()后会把指针放在记录集中第一个记录之上,所以需要调用QSqlQuery::next()来获取第一个数据,下面通过循环体来遍历所有表中的数据. while ...
- Linux的常用命令
1.cd命令 这是一个非常基本,也是大家经常需要使用的命令,它用于切换当前目录,它的参数是要切换到的目录的路径,可以是绝对路径,也可以是相对路径.如: cd /root/Docements # 切 ...
- 《编写可维护的JavaScript》——JavaScript编码规范(六)
变量.函数和运算符 在讨论过基本的JavaScript书写格式化之后,接下来关注如何使用函数.变量和运算符来减少复杂度和增强可读性就显得十分重要了. 变量声明 变量声明是通过var语句来完成的.var ...
- unity3d随机地牢生成代码
现在也是处于失业状态,碰巧看到个面试题是要用unity生成个随机地牢,就把做题过程中的思路和代码记录一下吧. 做完了以后我又想了一下,发现其实根本不需要这么麻烦,果然demo里的代码对我的思路影响还是 ...
- 关于js写全选的方法
思路:用一个变量来存储值,点击复选框来改变值: 代码 var num = 0; obj.onclick = function(){ if(this.checked == true){ for(var ...
- The Same Game-POJ1027模拟
The Same Game Time Limit: 1000MS Memory Limit: 10000K Description The game named "Same" is ...
- RK 61 键盘 Ubuntu 下键位映射修改方案
在用户 Home 目录下面创建 .Xmodmap 文件,然后输入以下的内容: remove Lock = Caps_Lock remove Control = Control_L remove Con ...
- readline,readlines,read函数
readline是读取每一行,包括'\n'.读出来是一个含'\n'的字符串. realines是读取整个文件,返回所有行的一个list(写代码的时候你需要一个文件的某几行,就可以用这个函数去切分) r ...