北京电子科技学院(BESTI)
              
课程:信息安全系统设计基础 班级:1353 姓名:吴子怡、郑伟
学号:20135313、20135322 指导教师: 娄嘉鹏 实验日期:2015年11月25日
必修/选修:必修 实验序号:exp3 实验时间:15:30-18:00
实验名称:  exp3_实时系统的移植
实验目的与要求 1、安装ADS
2、安装GIVEIO驱动
3、安装JTAG驱动
4、测试基本安装是否正确
 
实验器材 1、Lenovo计算机一台
2、ARM实验箱一个

搭档博客链接:20135313吴子怡http://www.cnblogs.com/paperfish/

配置实验环境:

1. 安装ADS(安装文件在00-ads1.2目录下,破解方法00-ads1.2\Crack目录下)

 

2. 安装GIVEIO驱动(安装文件在01-GIVEIO目录下)

把整个GIVEIO目录拷贝到C:\WINDOWS下,并把该目录下的giveio.sys文件拷贝到c:/windows/system32/drivers下。

在控制面板里,选添加硬件>下一步>选-是我已经连接了此硬件>下一步>选中-添加新的硬件设备>下一步>选中安装我手动从列表选择的硬件>下一步>选择-显示所有设备>选择-从磁盘安装-浏览,指定驱动为C:\WINDOWS\GIVEIO\giveio.inf文件,点击确定,安装好驱动

3. 安装JTAG驱动(安装文件在02-UArmJtag2.0目录下)

4. 配置超级终端:波特率为 115200,数据位 8,无奇偶校验,停止位 1,无数据流控制。

5. 测试基本安装是否正确,参考文档“03-测试文档.pdf”,测试程序在04-Test目录下

1
 
在pc机中“开始”、“运行”,输入虚拟机的ip。\\192.168.0.234,输入用户名bc,密码123456。然后就可以访问虚拟机的文件。再把所需文件解压缩拷贝到共享文件夹bc中。
 
1
2
3
4
5
6
7
8
 
 
 
首先运行ADS.1.2集成开发环境。
单击File->Open
选择工程文件exp3/Exp11绘图的API函数为例,选择Exp11.mcp后打开
选择需编译的文件,在相应文件夹前空白点击选中,头文件库文件不能选中,因已经被包含到源代码中。
点击make进行编译连接,编译结果为4个警告,15个其他信息,见下图。
在调试程序运行之前务必开启Uarmjtag点击初始化配置,选择ARM9,并保证平台停止在VIVI状态下,如图。
点击Debug按钮进行仿真调试。
点击Option->Configure Target,弹出对话框,选configure,更改设置,name:ARM Ethernet driver,
Configuration:127.0.0.1,点击确定,选择ADP,出现加载页面。这次需要关闭,在Debug,才是正常加载页面,如图。然后点击run。正常状态下停止在main函数。继续点击RUN可运行绘图实验,出现绘图好的图形,如图。结束前,先暂停在退出程序。
 

二、遇到的问题及解决方法

1、选择需编译的文件,在相应文件夹前空白点击选中,头文件库文件不能选中,因已经被包含到源代码中。点击make进行编译连接,编译结果为4个警告,15个其他信息

(注意:编译失败的原因可能是路径中含中文或者是Exp11_Data问题)

2、在点击run后,运行程序,运行了很久,一直到不了正常状态之下,后来才发现,终端要在检测安装是否正确的时候才启动。

三、uc/os-II

  • μC/OS-II任务的代码结构是一个可以带有临界段的无限循环。

void MyTask(void *pdata)
{
for (;;)
{
可以被中断的用户代码;
OS_ENTER_CRITICAL( );//进入临界段(关中断)
不可以被中断的用户代码;
OS_EXIT_CRITICAL( ); //退出临界段(开中断)
可以被中断的用户代码;
}
}

  • μC/OS-II提供的另一个系统任务是统计任务OSTaskStat( )。这个统计任务每秒计算一次CPU在单位时间内被使用的

时间,并把计算结果以百分比的形式存放在变量OSCPUsage中,以便应用程序通过访问它来了解CPU的利用率,所以这个系

统任务OSTaskStat( )叫做统计任务。

  • 在应用程序中定义任务堆栈的栈区非常简单,即定义一个OS_STK类型的一个数组并在创建一个任务时把这个数组的地址赋给该任务就可以了。
    例如:
     //定义堆栈的长度
    #define TASK_STK_SIZE 512

    //定义一个数组来作为任务堆栈
    OS_STK TaskStk[TASK_STK_SIZE];

  • (PS:

    使用函数OSTaskCreate( )创建任务时,一定要注意所使用的处理器对堆栈增长方向的支持是向上的还是向下的

void main(void)
{
……
OSTaskCreate(
MyTask, //任务的指针
&MyTaskAgu, //传递给任务的参数
& MyTaskStk[MyTaskStkN-1],//任务堆栈栈顶地址
20 //任务的优先级别
);
……
}

四、心得体会

实验三的实验环境与其他实验环境不一样,操作步骤也是按照实验指导书一步步做的,就是偶尔有时候出现一些小状况,要重新做。比如进错了系统,进成了window7,就找不到添加/删除硬件的选项,比如终端应该何时启用,要看到有企鹅的标识什么的,这些都是实验指导书上没有的,需要我们去摸索,或者在老师的指导下发现的一些错误。学习了μc/os-II的特点,学习了一些学习实时系统的概念与方法,在老师提供的资料,与同学的共同探讨下,或多或少地学到了一些实时系统里的一些相关的概念与代码知识。

信息安全系统设计基础_exp3的更多相关文章

  1. 20145213《信息安全系统设计基础》实验一 Linux开发环境的配置

    北京电子科技学院(BESTI) 实 验 报 告 课程:信息安全系统设计基础 班级:1452 姓名: 黄亚奇 祁玮 学号:20145213 20145222 成绩: 指导教师:娄嘉鹏 实验日期:2016 ...

  2. 20145215&20145307《信息安全系统设计基础》实验二 固件设计

    20145215&20145307<信息安全系统设计基础>实验二 固件设计 实验目的与要求 了解多线程程序设计的基本原理,学习 pthread 库函数的使用. 了解在 linux ...

  3. 20145215&20145307《信息安全系统设计基础》实验五 网络通信

    小组成员:20145215卢肖明.20145307陈俊达 实验报告链接:信息安全系统设计基础--实验五实验报告

  4. 20145223《信息安全系统设计基础》 GDB调试汇编堆栈过程分析

    20145223<信息安全系统设计基础> GDB调试汇编堆栈过程分析 分析的c语言源码 生成汇编代码--命令:gcc -g example.c -o example -m32 进入gdb调 ...

  5. 20145216 20145330 《信息安全系统设计基础》 实验五 简单嵌入式WEB 服务器实验

    20145216 20145330 <信息安全系统设计基础> 实验五 简单嵌入式WEB 服务器实验 实验报告封面 实验步骤 1.阅读理解源码 进入/arm2410cl/exp/basic/ ...

  6. 20145208《信息安全系统设计基础》实验五 简单嵌入式WEB 服务器实验

    20145208<信息安全系统设计基础>实验五 简单嵌入式WEB 服务器实验 20145208<信息安全系统设计基础>实验五 简单嵌入式WEB 服务器实验

  7. 2016-2017-1 《信息安全系统设计基础》 学生博客及Git@OSC 链接

    2016-2017-1 <信息安全系统设计基础> 学生博客及Git@OSC 链接 博客 1452 20145201李子璇 20145202马 超 20145203盖泽双 20145204张 ...

  8. 20145215&20145307信息安全系统设计基础实验报告

    20145215&20145307信息安全系统设计基础实验报告 PART1 一.实验原理 交叉编译,简单地说,就是在一个平台上生成另一个平台上的可执行代码.同一个体系结构可以运行不同的操作系统 ...

  9. 20145315&20145307《信息安全系统设计基础》实验五

    20145315&20145307<信息安全系统设计基础>实验五 北京电子科技学院(BESTI) 实 验 报 告 课程:信息安全系统设计基础 班级:1453 1452 姓名:陈俊达 ...

随机推荐

  1. Xcode模拟器和真机生成的日志查看(转载)

    在进行实际代码开发的过程中,我们会生成一些plist文件,但是如何在调试过程中查看这些plist文件是否被成功生成以及生成的内容是否正确? 如果查看模拟器生成的日志和真机生成的日志到底如何查看? DE ...

  2. Effective Java 59 Avoid unnecessary use of checked exceptions

    The burden is justified if the exceptional condition cannot be prevented by proper use of the API an ...

  3. Effective Java 77 For instance control, prefer enum types to readResolve

    The readResolve feature allows you to substitute another instance for the one created by readObject ...

  4. Effective Java 78 Consider serialization proxies instead of serialized instances

    Serialization proxy pattern private static nested class (has a single constructor whose parameter ty ...

  5. docker-4 Dockerfile的使用

    Dockerfile FROM      基础镜像 MAINTAINER  维护这信息 RUN       运行什么命令,在命令前面加上RUN ADD       往里面加点文件,copy文件,会自动 ...

  6. Spring中Template模式与callback的结合使用浅析

    Spring不论是与ibatis,还是与Hibernate的结合中,都使用到了Template模式与callback技术,来达到简化代码实现的目的.Template模式也即模板模式,用于对一些不太变化 ...

  7. CSS从大图片上截取小图标的操作(转)

    一张图片,用CSS分割成多个小图标. css样式: .icon{ background:url(../images/tabicons.png) no-repeat;width:18px; line-h ...

  8. 设计模式C#实现(九)——工厂方法模式和简单工厂

    工厂方法模式:定义一个用于创建对象的接口,让子类决定实例化哪一个类.Factory Method使一个类的实例化延迟到其子类. 构成: 1.Product工厂方法创建的对象的接口 2.Concrete ...

  9. mod_rewrite

    一.简介 http://www.07fly.net/a/wangluobiancheng/Phpbiancheng/201501/58393.html   二.实现原理:       只有当用户的WE ...

  10. Redhat6.5 安装64位oracle11.2.0.1

    系统架构 [root@localhost ~]# uname -a Linux db 2.6.32-431.el6.x86_64 #1 SMP Sun Nov 10 22:19:54 EST 2013 ...