• 20145223《信息安全系统设计》 实验二 固件开发


    20145223杨梦云《信息安全系统设计》实验报告

    实验步骤

    一、配置开发环境(同实验一)

    1、连接 arm 开发板

    将 arm 开发板电源线接好,保持开发板开关处于闭合状态。再分别将串口线、
    并口线和网线与 pc 机连接好。

    2、建立超级终端

    运行 windows XP 系统下“开始”、“所有程序”、“附件”、“通讯”、“超级终端”,新建一个通信终端,取名为 arm。在属性对话框中,将波特率设为 115200,数据位设为 8,无奇偶校验,停止位为 1,无数据流控制。另存为在桌面。

    3、3、启动实验平台

    打开超级终端,打开 arm 机电源开关。等待一分钟,arm 机的信息会显示在超级终端的窗口中。 输入 ifconfig 命令,记录下 arm 机的 ip。

    4、修改 xp 系统与 redhat 虚拟机的 ip,使得它们均与 arm 机的 ip 在同一网段。

    本次实验中将pc机的ip设为192.168.0.55:

    redhat虚拟机ip为192.168.0.234:

    5、安装 arm 编译器。

    在 pc 机中“开始”、“运行”,输入虚拟机的 ip。192.168.0.234,输入用户名 bc,密码 123456 然后确定,就可以访问虚拟机的文件了。然后把所需文件解压缩拷贝到共享文件夹 bc 中。进入虚拟机,在命令行中输入./install.sh,安装脚本程序将会自动建立
    目录,配置编译环境。

    6、配置环境变量

    在虚拟机中使用 vi 修改/root/.bash_profile 文件中的 PATH 变量为PATH=$PATH:$HOME/bin:/opt/host/armv4l/bin/ (因为该文件为隐藏系统文件,所以使用 ls 命令不可见)

    7、存盘后执行: source /root/.bash_profile,则以后 armv4l-unknown-linux-gcc 会自动搜索到,可以在终端上输入。注意空格!

    8、下载调试

    在超级终端中将共享文件夹挂载好,建立开发板与虚拟机之间的通讯。输入命令“mount -t nfs -o nolock 192.168.0.234:/home/bc /host”(注意 bc后面要有空格!)

    二、理解代码

    将实验代码解压并拷贝到共享文件夹bc文件夹,用vi编辑器打开,阅读并了解代码含义

    三、编译应用程序

    对于多线程的代码,编译时需要添加-lpthread的库armv4l-unknown-linux-gcc pthread.c -o pthread -lpthread

    四、运行程序

    回到超级终端窗口,运行pthread和term,观察运行结果的正确性。

    五、遇到的问题及解决方法

    问题:如果在执行./term 时出现错误:/dev/ttyS0: No such file or directory No such file or directory

    解决:在 Linux 下串口文件位于/dev 下,一般在老版本的内核中串口一为/dev/ttyS0 ,串口二为 /dev/ttyS1, 在我们的开发板中串口设备位于/dev/tts/下,因为开发板中没有ttyS0这个设备,所以我们要建立一个连接。

    1、首先在超级终端中进入/dev文件夹中。

    [/mnt/yaffs] cd /dev
    

    2、输入命令“ln –sf /dev/tts/0 /dev/ttyS0” 注意空格与字母l、数字0。建立一个与端口tts和端口ttyS0的连接,输入指令如下:

    [/dev] ln –sf /dev/tts/0 ttyS0//(注意首字母是l, 不是数字1)
    

    六、实验总结

    经过了第一次的实验之后,我们在配置实验环境的时候就更加熟练,所以节省了很大一部分的时间来进行后面的操作和问题解决。同时我们也遇到了一些之前没有遇到过的问题,实验指导书上给出了解决方法,同时我们参考了上一届学姐学长们的实验截图和实验步骤,照着他们的截图来做,很多问题也都顺利地得到了解决。可惜因为在实验前没有做好充分的准备工作,遇到问题的时候才想起来找学长学姐的实验报告作为参考,以至于在找解决步骤的时候花费了时间。不过这也为我们接下来的实验提供了一个很好的解决问题的方法,希望在下一节课我们小组能够顺利地完成最后一个实验。

  • 相关阅读:
    安装Mysql或者msi文件时遇到2502/2503错误
    学习Redis之set集合类型详解
    学习Redis之List列表类型详解
    学习Redis之String字符串类型详解
    学习Redis之redis的基础知识
    学习Redis之Benchmark性能测试
    学习Redis之什么是Redis
    学习Redis之为什么要使用Nosql
    Java基础之使用多线程处理多客户端请求
    代码层实现质量属性战术
  • 原文地址:https://www.cnblogs.com/20145223ymy/p/6057390.html
Copyright © 2020-2023  润新知