linux开发板 pc 通讯_从51单片机到Linux 开发板运行hello world(教程4)
大家好,我是兔子。
是一个嵌入式软硬件工程师。
正在从单片机开发转岗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)相关推荐
- 单片机 rs232 c语言,完全手册 51单片机C语言开发详解系列之第8章 串口通讯实战—RS232...
完全手册 51单片机C语言开发详解系列 技术凝聚实力 专业创新出版 第8章 串口通讯实战-RS232接口电路与软件设计 本章主要通过实际的例子讲解AT89S51单片机的RS232串行通讯接口设计. 随 ...
- 51单片机初级项目开发10套资料(适合初学者练手题目)
·目录· 1. <51单片机4位数简易计算器> 2. <基于51单片机8音键电子琴DIY制作> 3. <基于51单片机的篮球计分器> 4. <LED数码管显示 ...
- BT08-B(蓝牙模块)与MG90S(舵机)开发灯控系统(基于51单片机)
项目效果:通过手机蓝牙向蓝牙模块发送指令,蓝牙模块接受指令并通过串口发送给单片机,单片机控制舵机旋转角度,实现开,关节能灯开关. 一.设备: 硬件:BT08-B蓝牙模块(较为便宜),MG90S舵机(较 ...
- qt工程在linux系统里颜色显示错误_【飞凌嵌入式RK3399开发板试用体验】+QT开发环境搭建测试(二)...
作者:飞扬的青春 在拿到开发板之后,已经体验了Android操作系统,接下来就是体验Linux下的开发,本次以QT的一个小案例来测试下. 首先是自己先搭建了一个Ubuntu18.04的虚拟机,使用真机 ...
- [51单片机]学电开发板-一块值得拥有的学习利器
前言:大家好,我是豆包.前两天从我兄弟那里得到了一款穿了"衣服"的51开发板,说真的,能把开发板做成这样,真的是很用心,很细心.之前,我还自己建立个公众号,做的是关于51单片机开发 ...
- AD练习笔记 51单片机最小系统开发板
个人练习笔记,如果存在某些漏洞,望大佬们指点. 这是一版51单片机的开发板,除去51的最小系统,还另外添加了蜂鸣器与流水灯电路,使得整体更适合于多种设计,下面是简单介绍 选用DC母座作为充 ...
- 如何开发rest接口服务_如何简化网络请求接口开发
日常开发中,需要大量和后端对接接口,很容易写出大量的模板代码,比如把对接口的请求放到组件内,或者虽然有数据访问层,但是有大量 get,post 方法的调用,传参的字符串拼接,异常处理等等,有些逻辑是可 ...
- ios开发循环网络请求_如何简化网络请求接口开发
日常开发中,需要大量和后端对接接口,很容易写出大量的模板代码,比如把对接口的请求放到组件内,或者虽然有数据访问层,但是有大量 get,post 方法的调用,传参的字符串拼接,异常处理等等,有些逻辑是可 ...
- 51单片机 外部时钟_基于51单片机的LCD12864显示模拟时钟
今天要分享的仿真和程序是基于51单片机的LCD12864显示模拟时钟.公众号之前也分享过数字时钟,但是那些时钟都是采用数字显示的形式来显示时间,而今天分享一个采用LCD12864显示的模拟指针式时钟. ...
最新文章
- mac安装brew(亲测有效)
- 离散数学 第二章 谓词逻辑 2-1 谓词的概念与表示
- Bootstrap整合ASP.NET MVC验证、jquery.validate.unobtrusive
- webstorm 不知道手贱点了什么,有时候会自动删除分号
- 全国计算机等级考试题库二级C操作题100套(第63套)
- oracle非归档模式与归档模式的备份
- 北林oj-算法设计与分析-Simple Count(C++,思路+代码)
- oracle中pga指什么,oracle中pga内存分配原则
- SDL_BlitSurface的参数是两个PNG时,如何保护其透明度
- 2007年1月11日~2022年1月11日,我在 SAP 成都研究院这15年
- java struts validate_重写ActionForm中的Validate()方法
- WPS和Office 字体乱码问题
- USB调试助手功能完善
- 计算机专业权威期刊投稿经验总结
- 记录学习历程-----游戏编程
- [设计模式] 模板方法模式与多线程结合实现数据的批处理
- 统计学中三大相关系数
- microLite_timer,简洁、小巧精干的软件定时器
- Power BI-同比、环比、累计值
- OpenCV:二值化函数cv2.threshold
热门文章
- 美国燃油“动脉”被黑客切断,网络安全走向哪里?专访山石网科|拟合
- 【我想进大厂】Redis夺命连环11问
- 《2019~2020网络安全态势观察报告》重磅发布!
- K8S精华问答 | CentOS下如何配置主机互信?
- docker 远程连接 文件看不到_pycharm连接远程linux服务器的docker
- java 自定义 钩子_使用现有钩子的函数不能使用自定义do_action钩子
- 2021计算机应用基础形考答案模块2,国家开放大学计算机应用基础模块2形考答案-20210603091431.docx-原创力文档...
- nginx配置多个conf文件
- 在线安装docker
- 工作流实战_09_flowable 流程实例挂起与激活