【北京迅为】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的开发文档。

相关推荐
小袁搬码几秒前
Ubuntu2026.04LTS_长期支持本已发布
linux·ubuntu2026.04
快乐的划水a10 分钟前
单片机仿Linux驱动开发(三)
linux·驱动开发·单片机
lzx1864884370210 分钟前
锂电池11V升23V 1.2A恒流升压DC-DC转换芯片_AH1102
嵌入式硬件·集成测试·硬件工程·ic
hhcs18 分钟前
Linux TTM 子系统:ttm_mem_reg → ttm_resource
linux·drm mm·drm ttm
сокол23 分钟前
【网安-Web渗透测试-Linux提权】CVE-2023-22809
linux·服务器·网络安全
踏着七彩祥云的小丑24 分钟前
嵌入式——认识电子元器件——轻触按键开关系列
单片机·嵌入式硬件
一个人旅程~25 分钟前
Q4OS-linuxDebian内核版本下载链接
linux·经验分享·电脑
YQ_0138 分钟前
大幅提速 colcon build —— ccache 缓存 + 并行数控制防爆内存
linux·缓存·机器人·ros2
被java抛弃的网工42 分钟前
Linux基础--挣点元子(1)
linux·运维·服务器
Bryce_Zhou1 小时前
stm32U5A9配置USART+DMA
stm32·单片机·嵌入式硬件