信息安全系统设计基础_exp3

北京电子科技学院(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.2Crack目录下)

 

 

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

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

       在控制面板里,选添加硬件>下一步>选-是我已经连接了此硬件>下一步>选中-添加新的硬件设备>下一步>选中安装我手动从列表选择的硬件>下一步>选择-显示所有设备>选择-从磁盘安装-浏览,指定驱动为C:WINDOWSGIVEIOgiveio.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的特点,学习了一些学习实时系统的概念与方法,在老师提供的资料,与同学的共同探讨下,或多或少地学到了一些实时系统里的一些相关的概念与代码知识。

   

原文地址:https://www.cnblogs.com/zhengwei0712/p/4996017.html