【北京迅为】iTOP-4412全能版使用手册-第十二章 Linux系统编程简介

iTOP-4412全能版采用四核Cortex-A9,主频为1.4GHz-1.6GHz,配备S5M8767 电源管理,集成USB HUB,选用高品质板对板连接器稳定可靠,大厂生产,做工精良。接口一应俱全,开发更简单,搭载全网通4G、支持WIFI、蓝牙、陀螺仪、CAN总线、RS485总线、500万摄像头等模块,稳定运行Android 4.0.3/Android 4.4操作,系统通用Linux-3.0.15+Qt操作系统(QT支持5.7版本),Ubuntu版本:12.04,接口智能分配 方便好用。


第三部分 嵌入式Linux系统编程教程

本部分结合视频,通过制作最小Linux文件系统和介绍基本概念来帮助初学者了解Linux,然后介绍了嵌入式Linux调试方法,文件IO编程,串口编程,进程操作,网络编程(TCP和UDP)等基础知识,为学习驱动和Qt做铺垫。

用到的软件工具如下

1)Ubuntu12.04.2 以及虚拟机

2)arm-2009q3 编译器

3)Notepad++编辑器超级终端

4)vim 编辑器

5)最小 linux 系统

视频资源:

ITOP-4412开发板视频教程\02-迅为电子Linux系统编程视频教程

第十二章 Linux系统编程简介

Linux的系统编程,也就是基于Linux内核之上的应用程序的编程。一般是使用 C 语言来开发,通过"系统调用"或 Linux 之上的库函数来直接调用 Linux 的内核资源,从而实现具体的业务逻辑和功能。

Linux的系统编程应用广泛,很多产品都是直接在 Linux 之上开发应用程序来完成的。当然我们也可以在 Linux之上运行 QT 或者 Android 等系统,然后在 QT 或者 Android 之上再开发对应的应用。相比而言,Linux内核之上的应用开发,也就是 Linux 系统编程则更加普遍,它也是 Linux 程序员必须掌握的技术。

通过 Linux 系统编程技术的学习,使得我们对 Linux 系统本身有着更加深入的认识,也为以后学习 Linux 驱动打下基础。

笼统来说,Linux 系统编程就是 Linux 上层应用的编程,而 Linux 驱动属于底层的技术。

另外,任何一个操作系统编程都需要对系统本身有一定的了解。

前面最基础的实验中,介绍了搭建 linux 环境,linux 命令行,gcc 编译,各种开发工具等等,都是必须掌握和熟悉使用的。

它们都是工具,俗话说"磨刀不误砍柴工",跟着手册走通一遍,以后新的环境就没有什么问题了。

Linux 系统编程的学习中,我们也会给大家介绍 Linux 的一些编程思想以及 Linux 中相关的 API 用法。

比如,Linux 最核心的思想是"一切皆文件",我们需要在学习过程中逐步理解这一重要思想。

Linux 中 API 包括:

ü 1)各种对文件的操作函数

ü 2)进程的 API(作为操作系统,学习多任务是必须的)

ü 3)Linux 的内部通信,进程以及线程间通信等

ü 4)网络通信(常规的 socket,udp,tcp 等等)

ü 5)Linux 的时间函数(Linux 有一套自己的时间接口)

C语言的基础很重要,很多用户就是因为 C 语言基础薄弱而难以入门,学习 C 语言主要是学习编程思想,而这需要一段时间的编程训练。计算机语言的编程思想都是一样的,掌握了一种其他也会触类旁通。

本章包括 60 个左右的实验,大家可以对照手册的目录来了解一下。下面简单做一下说明:

1)介绍最小 Linux 系统和 helloworld 小程序。也就是先来看一下这个最小操作系统是怎么来的,大概有一个了解,然后运行一下小程序,熟悉一下 Linux 系统编程的编译和运行。

2) Linux 中基本的概念。用户、用户组、权限等等,这些可能是大家在其它操作系统中不怎么注意到,但是在 Linux 中需要理解的概念。

3) Linux 中的文件部分。这部分贯穿整个手册,包括各种普通文件的基本操作,设备节点文件的操作,目录文件等等,几乎占了一半篇幅。

4) 串口应用的编程。这个实在太重要了,对于任何一份针对新手程序员的工作,几乎一半以上都会接到串口编程的任务!这个和单片机串口开发完全不一样!和其它任何操作系统的串口编程是类似的,好好学习这部分内容,新工作中绝对会直接用到!

5) 进程以及进程通信。实现多任务就靠这部分知识了,主要是一些系统接口。如果手册中提到系统函数或者系统接口或者系统 API,都是同一个意思。

6) 网络通信。Linux 下几乎支持所有的网络通信协议,非常强大!手册中选取了包括TFTP 服务器以及客户端,NFS 文件启动,TCP 以及 UDP,WEB 服务器等。

7) man 命令。授人以鱼不如授人以渔!程序员的基础修养中,看文档是必须的。Linux中的文档,内容很全面,我们可以使用 man 命令查看相关文档,类似于 window 和 Android的开发文档。

相关推荐
追风赶月、11 分钟前
【Linux】线程同步与互斥
linux
夜间去看海34 分钟前
01 [51单片机 PROTEUS仿真设计]基于温度传感器的恒温控制系统
嵌入式硬件·51单片机·proteus
liyinuo20171 小时前
如何使用GCC手动编译stm32程序
c语言·arm开发·stm32·单片机·嵌入式硬件
梦游钓鱼1 小时前
pyshark安装使用,ubuntu:20.04
linux·运维·ubuntu
火龙谷1 小时前
CentOS7将yum源更换为国内源教程
linux·centos
战族狼魂1 小时前
CentOS 上安装各种应用的命令行总结
linux·运维·centos
ShiinaKaze2 小时前
【MCU】微控制器的编程技术:ISP 与 IAP
单片机·嵌入式硬件·mcu·iap·isp
学Linux的语莫2 小时前
ansible变量
linux·运维·服务器·ansible
清源妙木真菌2 小时前
Linux:进程控制
linux