![](https://img-blog.csdnimg.cn/d66ec52a62f14824a5cd88db9b8b1c9b.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
深耕Linux系统下的应用开发
文章平均质量分 95
Linux操作系统基础知识:了解Linux的基本概念、命令行操作、文件系统、用户和权限管理等掌握网络编程相关知识,如 TCP/IP 协议栈、套接字(Socket)编程等,可以实现网络通信功能。 常见的二次开发库详细说明介绍,如libcurl、OpenSSL、json-c、freetype等。
优惠券已抵扣
余额抵扣
还需支付
¥9.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
妄北y
一人写bug,万人创世界
展开
-
嵌入式开发系统学习——干货分享
嵌入式工程师在工作中需要不断学习和掌握新的技术、工具和知识,以应对各种开发挑战。以下是一些嵌入式工程师必须收藏的干货网站,以及开发问题的介绍:原创 2024-03-11 11:34:18 · 4126 阅读 · 22 评论 -
Linux下的IMX6ULL——环境搭建与软件安装(一)
从今天开始我们就要用到IMX6ULL这块开发板进行linux的学习了,对于初学者,下载好资料、搭建好开发环境后,按照下面顺序学习即可: 先应用,再驱动,最后做项目。应用、驱动、项目这三个慢慢走下来找个工作应该不是很难,难的是学扎实,找个好工作。原创 2023-10-23 12:53:27 · 3236 阅读 · 1 评论 -
Linux下的IMX6ULL——开发板基本操作(二)
前面我们已经配置好了环境,下载好了软件,下面让我们对我们使用的开发板有给简单的了解吧,IMX6ULL Pro开发板基本操作是必不可少的一大环节,下面让我们从它的硬件资源,软件资源等一系列开发板的基础操作做一个大概的认识吧原创 2023-10-24 11:52:08 · 2695 阅读 · 1 评论 -
Linux下的IMX6ULL——开发板的第一个APP和驱动实验(三)
万事开头难,如果我们在开发板上开发出第一个应用程序,第一个驱动程序,那么后续的开发就会稍微简单点,下面让我们来进行第一个应用程序和第一驱动程序的开发吧原创 2023-10-29 21:06:37 · 2774 阅读 · 2 评论 -
Linux下的IMX6ULL——构建bootloader、内核、文件系统(四)
Linux 平台上有许多开源的嵌入式linux系统构建框架(框架的意思就是工 具),这些框架极大的方便了开发者进行嵌入式系统的定制化构建,目前比较常 见的有OpenWrt, Buildroot, Yocto,等等。其中Buildroot功能强大,使用 简单,而且采用了类似于linux kernel的配置和编译框架,所以受到广大嵌入 式开发人员的欢迎。原创 2023-11-03 16:41:17 · 2746 阅读 · 0 评论 -
Linux应用开发基础知识——交叉编译与gcc编译(一)
源文件需要经过编译才能生成可执行文件。在 Windows 下进行开发时,只需 要点几个按钮即可编译,集成开发环境(比如 Visual studio)已经将各种编译 工具的使用封装好了。Linux 下也有很优秀的集成开发工具,但是更多的时候是 直接使用编译工具;即使使用集成开发工具,也需要掌握一些编译选项。PC 机上的编译工具链为 gcc、ld、objcopy、objdump 等,它们编译出来的 程序在 x86 平台上运行。原创 2023-11-05 15:28:03 · 3193 阅读 · 0 评论 -
Linux应用开发基础知识——Makefile 的使用(二)
在 Linux 中使用 make 命令来编译程序,特别是大程序;而 make 命令所执 行的动作依赖于 Makefile 文件。最简单的 Makefile 文件: hello: hello.c 、gcc -o hello hello.c 、clean:、 rm -f hello 将上述 4 行存为 Makefile 文件,放入 01_hello 目录下,然后直接执行 make 命令即可编译程序,执行 “make clean”即可清除编译出来的结果。原创 2023-11-07 12:34:18 · 2222 阅读 · 0 评论 -
Linux应用开发基础知识——文件IO操作(三)
Linux 的文件既可以是真实保存到存储介质的文件也可以 是自身内核提供的虚拟文件,还可以是设备节点。原创 2023-11-10 15:23:05 · 2364 阅读 · 1 评论 -
Linux应用开发基础知识——Framebuffer 应用编程(四)
在 Linux 系统中通过 Framebuffer 驱动程序来控制 LCD。Frame 是帧的意 思,buffer 是缓冲的意思,这意味着 Framebuffer 就是一块内存,里面保存着 一帧图像。Framebuffer 中保存着一帧图像的每一个像素颜色值,假设 LCD 的 分辨率是 1024x768,每一个像素的颜色用 32 位来表示,那么 Framebuffer 的 大小就是:1024x768x32/8=3145728 字节。原创 2023-11-10 18:02:06 · 3478 阅读 · 2 评论 -
Linux应用开发基础知识——字符文字编码(五)
TXT 文件中保存的是字符的核心:它的编码值。而 Notepad 上显示时, 这些字符对应什么样的形状态,这是由字符文件决定的。编码值,字体是两个不一样的东西,比如 A 的编码值是 0x41,但是在屏幕上显示出来时可以使用不同的形状。什么叫编码?就是一个字符用什么数字来表示。在计算机里一切都是用数字来表示,比如字符 A,用 0x01 还是 0x02 来表示它?我们使用 0x41 来表示它。当你去打开一个 TXT 文件时,发现里面含有数值 0x41,你就知道了:哦,这里有一个字符 A。原创 2023-11-12 11:09:20 · 2283 阅读 · 0 评论 -
Linux应用开发基础知识——LCD上的矢量字体Freetype(六)
关 键 点 (glyph) 存 在 字 体 文 件 中 , Windows 使 用 的 字 体 文 件 在 c:\Windows\Fonts 目录下,扩展名为 TTF 的都是矢量字库,我们的是新宋字体 simsun.ttc。给定一个字符,怎么在字体文件中找到它的关键点?首先要确定该字符的编码值:比如 ASCII 码、GB2312 码、UNICODE 码。如果字体文件支持某种编码格式(charset),就可以使用这类编码值去找到该字符的关键点(glyph)。原创 2023-11-12 16:36:03 · 2676 阅读 · 3 评论 -
Linux应用开发基础知识——输入系统应用编程(七)
常见的输入设备有键盘、鼠标、遥控杆、书写板、触摸屏等等,用户通过这些 输入设备与 Linux 系统进行数据交换。输入设备种类繁多,能否统一它们的接口?既在驱动层面统一,也在应用程序层面统一?事实上是可以的。 Linux 系统为了统一管理这些输入设备,实现了一套能兼容所有输入设备的 框架:输入系统。驱动开发人员基于这套框架开发出程序,应用开发人员就可以使用统一的 API 去使用设备。原创 2023-11-17 15:59:24 · 2480 阅读 · 0 评论 -
Linux应用开发基础知识——输入系统应用编程(八)
触摸屏分为电阻屏、电容屏。电阻屏结构简单,在以前很流行;电容屏支持多点触摸,现在的手机基本都是使用电容屏。我们应当注意的是LCD、触摸屏不是一回事,LCD 是输出设备,触摸屏是输入设备。制作触摸屏时特意把它的尺寸做得跟 LCD 一模一样,并且把触摸屏覆盖在 LCD 上,让我们学习一下输入系统里面的电阻屏与电容屏。原创 2023-11-19 22:34:40 · 2478 阅读 · 0 评论 -
Linux应用开发基础知识——网络通信编程(九)
通过学习为后续Linux网络编程奠定基础。首先介绍网络编程的概念,即网络协议分层,旨在帮助读者对网络建立初步的、全面立体的认识,其次介绍包括协议、端口、地址等;最后介绍应用非常广泛的传输控制协议(Transmission Control Protocol,TCP)和用户数据报协议(User Datagram Protocol,UDP)的基本概念及其区别以及这两种协议的编程。原创 2023-11-21 18:05:00 · 3839 阅读 · 15 评论 -
Linux应用开发基础知识——多线程编程(十)
在编写代码时,是否会遇到以下的场景会感觉到难以下手?要做 2 件事,一件需要阻塞等待,另一件需要实时进行。例如播放器:一边在屏幕上播放视频,一边在等待用户的按键操作。如果使用单线程的话,程序必须一会查询有无按键,一会播放视频。查询按键太久,就会导致视频播放卡顿;视频播放太久,就无法及时响应用户的操作。并且查询按键和播放视频的代码混 杂在一起,代码丑陋。如果使用多线程,线程1单独处理按键,线程 2 单独处理播放,可以完美解决上述问题。原创 2023-11-22 14:14:53 · 3042 阅读 · 0 评论 -
Linux应用开发基础知识——串口应用编程(十一)
在Linux系统中,串口设备以文件的形式存在,通常位于/dev目录下,如ttyS0、ttyUSB0等。这些设备文件可以用于读取和写入数据。要使用串口设备,需要打开相应的设备文件。在打开串口时,可以使用O_RDWR选项标志进行读写操作,同时使用O_NOCTTY选项标志告诉Linux“本程序不作为串口的‘控制终端’”,以避免一些输入字符影响进程运行。下面让我们对串口应用编程进行一个简单的入门学习吧。原创 2023-11-22 19:41:18 · 3193 阅读 · 0 评论 -
Linux应用开发基础知识——I2C应用编程(十二)
I2C(Inter-IntegratedCircuitBUS)是集成电路总线,是目前应用最广泛的总线之一,最初由PHILIPS(现为NXP)设计。它使用多主从架构,主要用于连接低速周边设备。I2C总线在硬件物理层包括两条线:一条数据线(SDA)和一条时钟线(SCL)。所有设备都连接在这两条线上。原创 2023-11-23 18:01:18 · 3790 阅读 · 0 评论 -
Linux应用开发基础知识——I2C应用编程(十三)
APP 访问硬件肯定是需要驱动程序的,对于 I2C 设备,内核提供了驱动程序 drivers/i2c/i2c-dev.c,通过它可以直接使用下面的 I2C 控制器驱动程序来 访问 I2C 设备。原创 2023-11-23 18:02:05 · 3521 阅读 · 0 评论 -
【常见开源库的二次开发】HTTP之libcurl库——基础知识扫盲(一)
libcurl是一个开源的、跨平台的网络传输库,它支持多种协议,包括HTTP、HTTPS、FTP、FTPS、TFTP、SCP、SFTP、SMB、SMBS、TELNET、DICT、LDAP、LDAPS、FILE、POP3、IMAP、SMTP、RTMP和RTMPS。libcurl库以其灵活性和易用性而闻名,它允许开发者轻松地在其应用程序中集成网络通信功能,本章我们先堆HTTP和HTTPS,密码学等基础知识进行一个学习和掌握。原创 2024-06-01 17:40:01 · 759 阅读 · 1 评论 -
【常见开源库的二次开发】HTTP之libcurl库——libcurl使用(二)
libcurl是一个开源的、跨平台的网络传输库,它支持多种协议,包括HTTP、HTTPS、FTP、FTPS、TFTP、SCP、SFTP、SMB、SMBS、TELNET、DICT、LDAP、LDAPS、FILE、POP3、IMAP、SMTP、RTMP和RTMPS。libcurl库以其灵活性和易用性而闻名,它允许开发者轻松地在其应用程序中集成网络通信功能,本章我们先对libcurl库进行一个详细的分析与学习。原创 2024-06-02 15:04:40 · 613 阅读 · 3 评论 -
【常见开源库的二次开发】libcurl实战项目——人脸识别(三)
libcurl是一个开源的、跨平台的网络传输库,它支持多种协议,包括HTTP、HTTPS、FTP、FTPS、TFTP、SCP、SFTP、SMB、SMBS、TELNET、DICT、LDAP、LDAPS、FILE、POP3、IMAP、SMTP、RTMP和RTMPS。libcurl库以其灵活性和易用性而闻名,它允许开发者轻松地在其应用程序中集成网络通信功能,本章我们先对libcurl库运用到实战项目中进行一个简单的教程与学习原创 2024-06-03 11:50:24 · 2562 阅读 · 30 评论 -
【常见开源库的二次开发】libcurl实战项目——车牌识别(四)
libcurl是一个开源的、跨平台的网络传输库,它支持多种协议,包括HTTP、HTTPS、FTP、FTPS、TFTP、SCP、SFTP、SMB、SMBS、TELNET、DICT、LDAP、LDAPS、FILE、POP3、IMAP、SMTP、RTMP和RTMPS。libcurl库以其灵活性和易用性而闻名,它允许开发者轻松地在其应用程序中集成网络通信功能,本章我们先对libcurl库运用到实战项目中进行一个简单的教程与学习原创 2024-06-03 18:06:14 · 761 阅读 · 1 评论 -
【常见开源库的二次开发】一文学懂CJSON
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。它基于JavaScript的一个子集,但是JSON是独立于语言的,这意味着尽管JSON是由JavaScript语法衍生出来的,它可以被任何编程语言读取和生成。JSON的设计目的是使数据交换既简单又快速,相对于其他数据交换格式如XML,JSON更加轻巧,这使得它在网络上传输更加高效。对于人类和机器来说,JSON文本的格式都是易于理解的。原创 2024-07-09 23:35:07 · 827 阅读 · 1 评论