对于这个实验我也是一知半解,最后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的文件。
注意:“$(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: 合肥工业大学嵌入式系统原理实验代码