20145221高其&20145326蔡馨熠《信息安全系统设计基础》实验二 固件设计

20145221高其&20145326蔡馨熠《信息安全系统设计基础》实验二 固件设计

实验目的与要求

  • 了解多线程程序设计的基本原理,学习 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。

记录下 arm 机的 ip 为:192.168.0.121

4、修改xp系统与redhat虚拟机的ip,使得它们均与arm机的ip在同一网段。修改完IP,重启一下虚拟机,IP才能启作用。重启后在命令行中使用ifconfig确认修改正确

本次实验中将pc机的ip设为192.168.0.55,redhat虚拟机ip为192.168.0.234.

5、安装arm编译器。在pc机中“开始”、“运行”,输入虚拟机的ip,输入用户名bc,密码123456然后确定 就可以访问虚拟机的文件了。然后把所需文件解压缩拷贝到共享文件夹bc中。

进入虚拟机,在命令行中输入./install.sh,安装脚本程序将会自动建立目录,配置编译环境。

6、配置环境变量在虚拟机中使用vi修改/root/.bashprofile文件中的PATH变量为PATH=$PATH:$HOME/bin:/opt/host/armv4l/bin/ (因为该文件为隐藏系统文件,所以使用ls命令不可见),存盘后执行:source/root/.bashprofile,则以后armv4l-unknown-linux-gcc 会自动搜索到,可以在终端上输入。

验证实验代码

1.将实验代码拷贝到共享文件夹bc中。

2、在虚拟机中编译代码。对于多线程相关的代码,编译时需要加-lpthread的库

下载调试在超级终端中运行可执行文件pthread运行可执行文件term!

遇到的问题及解决方法

  • 问题1:在超级终端运行可执行文件term时出错,提示/dev/ttyS0: No such file or directory。
  • 解决方法:老师给的实验指导书中说:这个问题是因为在Linux下串口文件位于/dev下,一般在老版本的内核中串口一为/dev/ttyS0,串口二为 /dev/ttyS1, 在我们的开发板中串口设备位于/dev/tts/下,因为开发板中没有ttyS0这个设备,所以我们要建立一个连接。解决方法就是按照实验指导书说的在超级终端中进入/dev文件夹中,输入命令ln –sf /dev/tts/0 ttyS0(注意空格与字母l、数字0。)

心得体会

实验二是在实验一的基础上进行的,只要实验一中把环境配好,实验二很轻松就能完成。我们就跟着娄老师给的教程一步一步走,也没有遇到什么大问题。要说收获的话,就是我们在本次实验学到了在命令中加入-lpthread的用法,因为本次实验的两个代码是与多线程相关的代码,所以编译时需要加-lpthread 的库。这次用到的两个代码明显比我们第一次实验的hello.c复杂很多,包含的知识点也很多,需要我们多花时间去理解和体会~

时间: 2024-10-25 07:25:13

20145221高其&20145326蔡馨熠《信息安全系统设计基础》实验二 固件设计的相关文章

信息安全系统设计基础实验二:固件设计

北京电子科技学院(BESTI) 实验报告 课程:信息安全系统设计基础 班级:1353 姓名:芦畅 傅冬菁 学号:20135308 20135311 成绩: 指导教师:娄家鹏 实验日期:2015.11.10 实验密级: 预习程度: 实验时间:15:30~18:00 仪器组次: 必修/选修: 实验序号:1 实验名称:实验一:Linux开发环境的配置和使用 实验目的与要求: 1.掌握程序的烧写方法; 2.能够实现Bootloader; 3.实现密码学中常见算法的固化. 实验仪器: 名称 型号 数量 嵌

信息安全系统设计基础 实验二固体设计 20135327郭皓 20135329 李海空

北京电子科技学院(BESTI) 实     验    报     告 课程:信息安全设计基础                         班级:1353 姓名:郭皓 李海空 学号:20135327  20135329 成绩:             指导教师:娄嘉鹏        实验日期:2015.11.10 实验密级:         预习程度:         实验时间:15:30~18:00 仪器组次:          必修/选修:            实验序号:1 实验名称: 

信息安全系统设计基础实验二报告

信息安全系统设计基础实验二 实验报告封面: 一.实验过程 1. 配置开发环境同实验一 设置xp系统.redhat虚拟机.arm机的ip在同一网段. 安装arm编译器. 进入虚拟机,在命令行中输入./install.sh,安装脚本程序将会自动建立目录,配置编译环境. 配置环境变量 2. 将实验代码02_ pthread和03_tty拷贝到共享文件夹bc中. 3. 阅读源代码 进入 exp/basic/02_pthread 目录,使用vi 编辑器或其他编辑器阅读理解源代码. 4. 编译应用程序 5.

信息安全系统设计基础实验二

北京电子科技学院(BESTI) 实     验    报     告 课程:信息安全系统设计基础                  班级: 1352班 姓名:(按贡献大小排名)银雪纯.益西拉姆.马悦 学号:(按贡献大小排名)20125221.20135239.20135235 成绩:            指导教师:娄嘉鹏            实验日期:2015.11.17 实验密级:        预习程度:        实验时间:15:30—18:00 仪器组次:        必修/选

信息安全系统设计基础实验二—20135222胡御风20135215黄伟业

北京电子科技学院(BESTI) 实     验    报     告 课程:信息安全系统设计基础                         班级: 1352 姓名:胡御风      黄伟业               学号:20135222 20135215 成绩:              指导教师:娄佳鹏          实验日期:2015.11.10 实验密级:          预习程度:                 实验时间:15:30-18:00 仪器组次:       

信息安全系统设计基础实验二:固件设计(20135229,20135234)

北京电子科技学院(BESTI) 实     验    报     告 课程:信息安全系统设计基础      班级:1352          姓名:吕松鸿 马启扬 学号:20135229 20135234 成绩:       指导教师:娄嘉鹏    实验日期::2015.11.10 实验密级:        预习程度:                     实验时间:15:30—17:30 仪器组次:       必修/选修:必修                实验序号:02 一.实验内容 1

信息安全系统设计基础——实验二实验报告

北京电子科技学院(BESTI) 实     验    报     告 课程:信息安全系统设计基础                       班级:1352班 姓名:齐岳 孙小博 何伟钦 学号:20135203 20135217 20135223 成绩:             指导教师:娄佳鹏         实验日期:2015.11.17 实验密级:  无       预习程度:            实验时间:15:30~18:00 仪器组次:          必修/选修:必修     

信息安全系统设计基础实验二实验报告(小组)

小组成员:20135310陈巧然 20135305姚歌 一.实验目的 掌握程序的烧写方法 实现密码学中常见算法的固化 二.实验内容 选择常见的分组算法或非对称算法实现,并在ARM开发环境中调试,烧写: 读懂本实验程序源代码(pthread.c),学习终端I/O 函数的使用方法,学习将多线程编程应用到串口的接收和发送程序设计中 进入/arm2410cl/exp/basic/02_pthread 目录,运行make 产生pthread 程序,使用NFS方式连接开发主机进行运行实验 三.阅读代码及编译

20145326蔡馨熠《信息安全系统设计基础》第12周学习总结

20145326蔡馨熠<信息安全系统设计基础>第12周学习总结 教材学习内容总结 第九周学习内容总结 第十周学习内容总结 第十一周学习内容总结 视频学习与实践 指针与声明 C语言中变量的声明包括两个部分: 类型 声明符 对于简单类型,声明并不会对代码产生多大的阅读障碍,而对于复杂类型的识别,可以采用右左右左法进行判断. 指针数组.数组指针.指针函数.函数指针的区别 数组指针(也称行指针) 定义 int (*p)[n]; ()优先级高,首先说明p是一个指针,指向一个整型的一维数组,这个一维数组的