zoukankan      html  css  js  c++  java
  • 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复杂很多,包含的知识点也很多,需要我们多花时间去理解和体会~

  • 相关阅读:
    使用Spring AOP实现业务依赖解耦
    对Java提供的锁机制的一些思考
    关于数据库优化的一些想法
    漫谈使用Kafka作为MQ中间件
    数据库事务隔离引发的关于锁机制的思考
    使用Redis作为高速缓存
    Docker 构建映像
    Centos7 Nginx开机启动
    Docker 设置固定网络IP
    CentOS docker 常用命令
  • 原文地址:https://www.cnblogs.com/cxy1616/p/6059824.html
Copyright © 2011-2022 走看看