实验二固件设计报告

北京电子科技学院(BESTI)

实     验    报     告

课程:深入理解计算机系统           班级: 1352 

姓名:莫凡 潘俊洋

学号:20135225 20135230

成绩:             指导教师:娄嘉鹏    实验日期:2015/11/17

实验密级:         预习程度:          实验时间:3:30~6:00

仪器组次:          必修/选修:必修    实验序号:2

实验名称:   固件设计                                                                                                          

实验目的:   

1.掌握程序的烧写方法;
2.能够实现Bootloader;
3.实现密码学中常见算法的固化。

                                                               

                                                                        

                                                           

                                                           

                                                           

 

实验仪器:

名称

型号

数量

实验箱

UP-NETARM2410嵌入式

1

PC

WinXP

1

 

实验内容、步骤与体会:

 

 

实验内容:

1.开发环境的配置同实验一。

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

3.在虚拟机中编译代码。

对于多线程相关的代码,编译时需要加-lpthread 的库。

4.下载调试

在超级终端中运行可执行文件pthread,运行可执行文件term

 

 

 

线程相关函数

  • 线程创建函数:

    int pthread_create (pthread_t * thread_id, __const pthread_attr_t * __attr,void *(*__start_routine) (void *),void *__restrict __arg)
  • 获得父进程 ID:

    pthread_t pthread_self (void)
  • 测试两个线程号是否相同:

    int pthread_equal (pthread_t __thread1, pthread_t __thread2)
  • 线程退出:

    void pthread_exit (void *__retval)
  • 等待指定的线程结束:

    int pthread_join (pthread_t __th, void **__thread_return)
  • 互斥量初始化:

    pthread_mutex_init (pthread_mutex_t *,__const pthread_mutexattr_t *)
  • 销毁互斥量:

    int pthread_mutex_destroy (pthread_mutex_t *__mutex)
  • 再试一次获得对互斥量的锁定(非阻塞) :

    int pthread_mutex_trylock (pthread_mutex_t *__mutex)
  • 锁定互斥量(阻塞) :

    int pthread_mutex_lock (pthread_mutex_t *__mutex)
  • 解锁互斥量:

    int pthread_mutex_unlock (pthread_mutex_t *__mutex)
  • 条件变量初始化:

    int pthread_cond_init (pthread_cond_t *__restrict __cond,__const pthread_condattr_t *__restrict __cond_attr)
  • 销毁条件变量 COND:

    int pthread_cond_destroy (pthread_cond_t *__cond)
  • 唤醒线程等待条件变量:

    int pthread_cond_signal (pthread_cond_t *__cond)
  • 等待条件变量(阻塞) :

    int pthread_cond_wait (pthread_cond_t *__restrict __cond, pthread_mutex_t *__restrict __mutex)
  • 在指定的时间到达前等待条件变量:

    int pthread_cond_timedwait (pthread_cond_t *__restrict __cond,pthread_mutex_t *__restrict __mutex, __const struct timespec *__restrict __abstime)

遇到的问题及解决方法:

1.执行./term 时出错

在 Linux 下串口文件位于/dev 下,一般在老版本的内核中串口一为/dev/ttyS0 ,串口二为 /dev/ttyS1,

在我们的开发板中串口设备位于/dev/tts/下, 因为开发板中没有ttyS0这个设备, 所以我们要建立一个连接。

首先在超级终端中进入/dev文件夹中。输入命令“ln –sf /dev/tts/0 /dev/ttyS0”

注意:输入指令时中间的空格以及区分大小写

 

 

 

 

你可能感兴趣的:(实验二固件设计报告)