大家好,我是兔子。

是一个嵌入式软硬件工程师。

正在从单片机开发转岗Linux开发。

这次教大家如何在Linux开发板上运行可执行文件。

简单起见,不涉及到硬件。直接和教程2一样,能在PC虚拟机上运行hello world程序。当然开发板上也可以。

1.Source Insight编程

Source Insight是一个很好用的文本编辑器。实际上和windows的记事本的功能差不多。

但是对于嵌入式开发,C语言可以自动显示函数名以及关键字。以及工程编译,可以新建工程,将工程中多个.c和.h文件进行搜索并进行对应关系。

我们的嵌入式Linux的开发的第一个程序,hello world也准备开始使用Source Insight进行编写。

2.编写程序

安装Source Insight软件,并打开。

新建一个文件,命名为hello_arm.c

并编写Hello world程序。

编写完后,另存为。

3.编写Makefile

Windows下,新建一个记事本。将文件名修改为Makefile

(注意,强烈注意。Makefile文件名的M是需要大写的,其余字母小写,并且文件不带后缀。不能包含类似.txt的扩展名)

EXEC = hello_arm
OBJS = hello_arm.oCROSS = arm-fsl-linux-gnueabi-
CC = $(CROSS)gcc
STRIP = $(CROSS)strip
CFLAGS = -Wall -g -O2all: clean $(EXEC)$(EXEC):$(OBJS)$(CC) $(CFLAGS) -o $@ $(OBJS)$(STRIP) $@clean:-rm -f $(EXEC) *.o

将第一行和第二行,改为需要编译的文件名

文件里,每行左侧的开头,不能包含空格,必须使用tab键空格。

(如图所示,每行左侧禁止使用空格键,调整为tab键空格)。

4.将hello_arm.c以及Makefile两个文件,拷贝到虚拟机里,进行编译

1)windows下复制这两个文件。

2)虚拟机下,右键粘贴。就可以跨系统传输文件。

5.编译程序

进入终端,并进入到存储这两个文件的目录。

输入make指令。

可以看到没有提示错误和警告。表示编译通过。

6.将生成的可执行文件拷贝的NFS共享目录下

使用cp命令,即copy。

将生成的可执行文件hello_arm拷贝到NFS共享目录/work/nfs_root下。

(如何建立NFS共享目录,请移步教程3)

兔子MCU:从51单片机到Linux 开发板传文件利器-NFS(教程3)​zhuanlan.zhihu.com

6.开发板开启NFS功能

在开发板下,输入指令

mount -t nfs -o nolock,vers=2 192.168.1.101:/work/nfs_root /mnt

表示将虚拟机的NFS共享文件目录/work/nfs_root挂载到开发板的/mnt目录下。

(具体设置,请移步教程3)

兔子MCU:从51单片机到Linux 开发板传文件利器-NFS(教程3)​zhuanlan.zhihu.com

进入/mnt目录,并允许hello_arm程序。

可以看到,Hello world!以及打印。表示程序成功运行。

至此,开发板可以正确运行Hello World程序。

本节还简单介绍了Makefile的用法。

linux开发板 pc 通讯_从51单片机到Linux 开发板运行hello world(教程4)相关推荐

  1. 单片机 rs232 c语言,完全手册 51单片机C语言开发详解系列之第8章 串口通讯实战—RS232...

    完全手册 51单片机C语言开发详解系列 技术凝聚实力 专业创新出版 第8章 串口通讯实战-RS232接口电路与软件设计 本章主要通过实际的例子讲解AT89S51单片机的RS232串行通讯接口设计. 随 ...

  2. 51单片机初级项目开发10套资料(适合初学者练手题目)

    ·目录· 1. <51单片机4位数简易计算器> 2. <基于51单片机8音键电子琴DIY制作> 3. <基于51单片机的篮球计分器> 4. <LED数码管显示 ...

  3. BT08-B(蓝牙模块)与MG90S(舵机)开发灯控系统(基于51单片机)

    项目效果:通过手机蓝牙向蓝牙模块发送指令,蓝牙模块接受指令并通过串口发送给单片机,单片机控制舵机旋转角度,实现开,关节能灯开关. 一.设备: 硬件:BT08-B蓝牙模块(较为便宜),MG90S舵机(较 ...

  4. qt工程在linux系统里颜色显示错误_【飞凌嵌入式RK3399开发板试用体验】+QT开发环境搭建测试(二)...

    作者:飞扬的青春 在拿到开发板之后,已经体验了Android操作系统,接下来就是体验Linux下的开发,本次以QT的一个小案例来测试下. 首先是自己先搭建了一个Ubuntu18.04的虚拟机,使用真机 ...

  5. [51单片机]学电开发板-一块值得拥有的学习利器

    前言:大家好,我是豆包.前两天从我兄弟那里得到了一款穿了"衣服"的51开发板,说真的,能把开发板做成这样,真的是很用心,很细心.之前,我还自己建立个公众号,做的是关于51单片机开发 ...

  6. AD练习笔记 51单片机最小系统开发板

    个人练习笔记,如果存在某些漏洞,望大佬们指点. 这是一版51单片机的开发板,除去51的最小系统,还另外添加了蜂鸣器与流水灯电路,使得整体更适合于多种设计,下面是简单介绍       选用DC母座作为充 ...

  7. 如何开发rest接口服务_如何简化网络请求接口开发

    日常开发中,需要大量和后端对接接口,很容易写出大量的模板代码,比如把对接口的请求放到组件内,或者虽然有数据访问层,但是有大量 get,post 方法的调用,传参的字符串拼接,异常处理等等,有些逻辑是可 ...

  8. ios开发循环网络请求_如何简化网络请求接口开发

    日常开发中,需要大量和后端对接接口,很容易写出大量的模板代码,比如把对接口的请求放到组件内,或者虽然有数据访问层,但是有大量 get,post 方法的调用,传参的字符串拼接,异常处理等等,有些逻辑是可 ...

  9. 51单片机 外部时钟_基于51单片机的LCD12864显示模拟时钟

    今天要分享的仿真和程序是基于51单片机的LCD12864显示模拟时钟.公众号之前也分享过数字时钟,但是那些时钟都是采用数字显示的形式来显示时间,而今天分享一个采用LCD12864显示的模拟指针式时钟. ...

最新文章

  1. mac安装brew(亲测有效)
  2. 离散数学 第二章 谓词逻辑 2-1 谓词的概念与表示
  3. Bootstrap整合ASP.NET MVC验证、jquery.validate.unobtrusive
  4. webstorm 不知道手贱点了什么,有时候会自动删除分号
  5. 全国计算机等级考试题库二级C操作题100套(第63套)
  6. oracle非归档模式与归档模式的备份
  7. 北林oj-算法设计与分析-Simple Count(C++,思路+代码)
  8. oracle中pga指什么,oracle中pga内存分配原则
  9. SDL_BlitSurface的参数是两个PNG时,如何保护其透明度
  10. 2007年1月11日~2022年1月11日,我在 SAP 成都研究院这15年
  11. java struts validate_重写ActionForm中的Validate()方法
  12. WPS和Office 字体乱码问题
  13. USB调试助手功能完善
  14. 计算机专业权威期刊投稿经验总结
  15. 记录学习历程-----游戏编程
  16. [设计模式] 模板方法模式与多线程结合实现数据的批处理
  17. 统计学中三大相关系数
  18. microLite_timer,简洁、小巧精干的软件定时器
  19. Power BI-同比、环比、累计值
  20. OpenCV:二值化函数cv2.threshold

热门文章

  1. 美国燃油“动脉”被黑客切断,网络安全走向哪里?专访山石网科|拟合
  2. 【我想进大厂】Redis夺命连环11问
  3. 《2019~2020网络安全态势观察报告》重磅发布!
  4. K8S精华问答 | CentOS下如何配置主机互信?
  5. docker 远程连接 文件看不到_pycharm连接远程linux服务器的docker
  6. java 自定义 钩子_使用现有钩子的函数不能使用自定义do_action钩子
  7. 2021计算机应用基础形考答案模块2,国家开放大学计算机应用基础模块2形考答案-20210603091431.docx-原创力文档...
  8. nginx配置多个conf文件
  9. 在线安装docker
  10. 工作流实战_09_flowable 流程实例挂起与激活