合肥工业大学(HFUT)嵌入式系统原理实验六(熟悉Linux开发环境)

对于这个实验我也是一知半解,最后cv大法解决,并未保存相应的代码

一.修改前代码要求

      熟悉Linux开发环境,学会基于Tiny6410的Linux开发环境的配置和使用。 使用Linux的arm-Linux-gcc编译,并使用minicom串口方式下载和调试程序。

二.实验过程

二、实验内容(包括实验步骤和代码)

本次实验使用CentOs操作系统环境,安装ARM-Linux的开发库及编译器。创建一个新目录,并在其中编写hello.c和Makefile文件。学习在Linux下 的编程和编译过程,以及ARM开发板的使用和开发环境的设置。下载已经编译好 的文件到目标开发板上运行。

实验步骤:

1、登录win7系统,使用管理员权限打开VMware虚拟机软件。确认虚拟机中已安装Centos系统,否则请通过镜像文件安装。

2、确认虚拟机串口已打开,否则通过【编辑此虚拟机】选项,使用“添加”功 能添加串行通信端口,并确认使用物理串行端口中为“自动选择串口”选项。

3、通过【启动此虚拟机】,启动CentOs系统,自动以root用户登录。

4、打开终端(terminal),建立hello工作目录(注:若已存在hello目录,则 跳过该步骤。可通过ls命令查看是否存在hello目录。)

此时新建的hello工作目录,会在home目录下出现,说明此次操作成功(注意, 记清楚所创建目录的位置),如下图所示:

5、编写程序源代码 hello.c 源代码较简单,如下:

可以用下面的命令来编写hello.c的源代码,进入hello目录使用vim命令来 编辑代码(也可以使用gedit命令来编辑hello.c文件:gedit hello.c): 按“i”或者“a”进入编辑模式,将上面的代码录入进去,完成后按Esc键进入 命令状态,再用命令“:wq”保存并退出。这样便在当前目录下建立了一个名为 hello.c的文件。

  1. 编写Makefile 要使上面的hello.c程序能够运行,必须要编写一个Makefile文件, Makefile文件定义了一系列的规则,它指明了哪些文件需要编译,哪些文件需 3 要先编译,哪些文件需要重新编译等等更为复杂的命令。使用它带来的好处就 是自动编译,只需要敲一个“make” 命令整个工程就可以实现自动编译,当然本 次实验只有一个文件,它还不能体现出使用Makefile的优越性,但当工程比较 大文件比较多时,不使用Makefile几乎是不可能的。下面介绍本次实验用到的 Makefile文件。

注意:“$(CC) $(LDFLAGS) -o $@ $(OBJS)” 和“-rm -f $(EXEC) *.elf *.gdb *.o” 前空白由一个Tab制表符生成,不能单纯由空格来代替。

与上面编写hello.c的过程类似,用vim来创建一个Makefile文件并将代码 录入其中。

7、编译应用程序 在上面的步骤完成后,就可以在hello目录下运行“make”来编译程序。如果 进行了修改,重新编译则运行:

注意:编译、修改程序都是在宿主机(本地PC 机)上进行,不能在minicom 下进行。

 8、下载调试

① 进入root——若当前已经是root用户,则此步跳过。

② 使用串口线连接开发板的串口(com0)和PC机的串口。在终端中输入minicom 命令,若提示串口不存在,则修改minicom的相关参数后,再执行minicom命令。 成功打开串口后,出现下图 回车后,出现下图

此时才能进行正常的下载,若没有出现,表明串口没有正常连接,需要检查 硬件连线及相关串口参数。 注意:关闭minicom请先按Ctrl+A,再按X。不要使用界面右上角的×退出,否则 会在下一次执行minicom命令时提示被锁定,拒绝访问

 ③ 按Ctrl+A,再按S,出现下图 选择第一个zmodem,回车后,出现下图 5 回车后,出现下图 输入绝对路径或者通过键盘快捷键选择文件后,出现下图 回车,出现下图 6 从上图可以看出,文件未被下载,原因是Tiny6410板子已经有了hello可执 行文件(之前下载的),若需要下载,则需要删除之前的hello文件,rm hello 即可。可通过ls命令查看是否删除成功。 删除之后,继续下载,出现下图 下载成功。

④ 运行程序 在电脑终端输入./hello,或者在Tiny6410终端输入hello都可。

将原程序中显示的“Hello,World!

”修改为“He110,HFUT!”。然后分别通过命令行

输入自己的学号和当前日期,我

提示符分别是“Please enter your student ID:”和“Please

若输入的学号的最后一位是偶数,则按格式

enter the current date:

“2019123456|2021-05-08”输出信息;若是奇数,则按格式“2019123457 2021-05-08”

输出信息。᚟

核心代码:

六.代码仓库:

GitHub - 1StephenCurry1/Principle-and-Application-ofEmbeddedSystem: 合肥工业大学嵌入式系统原理实验代码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值