之前分享过一篇有关Linux的操作命令,内容很全,但是比较基础。然而,实际工作中用到的比那些稍复杂些,本篇分享一些开发工程师必须具备的实战Linux命令。
简介:在当今科技飞速发展的时代,鸿蒙操作系统以其独特的优势崭露头角,而支撑其强大功能的鸿蒙开发语言更是成为了开发者们关注的焦点。鸿蒙开发语言具有高度的灵活性和可扩展性。...它允许开发者针对不同的设备和场景进行定制化开发,无论是智能手机、平板电脑、智能穿戴设备还是智能家居产品,都能通过鸿蒙开发语言实现高效的应用开发。其一,简洁高效是鸿蒙开发语言的显著特点之一。...开发者可以用简洁的代码实现复杂的功能,大大提高了开发效率。这种简洁性不仅降低了开发门槛,让更多的人能够参与到鸿蒙生态的建设中来,同时也使得代码的维护更加容易。其二,跨平台性是鸿蒙开发语言的另一大优势。...无论是在华为自家的设备上,还是在其他支持鸿蒙系统的设备上,都能保证应用的一致性和稳定性。再者,鸿蒙开发语言拥有强大的安全性能。在当今数字化时代,数据安全至关重要。...鸿蒙开发语言从设计之初就充分考虑了安全因素,通过多种安全机制保障用户数据的安全和隐私。此外,鸿蒙开发语言还具备良好的生态支持。华为为开发者提供了丰富的开发工具和文档,以及活跃的开发者社区。
鸿蒙NEXT应用开发工程师 - ArkTS核心语法ArkTS 是一个 TypeScript 的框架,它提供了一种简化的方式来定义和使用 TypeScript 类型。...ArkTS 旨在减少样板代码,提高开发者的生产力。以下是一些 ArkTS 核心语法的基本要点: 类型定义:ArkTS 允许你定义复杂的类型,这些类型可以用于函数参数、返回值以及变量声明。...鸿蒙NEXT应用开发工程师 - 组件化开发第一步、依赖插件在hvigor文件夹中的json5文件中,导入插件 "quick-assembly": "1.1.0":点击安装即可。...moduleSwitch参数:是一个全局的指令参数,它的存在可以确保性能和效率的提升,为0时,则构建项目不再执行任何脚本检查,和正常的项目开发保持一致,为1时,则会执行脚本检查,执行动态包和运行包之间的来回切换...;建议:开发时为1,打包或统一运行时改为0。
应用程序开发方式 ? 在Linux下开发应用程序可以调用两种接口来实现,一种是直接调用系统调用接口,另一种是调用库函数来实现。 1、什么是系统调用?...系统调用(System Call)是操作系统提供的服务,是应用程序与内核通信的接口。...Linux提供的系统调用包含的内容有:文件操作、进程控制、系统控制、内存管理、网络管理、socket套接字、进程间通信、用户管理等。 ? ? ? ?...实例:文件操作 Linux下文件操作应用程序结构如下: ? (图片来源:野火Linux开发实战指南) Linux下,“一切皆文件”。...相关参考书籍: 《Linux环境编程:从应用到内核》 《野火Linux开发实战指南》 《嵌入式Linux上的C语言编程实践》 ?
写这篇文章的原因:因为在linux开发串口应用的时候,遇到了问题,让遇到相同问题的人少走点弯路: ①读串口数据的时,需要接受换行符才能返回。...对于 linux的开发板来说,串口的驱动是不需要我们去开发,我目前是在内核4.9上开发,只需要修改一下设备树就可以了。所以直接对设备文件进访问就可以了。...Linux 没有实现这一位,总是将它视为已设置。 ②c_oflag: OPOST:启用具体实现自行定义的输出处理。...FLUSHO:(不属于 POSIX; Linux 下不被支持) 输出被刷新。这个标志可以通过键入字符 DISCARD 来开关。...VSWTCH:(not in POSIX; not supportedunder Linux; 0, NUL) 开关字符。(只为 shl 所用。)
文章目录 4 Linux进程间通信应用开发 4.1 初识进程 4.1.1 进程的概念 4.1.1.1 程序 4.1.1.2 进程 4.1.1.3 进程和程序的联系 4.1.1.4 进程和程序的区别 4.1.2...进程间通信应用开发 4.1 初识进程 在日常工作/学习中,读者可能会经常听到如下一些词:“作业”,“任务”,“开了几个线程”,“创建了几个进程”,“多线程”,“多进程”等等。...嵌入式软件工程师每天的工作/学习内容就是看C/C++源代码、分析C/C++源代码、编写C/C++源代码(有人会说,应该还有最重要的调试程序,我每天的工作日常是三分写程序,七分调试程序,调试程序去哪里了,...在linux下,内存空间被划分为用户空间和内核空间,应用程序开发人员开发的应用程序都存在于用户空间,绝大部分进程都处在用户空间;驱动程序开发人员开发的驱动程序都存在于内核空间。 ...应用程序使用IPC通信的一般步骤如下: 首先生成一个key值。
文章目录 1 Framebuffer应用开发 1.1 LCD Framebuffer操作原理 1.2 Framebuffer API接口 1.2.1 open系统调用 1.2.2 ioctl系统调用 1.2.3...使用freetype 1.5.1 矢量字体引入 1.5.2 Freetype理论介绍 1.5.2 在LCD上显示一个矢量字体 1.5.3 在LCD上令矢量字体旋转某个角度 1 Framebuffer应用开发...由此可知,我们应用程序只需要针对Framebuffer操作即可,其他交给驱动程序和硬件。...-6.2.1-2016.11-x86_64_arm-linux-gnueabihf/arm-linux-gnueabihf/libc/usr/include/ 1.5.2 freetype库,头文件移植至开发板.../arm-linux-gnueabihf/libc/usr/lib/so 复制到开发板的库文件目录中 注:链接文件需要保持它的链接属性(即加-d选项)。
文章目录 8 ALSA应用开发 8.1 音频相关概念 8.1.1 采样频率 8.1.2 量化位数 8.2 ALSA架构 8.2.1 ALSA架构介绍 8.3 移植ALSA库及工具 8.3.1 ALSA库下载...AlsaPlayback类中成员函数的实现 8.9 基于ALSA音频的录制 8.9.1 程序设计 8.9.2 AlsaPlay类的定义 8.9.3 AlsaCapture类中成员函数的实现 8 ALSA应用开发...ALSA 是Linux内核2.6后续版本中支持音频系统的标准接口程序,由ALSA库、内核驱动和相关测 试开发工具组成,更好的管理Linux中音频系统。 本小节将介绍ALSA的架构。...8.2.1 ALSA架构介绍 ALSA是Linux系统中为声卡提供驱动的内核组件。它提供了专门的库函数来简化相应应用程序的编写。相较于OSS的编程接口,ALSA的函数库更加便于使用。 ...ALSA系统包括7个子项目: 驱动包alsa-driver 开发包alsa-libs 开发包插件alsa-libplugins 设置管理工具包alsa-utils OSS接口兼容模拟层工具alsa-oss
文章目录 11 PWM编程应用开发 11.1 PWM概述 11.1.1 PWM的参数说明 11.2 用户层查看PWM 11.3 PWM的SYSFS使用 11.4 PWM应用编程 11.4.1 修改设备树...11.4.2 修改配置文件 11.4.3 添加驱动 11.4.4 运行测试 11 PWM编程应用开发 11.1 PWM概述 PWM,英文名Pulse Width Modulation,是脉冲宽度调制缩写...除了在调光电路应用,还有在直流斩波电路、蜂鸣器驱动、电机驱动、逆变电路、加湿机雾化量等都会有应用。...= 3) { usage(); return -1; } pwm_setup(); } return 0; } 11.4 PWM应用编程 The.../init.h> #include #include #include #include <asm/
文章目录 13 CAN编程应用开发 13.1 CAN介绍 13.1.1 CAN是什么?...报文分类 13.5.2 CAN 应用报文应用分析及实例 13.5.2.1 CAN 应用报文定义 13.5.2.2 CAN应用报文发送规则 13.5.2.3 汽车CAN应用报文发送应用实例 13CAN编程应用开发...在汽车工业,许多制造商 都应用他们自己的标准。 表格 OSI开发系统互联模型 序号 层次 描述 7 应用层 最高层。用户、软件、网络终端等之间用来进行信息交换。...这里电路只是对比了解一下,做linux应用可以不需要关注底层驱动处理。 那我们现在按照14.3章节构建STM32下CAN应用编程的框架,一步一步编写linux下socketCAN的应用编程。...先给100ask_imx6ull开发板上电,打开串口: 输入root用户登录进入开发板linux系统; 然后挂载nfs,操作如下: Mount -t nfs -o nolock 192.168.1.100
文章目录 14存储设备应用开发 14.1 SD/TF卡,U盘使用步骤 14.1.1 SD/TF卡,U盘的硬件接口 14.1.2 确定设备点 14.1.3 分区 14.1.4 格式化并挂载 14.1.5...介绍分区表 14.2 自动挂载U盘 14.2.1 udev规则 14.2.2 正则表达式 14.2.3 自动挂载U盘 14.3 挂载后就是一般的读写文件 14存储设备应用开发 14.1 SD/TF卡,U...14.2 自动挂载U盘 14.2.1 udev规则 udev是Linux(linux2.6内核之后)默认的设备管理工具。...,查看电脑上修改的内容在开发板上是否显示。...在111.txt中添加abc,在222.txt中添加100ask,保存,弹出U盘,插入开发板。 通过cat命令查看内容,如下图 显示的内容正确,以后我们就可以通过U盘把电脑的东西往开发板上搬了。
文章目录 10 RTC应用开发 10.1 RTC的作用及时间表示 10.2 RTC的操作命令 10.2.1 系统时间和硬件时间 10.2.2 系统时间操作命令 10.2.3 硬件时间操作命令 10.3...tm 结构 10.3.2时间相关的函数 1.时间格式化函数 2.localtime函数 3.mktime函数 4.asctime函数 5.ctime函数 10.4 RTC时间的编程实例 10 RTC应用开发...实时时钟芯片是日常生活中应用最为广泛的电子器件之一,它为人们或者电子系统提供精确的实时时间。...不同的时钟芯片内部机制不一样,时间数据存储格式、读写操作方式也不一样,Linux系统和驱动封装了不同时钟芯片的操作细节,为应用程序提供了统一的时间操作接口。 ...因此系统电源掉电后RTC时间仍然能够正常运行,Linux系统中硬件时钟的基本目的是在Linux不运行时保持时间。 在Linux启动时,将系统时间从硬件时钟初始化,然后不再使用硬件时钟。
文章目录 5 线程编程应用开发 5.1 线程的使用 5.1.1 为什么要使用多线程 5.1.2 线程概念 5.1.3 线程的标识pthread_t 5.1.4 线程的创建 5.1.5 向线程传入参数 5.1.6...线程的退出与回收 5.2 线程的控制 5.2.1 多线程编临界资源访问 5.2.2 互斥锁API简述 5.2.3 多线程编执行顺序控制 5.2.4 信号量API简述 5.3 总结 5 线程编程应用开发...本章节来讨论Linux下POSIX线程。
我会实现一个守护进程,从这个程序你将了解,Linux 应用程序开发基本流程 我们将实现一个远程shell的功能,可以通过tcp协议,运行远程机器上的命令或shell脚本 通过这个命令可以实现批量操作,管理上千台服务器...后台运行 --daemon 参数实现后台运行,原理是首先通过os.fork()克隆一个进程,然后退出当前进程,克隆的新进程继续运行 如果是Shell程序,你可使用“&”符号后台运行,但作为一个应用程序,...vsftpd.restart = /etc/init.d/vsftpd restart vsftpd.status = /etc/init.d/vsftpd status 4. init.d 脚本 Linux...init.d下面的脚本来管理 当人你也可以直接运行命令: nodekeeper --daemon --host localhost --port 7800 但这样只能算是一个半成品,也不够专业,我们写的是linux...运用程序,必须遵循Linux规范,所有要实现一个init.d脚本 $ cat nodekeeper #!
作者 良许 一个热爱技术的程序猿 前言 在 「关于我 」那篇博文里,朋友们应该知道了我不是科班出身,是由机械强行转行到Linux应用开发方向。...做软件的都知道,写代码的时候需要一个不被打扰的环境,而我那个岗位,一天可以接到十几个电话,严重干扰我的软件开发进度,因此,我决定离开公司,去做真正的软件工程师。 入门 第二份工作,我是嵌入式工程师。...底层驱动已经由厂家写好了,我们要做的工作就是在SDK基础上做应用做二次开发。在这个过程中,我对敏捷开发有了初步的认识,看了 「高效程序员的45个习惯:敏捷开发修炼之道」这本书。...我的新岗位是Linux应用开发工程师,使用C++开发。而在那时,我既不会Linux,也不会C++,所以公司敢录用我真的是勇气可嘉。 从单片机到Linux又是一个比较大的跨度。...环境搭建 作为Linux工程师,毋庸置疑一定需要Linux环境。
文章目录 6 网络编程应用开发 6.1 网络编程简介 6.1.1 五层因特网协议栈 6.1.2 传输层和应用层的常见协议 6.2 网络编程之TCP/UDP比较 6.2.1 TCP和UDP 原理上的区别...6.5 UDP编程简单示例 6.5.1 服务器端代码 6.5.2 客户端代码 6.5.2.1 客户端程序1 6.5.2.2 客户端程序2 6.5.3 Makefile文件 6.5.4 执行 6 网络编程应用开发...五层因特网协议栈 应用层:应用层是网络应用程序及它们的应用层协议存留的地方。 运输层:因特网的运输层在应用程序端点之间传从应用层报文。...6.1.2 传输层和应用层的常见协议 我们重点介绍和应用层编程关系密切的应用层和运输层。 应用层: 因特网的应用层包含很多协议,例如HTTP,SMTP,和 FTP。...应用层的协议分布在多个端系统上,一个端系统中的应用程序使用协议与另一个端系统中的应用程序交换信息分组。
文章目录 3 输入系统应用开发 3.1 什么是输入系统?...百问网imx6ul开发板触摸屏事件读取 3 输入系统应用开发 3.1 什么是输入系统? ...3.2 输入系统应用框架描述 在Linux输入系统中,主要分三层进行管理,分别是input core(输入系统核心层)、drivers(输入系统驱动层)以及event handlers(输入系统事件层...3.6 输入系统应用编程实战三:百问网imx6ul开发板触摸屏事件读取 在前面,我们已经熟悉了鼠标、键盘的基本操作,但发现一个规律,那就是编程方法类似,唯一不同的地方就是获取的事件类型以及事件值不同...,不是在PC端) 接下来启动开发板,然后串口终端输出rz命令,等待接收PC端的文件,这里我们将test_touchscreen这个文件传输到开发板。
文章目录 16 MQTT协议分析应用开发 16.1 mqtt协议介绍 16.1.1 概述 16.1.2 特点 16.1.3 应用 16.2 mqtt协议报文格式组成 16.2.1 mqtt控制报文结构...UNSUBSCRIBE ACK抓包报文 16.3.12.3 c语言构造unsubscribe报文 16.3.14 服务端与客户端交互操作过程 16.3.14.1 编译 16.3.14.2 执行 16 MQTT协议分析应用开发... MQTT协议广泛应用于物联网、移动互联网、智能硬件、车联网、电力能源等领域。...这个选择取决于具体的应用。 清理会话标志设置为 1 的客户端不会收到旧的应用消息, 而且在每次连接成功后都需要重新订阅任何相关的主题。...为了将应用消息转发给与那些订阅匹配的主题, 服务端发送 PUBLISH 报文给客户端。 SUBSCRIBE报文也(为每个订阅)指定了最大的 QoS 等级, 服务端根据这个发送应用消息给客户端。
文章目录 2 图像处理应用开发 2.1 BMP图像处理 2.1.1 BMP文件格式解析 2.1.2 代码实现:将BMP文件解析为RGB格式,在LCD上显示 2.2 JPEG图像处理 2.2.1 JPEG...2.4.1 图像的缩放 2.4.1.1 图像缩放算法浅析 2.4.1.2源码编写:图像缩放算法 2.4.2 图像的旋转 2.4.2.1 图像旋转算法浅析 2.4.2.2 源码编写:图像旋转算法 2 图像处理应用开发...2.1.2 代码实现:将BMP文件解析为RGB格式,在LCD上显示 让BMP文件在开发板的LCD上显示出来,有几个需要注意的点: 开发板LCD上的显示格式是RGB格式的,而且有多种表示格式:可能用2字节表示...相对于BMP格式的文件,JPEG由于压缩算法的关系,其文件解析较为复杂,我们可以利用Linux系统开源的优点,使用开源工具对jpeg文件进行格式的解析和转换。 ...在使用libjpeg之前,我们先要交叉编译libjpeg的库文件和头文件并存到开发板的文件系统中。
文章目录 9 GPIO编程应用开发 9.1 GPIO编程基础介绍 9.2 GPIO编程软件接口 9.2.1 控制接口 9.2.2 GPIO信号 9.2.3 GPIO控制器 9.3 IMX6ULL开发板GPIO...实际编程操作 9.4.1 导出GPIO口 9.4.2 设置GPIO方向 9.4.3 GPIO输出实验-LED输出控制 9.4.4 GPIO输入试验-按键值读取 9.4.5 LED和按键控制实验 9 GPIO编程应用开发...控制器实现的第一个GPIO. ” ngpio”属性,用于表示该控制器支持多少个GPIO,支持的GPIO编号为从N到N+ngpio-1 ” label”属性,用于判断控制器,并不总是唯一的 9.3 IMX6ULL开发板...接下来,我们以板载的LED和按键各自对应的GPIO为例来说明如何在实际应用中计算GPIO编号。 9.3.1 LED的GPIO编号计算 从原理图中找到对应LED的设计,具体的连接如下图所示。
领取专属 10元无门槛券
手把手带您无忧上云