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

实验目的与要求
了解多线程程序设计的基本原理,学习 pthread 库函数的使用。
了解在 linux 环境下串行程序设计的基本方法。
掌握终端的主要属性及设置方法,熟悉终端I /O 函数的使用。学习使用多线程来完成串口的收发处理。
熟悉linux开发环境,学会基于S3C2410的linux开发环境的配置和使用。使用linux的armv4l-unknown-linux-gcc编译,使用基于NFS方式的下载调试,了解嵌入式开发的基本过程
实验过程
开发环境的配置
1、连接arm开发板
将arm开发板电源线接好,保持开发板开关处于闭合状态。再分别将串口线、并口线和网线与pc机连接好。
2、建立超级终端
运行windows XP系统下“开始”、“所有程序”、“附件”、“通讯”、“超级终端”。
新建一个通信终端,取名为arm。在属性对话框中,将波特率设为115200,数据位设为8,无奇偶校验,停止位为1,无数据流控制。
3、启动实验平台
打开超级终端,打开arm机电源开关。等待一分钟,arm机的信息会显示在超级终端的窗口中。
继续等待,输入ifconfig命令,记录下arm机的ip

4、修改xp系统与redhat虚拟机的ip,使得它们均与arm机的ip在同一网段。修改完IP,重启一下虚拟机,IP才能启作用。重启后在命令行中使用ifconfig确认修改正确
5、安装arm编译器。在pc机中“开始”、“运行”,输入虚拟机的ip,输入用户名bc,密码123456然后确定 就可以访问虚拟机的文件了。然后把所需文件解压缩拷贝到共享文件夹bc中。

进入虚拟机,在命令行中输入./install.sh,安装脚本程序将会自动建立目录,配置编译环境。
6、配置环境变量在虚拟机中使用vi修改/root/.bash_profile文件中的PATH变量为PATH=$PATH:$HOME/bin:/opt/host/armv4l/bin/ (因为该文件为隐藏系统文件,所以使用ls命令不可见),存盘后执行:source/root/.bash_profile,则以后armv4l-unknown-linux-gcc 会自动搜索到,可以在终端上输入。
验证实验代码
1.将实验代码拷贝到共享文件夹中。
2、在虚拟机中编译代码。对于多线程相关的代码,编译时需要加-lpthread的库
下载调试在超级终端中运行可执行文件pthread!
运行可执行文件term。

遇到的问题及解决方法
- 问题1:03_tty代码使用编译工具armv4l编译时无法通过
解决:实验中为了简便把03_tty文件夹放在了桌面上,代码存储路径包含了中文就无法通过编译,所以我们把代码文件夹放到了c盘根目录下,成功编译。
- 问题2:在超级终端运行term时出现错误
解决:开发板中没有ttyS0设备导致出现问题,于是我们在超级终端进入了/dev文件夹后输入:ln –sf /dev/tts/0 ttyS0后建立了开发板和超级终端的连接,最终解决了问题。
心得体会
这一个实验步骤很简单,主要是省去了环境搭建步骤。而且有了exp1的实验操作,一切就很简单,也没有遇到什么问题,只要一步一步按部就班即可。另外,本次实验学到了命令中加入-lpthread的用法,在第十章的学习中,我们就遇到了头文件找不到、编译不出来这类的问题,同理,在这次实验中,我们发现实验中需要用到-lpthread的原因也是因为代码与多线程相关。
20145215&20145307《信息安全系统设计基础》实验二 固件设计的更多相关文章
- 20145215&20145307信息安全系统设计基础实验报告
20145215&20145307信息安全系统设计基础实验报告 PART1 一.实验原理 交叉编译,简单地说,就是在一个平台上生成另一个平台上的可执行代码.同一个体系结构可以运行不同的操作系统 ...
- 信息安全系统设计基础实验二 20135210&20135218
北京电子科技学院(BESTI) 实 验 报 告 课程:信息安全系统设计基础 班级:1352 姓名 ...
- 20145218&20145240 《信息安全系统设计基础》实验二 固件设计
20145218&20145240 <信息安全系统设计基础>实验二 固件设计 实验报告链接:http://www.cnblogs.com/20145240lsj/p/6035512 ...
- 20145221高其&20145326蔡馨熠《信息安全系统设计基础》实验二 固件设计
20145221高其&20145326蔡馨熠<信息安全系统设计基础>实验二 固件设计 实验目的与要求 了解多线程程序设计的基本原理,学习 pthread 库函数的使用. 了解在 l ...
- 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 ...
- 信息安全系统设计基础实验四 20135210&20135218
北京电子科技学院(BESTI) 实 验 报 告 课程:信息安全系统设计基础 班级: 1352 姓名:程涵,姬梦馨 学号:20135210,20135218 ...
随机推荐
- html5语义化标签使用规范
Html5添加了很多语义化标签,一个典型的html5页面结构可以如下安排 一.使用案例 1. 头部——header和nav标签 header头部,body下的直接子元素header一般用于放页面的介绍 ...
- Ionic2系列-将beta升级到RC1
国庆节前Ionic2发布了RC0版本,已经接近正式版了,前不久Angular2和TypeScript2也已经发布了正式版.详情请参考官方博客: http://blog.ionic.io/announc ...
- asp.net core 简单部署
目的 练习asp.net core的技术使用.部署等.目前拥有一台阿里云服务器(超级低配版本),安装了centos系统,打算将练习项目发布到该环境中.可能需要做以下准备工作. 以前没接触过linux正 ...
- 你知道JavaScript中的结果值是什么吗?
你知道JavaScript中的每条语句.甚至表达式都有一个结果值吗? 当你在浏览器中测试代码时,经常会在控制台的输出结果的最后面多出一条,大部分为undefined,这个undefined就是一个结果 ...
- AEAI ESB培训大纲
1. 概述 本文档的目的是为了让使用者能更好的操作.维护.服务于整个ESB系统平台,该信息系统平台不仅需要成熟稳定的产品,更需要技术熟练的运行维护人员,以便能更好地进行科学有效的运行维护工作. AEA ...
- Oracle Sales Cloud:报告和分析(BIEE)小细节1——创建双提示并建立关联(例如,部门和子部门提示)
Oracle Sales Cloud(Oracle 销售云)是一套基于Oracle云端的客户商机管理系统,通过提供丰富的功能来帮助提高销售效率,更好地去了解客户,发现和追踪商机,为最终的销售成交 (d ...
- android Content Provider介绍
ContentProvider(内容提供者)是Android中的四大组件之一.主要用于对外共享数据,也就是通过ContentProvider把应用中的数据共享给其他应用访问,其他应用可以通过Conte ...
- angularJS 学习演示
开源网址(带中文说明注释):https://github.com/EnhWeb/angularJS.git
- 5种处理js跨域问题方法汇总(转载)
1.JSONP跨域GET请求 ajax请求,dataType为jsonp.这种形式需要请求在服务端调整为返回callback([json-object])的形式.如果服务端返回的是普通json对象.那 ...
- python from __future__ import division
1.在python2 中导入未来的支持的语言特征中division(精确除法),即from __future__ import division ,当我们在程序中没有导入该特征时,"/&qu ...