北京电子科技学院(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. CentOS下如何完全卸载MySQL?卸载自带的mysql

    CentOS下如何完全卸载MySQL?解决卸载不干净的问题 系统:CentOS 6.5,MySQL:MySql 5.6 这里主要解决使用rpm安装的卸载问题,安装方法见:CentOS安装mysql*. ...

  2. TreeSize工具介绍

    TreeSize Professional 工具是一个功能强大且灵活方便的硬盘空间管理工具,能在 Windows 8/7/Vista/XP 或 Windows Server 2012年/2008年/2 ...

  3. C# listview 拖动节点

    /// <summary> /// 当拖动某项时触发 /// </summary> /// <param name="sender"></ ...

  4. Linux系统命令查询软件包

    转载自:http://blog.chinaunix.net/uid-346158-id-2131252.html,http://www.jb51.net/os/RedHat/1102.html, 一. ...

  5. 初识50个Linux命令

    1. [命令]:cat [功能说明]: concatenate files and print on the standard output #连接文件并打印到标准输出,有标准输出的都可以用重定向定向 ...

  6. jQuery事件绑定on、off 和one,取代bind, live, delegate

    jQuery最新版建议:最好用on来代替以前的bind, live, delegate,其中live是最不建议使用的. on和off的格式 on $(elements).on(events[, sel ...

  7. js控制iframe跳转

    网页:<iframe src="" id="iframe_a" name="iframe_a" style="width:1 ...

  8. puppet学习笔记(一)

    之前搞了一个月zabbix,基本上是能熟练使用了,不过在后来部署的时候发现这玩意在部署的时候机子少还行,机子多了手动安装手会残的.第一反应是用puppet,后来师父直接用puppet搞定了.索性自己也 ...

  9. uva 11572 unique snowflakes——yhx

    Emily the entrepreneur has a cool business idea: packaging and selling snowakes. She has devised ama ...

  10. ZOJ 1808 Immediately Decodable

    字典树较简单题,无需维护标记,注意细节即可. 代码: #include <iostream> #include <cstdio> #include <cstring> ...