博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
20145328《信息安全系统设计基础》实验一 开发环境的熟悉
阅读量:6248 次
发布时间:2019-06-22

本文共 1817 字,大约阅读时间需要 6 分钟。

20145328《信息安全系统设计基础》实验一 开发环境的熟悉

与20145232韩文浩结对

实验目的

熟悉 linux 开发环境,学会基于 S3C2410 的 linux 开发环境的配置和使用。

使用linux的armv4l-unknown-linux-gcc编译,使用基于NFS方式的下载调试,了解嵌入式开发的基本过程。

实验过程

1、连接 arm 开发板

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

2、建立超级终端

新建一个通信终端,取名为 arm。在属性对话框中,将波特率设为 115200,数据位设为 8,无奇偶校验,停止位为 1,无数据流控制。

887818-20161106140249830-2021328702.png

887818-20161106140303955-1788116910.png

3、启动实验平台

打开超级终端,打开 arm 机电源开关。等待一分钟,arm 机的信息会显示在超级终端的窗口中。

887818-20161106140323158-1614016558.png

继续等待,直至出现如图 6 所示界面。输入 ifconfig 命令,记录下 arm 机的 ip为:192.168.0.121。

887818-20161106140338346-96729999.png

4、修改ip

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

在pc机中的xp系统中,设置步骤如图7-9,redhat虚拟机中设置步骤如图10-14。
本次实验中将pc机的ip设为192.168.0.55,redhat虚拟机ip为192.168.0.234。

887818-20161106140353674-1961270985.png

887818-20161106140406346-1608512960.png

修改完 IP,重启一下虚拟机,IP 才能启作用。重启后在命令行中使用 ifconfig 确认修改正确。

887818-20161106140422596-37586042.png

5、安装 arm 编译器

把所需文件解压缩拷贝到共享文件夹 bc 中。打开共享文件夹bc的方式是按win+R打开运行,在里面输入\\192.168.0.234

887818-20161106140436643-373525761.png

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

887818-20161106140450393-312945956.png

887818-20161106140502815-1961979249.png

6、配置环境变量

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

887818-20161106140515346-1609213536.png

7、建立 hello.c 文件并编译

在虚拟机中进入文件夹/root/bc,在此目录下编写 hello.c 文件。利用命令armv4l-unknown-linux-gcc 对 hello.c 进行编译,生成 hello 可执行文件。

887818-20161106140530486-1099788798.png

8、下载调试

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

在超级终端中运行编译通过的 hello 可执行文件。

887818-20161106140541330-424113843.png

(实验二/三)

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

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

3、在虚拟机中编译代码

887818-20161106140553627-1630926809.png

4、下载调试

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

887818-20161106140608143-1008933848.png

运行可执行文件 term。

887818-20161106140619424-1616380025.png

遇到 no such file

通过方法建立一个一个连接来解决。

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

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

输入命令“ln –sf /dev/tts/0 /dev/ttyS0”

再次运行trem。

887818-20161106140636002-1791162603.png

问题

在编译hello.c的时候提示“not found”

应该是在修改PATH环境变量路径的时候没有修改成功

解决:在GCC编译的时候在hello.c前面加上路径 /opt/host/armv4l/bin

为什么需要进行交叉编译?

绝大多数 Linux 软件开发都是以 native 方式进行的,即本机(HOST)开发、调试,

本机运行的方式。这种方式通常不适合于嵌入式系统的软件开发,因为对于嵌入式系统的
开发,没有足够的资源在本机(即板子上系统)运行开发工具和调试工具

转载于:https://www.cnblogs.com/rebrust/p/6036759.html

你可能感兴趣的文章
我的友情链接
查看>>
ElasticSearch 2 (32) - 信息聚合系列之范围限定
查看>>
VS2010远程调试C#程序
查看>>
windows查看端口占用
查看>>
Yii用ajax实现无刷新检索更新CListView数据
查看>>
App 卸载记录
查看>>
JavaScript变量和作用域
查看>>
开源SIP服务器加密软件NethidPro升级
查看>>
Apache Pulsar中的地域复制,第1篇:概念和功能
查看>>
南京大学周志华教授当选欧洲科学院外籍院士
查看>>
计算机网络与Internet应用
查看>>
linux性能剖析工具
查看>>
flutter中的异步
查看>>
计算机高手也不能编出俄罗斯方块——计算机达人成长之路(16)
查看>>
# 2017-2018-1 20155224 《信息安全系统设计基础》第七周学习总结
查看>>
scikit-learn预处理实例之一:使用FunctionTransformer选择列
查看>>
Mars说光场(3)— 光场采集
查看>>
[CodeWars][JS]如何判断给定的数字是否整数
查看>>
实现div毛玻璃背景
查看>>
zoj 1010 Area 判断线段是否相交(把线段扩充一倍后 好处理) + 多边形求面积...
查看>>