实验二(固件设计)问题总结

实验二问题总结

    • 问题链接:20145202、20145225、20145234 《信息安全系统设计基础》实验二 固件设计
    • (1)超级终端问题及解决方案

      问题:打开超级终端后,arm机的信息始终没有显示在超级终端的窗口中。

      解决:找到了原因,是串口线接错了位置,不应该接1,改为接0后,超级终端就显示正常了。

      (2)IP问题及解决方案

      问题:需要把实验箱、虚拟机Redhat、WinXP的IP设置为同一网段。

      解决:首先查看实验箱的IP地址,设置另外两个的地址使其处于同一网段,注意这里设置完后需重启,再重新查看各个IP地址,确保处于同一网段后才能接着做,否则后面的步骤也会出现问题。

      (3)环境变量配置问题及解决方案

      问题:用arm编译器编译的时候出现问题。

      解决:找到问题来源,是在设置环境变量时出现错误,修改PATH变量时路径输入有误,导致后来使用编译命令时找不到这条命令,重新设置PATH变量后就可以进行编译了。

    • 问题链接:《信息安全系统设计基础》 实验二
      • 关于编译pthread.c的时候输入命令回车之后总是提示“not found”的问题:

        我们小组在执行一些诸如 cd XXX,或者vi XXX命令的时候,经常遇到这样的错误提示。后来经过与实验指导书的对比,我们发现,实验指导书中的路径和实际执行时的路径是有差别的(比如,pthread文件在虚拟机中的绝对路径就是 /bc/02pthread,而不是指导书中的exp/basic/02pthread)。

    • 问题链接:20145239 20144303 《信息安全系统设计基础》 实验二 固件设计
        • 在执行./term 时出现下面的错误:

        /dev/ttyS0: No such file or directory

        • 解决方法:

        在 Linux 下串口文件位于/dev 下,一般在老版本的内核中串口一为
        /dev/ttyS0 ,串口二为 /dev/ttyS1, 在我们的开发板中串口设备位于
        /dev/tts/下,因为开发板中没有ttyS0这个设备,所以我们要建立一个连接。
        首先在超级终端中进入/dev文件夹中。
        输入命令:“ln –sf /dev/tts/0 /dev/ttyS0”

    • 问题链接:20145312 《信息安全系统设计基础》实验二 固件设计
      • 问题:

        • make无法使用

        解决:

        • 这个是由于Makefile中环境变量的设置和在本机中的不同导致的,两个解决方法:

             一是把其中的环境变量修改一下,这个是在别人的帮助下完成的;
             二是直接手动编译即可。我们选择的是直接手动编译。

        问题:

        • 在超级终端窗口,进入03_tty所在目录,运行term时,出现错误

        /dev/ttyS0:No such file or directory

        解决:

        • 这个按照指导书的方法解决了:

        [/mnt/yaffs]cd /dev
        [/dev] ln –sf /dev/tts/0 ttyS0 (注意字母大小写,数字为0或1)

        • 这是因为在 Linux 下串口文件位于/dev 下,一般在老版本的内核中串口一为/dev/ttyS0 ,串口二为 /dev/ttyS1, 而在开发板中串口设备位于/dev/tts/下,因为开发板中没有ttyS0这个设备,所以我们要建立一个连接。
    • 问题链接:20145229&20145316 《信息安全系统设计基础》 实验二 固件设计
        • 在终端执行./term出现问题

        解决方式:通过上面注意,在终端中进入/dev中,后输入命令“ln –sf /dev/tts/0 /dev/ttyS0”即可得到解决

    • 问题链接:20145218&20145240 《信息安全系统设计基础》实验二 固件设计
        • 在超级终端运行term时出现错误

        在 Linux 下串口文件位于/dev 下,之前的内核中串口一为/dev/ttyS0 ,串口二为 /dev/ttyS1, 在我们的开发板中串口设备位于/dev/tts/下,开发板中没有ttyS0设备导致出现问题,于是我们在超级终端进入了/dev文件夹后输入:ln –sf /dev/tts/0 ttyS0后建立了开发板和超级终端的连接,即可解决问题。

    • 问题链接:《信息安全系统设计基础》实验二实验报告
      • 问题:在超级终端中运行代码出现错误

        解决方法:代码的路径有问题,需要找到正确的代码路径才可以成功的运行代码

    • 问题链接:20145219《信息安全系统设计基础》实验二 固件开发
        • pthread.c分析

          先设置一个整数的圆形缓冲区,并初始化缓冲区(初始化缓存指针信息(信号量)),再向缓冲区中写入一个整数,接着从缓冲区中读出一个整数(此步骤与写入类似),然后实现一个生产者程序:生产者线程不断顺序地将0到1000的数字写入共享的循环缓冲区,当生产-1时,程序终止;或者消费掉缓存中生产出来的数据:消费者线程不断地从共享的循环缓冲区读取数据,当消费-1时,程序终止。最后,等待生产者、消费者进程结束。

          这个代码是生产者-消费者问题模型的实现。

        • term.c分析

          先通过标准的文件打开函数打开串口,接着设置串口,包括:波特率设置、效验位和停止位设置(串口的设置主要是设置struct termios结构体的各成员值),然后把串口当作文件读写,最后关闭串口。

    • 问题链接:20145315 20145304 《信息安全系统设计基础》实验二 固件设计
        1. 一开始我们的arm总是无连接,后来更换了实验箱
        2. 出现错误,可能是命令输错了,后来用tab键补全命令,解决问题。
    • 问题链接:实验二-固件设计 20145213祁玮 20145222黄亚奇
        • 关于代码阅读(互斥锁与信号量)方面

        pthread_cond_signal(&b->notfull);
        pthread_mutex_unlock(&b->lock);
        这两个变量的作用是否是重复的?

        【解答:通过查阅实验原理,我得到了如下的解释:互斥锁很明显的缺点是它只有两个状态:锁定和非锁定;而条件变量通过允许线程阻塞和等待另一个进程发送信号的方法来弥补互斥锁的不足。使用的时候,条件变量】

        • 关于代码阅读(线程创建和等待函数)方面

          pthread_create(&th_a, NULL, producer, 0);
          pthread_create(&th_b, NULL, consumer, 0);
          pthread_join(th_a, &retval);
          pthread_join(th_b, &retval);

        这两个函数各自的作用和参数含义是什么?
        答:
        【create和join函数是线程API函数库中很重要的函数。关于其含义和作用,我在指导书中找到了如下解释。此外,老师在课上也对此方面的内容进行了涉及。】
        【另外,关于为什么main函数要调用pthreadjoin函数阻塞自己:因为main函数和producer函数、consumer函数其实是并发的三个线程,所以如果不做干预的话,它们执行结束的顺序不能确定(而我们希望看到的是main函数在另外两个函数之后结束)。所以调用pthreadjoin函数使main函数执行等待。】

        • 关于编译pthread.c的时候输入命令回车之后总是提示“not found”的问题
          我们小组在执行一些诸如 cd XXX,或者vi XXX命令的时候,经常遇到这样的错误提示。后来经过与实验指导书的对比,我们发现,实验指导书中的路径和实际执行时的路径是有差别的(比如,pthread文件在虚拟机中的绝对路径就是 /bc/02pthread,而不是指导书中的exp/basic/02pthread)。
    • 问题链接:20145216 20145330 《信息安全系统设计基础》 实验二 固件开发
      • 问题1:

        • 在虚拟机中编译代码时第一次没有编译成功:command not found
        • 解决方法:
          • 在又重新输入命令行,排除是输入错误的因素。我们试着重新配置了环境:

            • vi /root/.bash_profile
            • source /root/.bash_profile
        • 成功
        • 文件03_tty遇到同样的问题,配置后同样成功问题解决

        问题2:

        • 在终端执行./term时出现错误
        • 解决方法:根据实验指导书输入命令“ln –sf /dev/tts/0 /dev/ttyS0” 注意空格与字母l、数字0。
        • 运行成功实验二完成
    • 问题链接:20145324 20145325《信息安全系统设计基础》实验二
      • ①在输入包含文件名为“armv4l-tools”的命令时总是报错

        原因是因为没仔细辨认“l”与“1”的区别,导致无法找到文件
        使用tab键不全命令即可

        ②在超级终端运行term时出现错误
        开发板中没有ttyS0设备导致出现问题、
        在超级终端进入了/dev文件夹后输入:ln –sf /dev/tts/0 ttyS0后建立了开发板和超级终端的连接

    • 问题链接:20145221高其&20145326蔡馨熠《信息安全系统设计基础》实验二 固件设计
        • 问题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。)
    • 问题链接:20145223《信息安全系统设计》 实验二 固件开发
      • 问题:如果在执行./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)
    • s
时间: 2024-10-27 06:45:39

实验二(固件设计)问题总结的相关文章

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

20145221高其&20145326蔡馨熠<信息安全系统设计基础>实验二 固件设计 实验目的与要求 了解多线程程序设计的基本原理,学习 pthread 库函数的使用. 了解在 linux 环境下串行程序设计的基本方法. 掌握终端的主要属性及设置方法,熟悉终端I /O 函数的使用.学习使用多线程来完成串口的收发处理. 熟悉linux开发环境,学会基于S3C2410的linux开发环境的配置和使用.使用linux的armv4l-unknown-linux-gcc编译,使用基于NFS方式的

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

北京电子科技学院(BESTI) 实     验    报     告 课程: 密码系统设计基础                                                               班级: 1453班 姓名:彭垚                                                                               学号:20145317 成绩:                              

实验二-固件设计 20135211李行之 20135216刘蔚然

北京电子科技学院(BESTI) 实 验 报 告 封面 课程:信息安全系统设计基础                               班级:1352                                                   姓名:(按贡献大小排名)李行之 刘蔚然 学号:(按贡献大小排名)20135211 20135216                   成绩:                     指导教师:娄嘉鹏                 实验日期

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

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

20145239 20144303 《信息安全系统设计基础》 实验二 固件设计

实验过程 开发环境的配置 1.连接arm开发板 将arm开发板电源线接好,保持开发板开关处于闭合状态.再分别将串口线.并口线和网线与pc机连接好. 2.建立超级终端 运行windows XP系统下"开始"."所有程序"."附件"."通讯"."超级终端". 新建一个通信终端,取名为arm.在属性对话框中,将波特率设为115200,数据位设为8,无奇偶校验,停止位为1,无数据流控制. 3.启动实验平台 打开超级

实验报告 实验2 固件设计

北京电子科技学院(BESTI) 实     验    报     告 课程: 密码系统设计基础                                                               班级: 1352班.1353班 姓名:王玥.刘浩晨                                                                    学号:20135232.20135318 成绩:                      

2017-2018-1 20155222 201552228 实验二 固件程序设计

2017-2018-1 20155222 201552228 实验二 固件程序设计 实验内容 实验三-并发程序-1 学习使用Linux命令wc(1) 基于Linux Socket程序设计实现wc(1)服务器(端口号是你学号的后6位)和客户端 客户端传一个文本文件给服务器 服务器返加文本文件中的单词数 上方提交代码 附件提交测试截图,至少要测试附件中的两个文件 实验三-并发程序-2 使用多线程实现wc服务器并使用同步互斥机制保证计数正确 上方提交代码 下方提交测试 对比单线程版本的性能,并分析原因

2018-2019-1 20165201 20165203 20165206 实验二 固件程序设计

- 2018-2019-1 20165201 20165203 20165206 实验二 固件程序设计 - 任务一 固件程序设计-1-MDK - 任务要求 0. 注意不经老师允许不准烧写自己修改的代码 1. 三人一组 2. 参考云班课资源中"信息安全系统实验箱指导书.pdf "第一章,1.1-1.5安装MDK,JLink驱动,注意,要用系统管理员身分运行uVision4,破解MDK(破解程序中target一定选ARM) 3. 提交破解程序中产生LIC的截图 4. 提交破解成功的截图 -

2018-2019-1 20165308 20165317 20165331 实验二 固件程序设计

2018-2019-1 20165308 20165317 20165331 实验二 固件程序设计 成员 20165308张士洋 20165317宁心宇 20165331胡麟 实验二 固件程序设计-1-MDK 0. 注意不经老师允许不准烧写自己修改的代码 1. 三人一组 2. 参考云班课资源中"信息安全系统实验箱指导书.pdf "第一章,1.1-1.5安装MDK,JLink驱动,注意,要用系统管理员身分运行uVision4,破解MDK(破解程序中target一定选ARM) 3. 提交破

2018-2019-1 20165227 20165228 20165237 实验二 固件程序设计

2018-2019-1 20165227 20165228 20165237 实验二 固件程序设计 实验步骤 任务一:固件程序设计-1-MDK 要求: 0.注意不经老师允许不准烧写自己修改的代码 1.三人一组 2.参考云班课资源中"信息安全系统实验箱指导书.pdf "第一章,1.1-1.5安装MDK,ULink驱动 注意:要用系统管理员身分运行uVision4,破解MDK(破解程序中target一定选ARM) 3.提交破解程序中产生LIC的截图 4.提交破解成功的截图 实验步骤截图: