一、freetype简介 FreeType库是一个完全免费(开源)的、高质量的且可移植的字体引擎,它提供统一的接口来访问多种字体格式文件,可以非常方便我们开发字体显示相关的程序功能。...它支持单色位图、反走样位图的渲染。FreeType库是高度模块化的程序库,虽然它是使用ANSI C开发,但是采用面向对象的思想,因此,FreeType的用户可以灵活地对它进行裁剪。...拷贝生成的库到开发板 [root@wbyq freetype-2.4.10]# cp _install/lib/*.so* /home/wbyq/rootfs/lib/ -fdv 2....在指定位置显示文本*/ /* wcslen() 函数用于计算宽字符的个数,支持区分中文和英文字符,文本需要在UTF-8编码下。...驱动开发"); /*7.
嵌入式Linux开发主要有四种方式:裸机开发、SDK开发、驱动开发和应用开发。 1、裸机开发 裸机开发通常指在没有操作系统支持的环境中直接在硬件上运行程序的开发。...在嵌入式Linux SDK开发中,开发者可以利用Linux系统的强大功能和灵活性,同时针对特定的硬件平台进行优化和调整,以满足嵌入式设备的特定需求。...3、驱动开发 驱动开发是指为嵌入式Linux系统编写设备驱动程序的过程。在这个过程中,开发者需要深入理解Linux内核架构,学会如何在Linux内核环境下编写、调试和维护设备驱动程序。...4、应用开发 Linux 应用开发是指在 Linux 操作系统上开发应用程序的过程。这包括创建、编写、调试和优化应用程序,以在 Linux 环境中运行。...Linux 提供了丰富的开发工具和库,使开发者能够构建各种类型的应用,从命令行工具到图形用户界面(GUI)应用,再到服务器端应用。
前言 嵌入式知识点复习一 嵌入式知识点复习二 –体系结构 嵌入式知识点复习三 –ARM-LINUX嵌入式开发环境 嵌入式知识点复习四 –arm-linux文件编程 嵌入式知识点复习五 –arm-linux...进程编程 嵌入式知识点复习六 –arm-linux网络编程 嵌入式知识点复习七 –linux字符型设备驱动初步 嵌入式知识点复习一 1、 嵌入式系统的一般组成结构 2、嵌入式硬件系统的结构 (1)嵌入式处理器...嵌入式知识点复习三 –ARM-LINUX嵌入式开发环境 一、交叉开发模式 1、组成结构 (1)宿主机:开发主机,一般由PC、发行版linux系统、开发工具(本地及交叉编译)(代码编辑器Vi,编译器GCC...⑤ 实验室使用的OK6410开发板定制的编译器为32位的,其交叉编译工具链主要arm-linux-gcc,arm-linux-g++arm-linux-gdb等构成。...Linux下的进程间通信 进程间通信用于实现参数传递及通信功能;Linux支持的常用的进程间通信方法:管道、消息队列、共享内存、信号量、套接口等等。
前几天在研究minigui,照着官方的步骤编译,竟然一堆错,不是缺这库,就是缺那库。好不容易快到了最后一步,竟然再链接时告诉我用的64位系统不兼容32位的minigui。...也不喜欢minigui的为win32风格,应用都得在他的框架下写,必须得有入口函数。类似于win32的api编程,很原始,连个界面的长宽高都要自己去定义。也没有好用的可视化的窗口设计及仿真环境。...同事说这么小巧的东西在linux上有点儿不搭吧,linux那么强大,应该首先考虑minigui和QT。但是我我举得对于目前正在做的新项目而言,不需要界面太花哨,功能稳定就行,先快速出来产品再说吧。...反正画着也挺简单的,最底层的画点画线基本函数都有了。甚至可以移植gif解码库,让支持更多类型的图片动画。后续准备加入常用的中文字库支持。以及gif动画支持。...进入正题,移植minigui, 很好移植,把底层调用的几个函数,用linux上的frambuffer实现就可以了。
文章目录 Linux嵌入式开发——文件权限 文件权限 文件权限管理 修改文件权限 修改文件所属用户 拥有者 拥有者组 Linux嵌入式开发——文件权限 文件权限 文件权限是指不同的用户或用户组对某个文件拥有的权限...我们可以使用如下命令去查看一个文件的信息: ls a.c -l # ls 文件名 -l 我们接下来就来分析一下 a.c文件信息,首先,a.c的文件信息如下所示: - rw-...文件权限管理 修改文件权限 修改文件权限我们使用的是chmod命令,具体用法如下所示,首先我们查看一个文件的属性: -rwxrwxr-x 然后对其进行修改,664就是把所有用户的可执行全部删除,在此之后...,我们再来查看一下这个文件的属性,接下来就可以发现我们的文件属性得到了修改。...chmod 664 a -rw-rw-r-- 修改文件所属用户 修改文件权限我们使用的是chown命令,具体用法如下所示,我们开始以前面的那个文件为例子,修改其所属用户,我们先来查看一下文件的用户。
文章目录 Linux嵌入式开发——连接文件 ln命令 硬连接 符号连接(软连接) Linux嵌入式开发——连接文件 Linux有两种连接文件:第一种叫符号连接也称为软连接,第二种就是硬链接。...符号连接类似Windows下的快捷方式,或者说是一个指针。而硬链接则通过文件系统的 inode 连接来产生新文件名,而不是产生新文件,就相当于文件的分身,共用同一个ID。...inode相当于文件ID,查找文件的时候要先找到inode,然后才能读出文件的内容。 ln命令 ln命令就是用于创建连接文件,我们先输入如下命令去查看一下in命令的帮助信息。...我们来具体的看一下到底是怎么回事: 首先,我们给a.c创建一个硬连接,然后修改这个硬连接文件,看一下源文件会不会被修改。...,符号连接类似Windows下的快捷方式,符号链接也叫做软连接,软连接要用的多。
2.2.4 配置网络 重点来了,以前我们在VMware中使用桥接,这需要保证Windows、Ubuntu、开发板三者互通,而很多人的电脑有多个网卡,这涉及的网络设置太复杂了。...2.2.4.2 设置NAT网络的端口映射 在NAT网络下,外面的设备无法看到Ubuntu,要想开发板能访问到Ubuntu,需要进行端口映射。 先关闭Ubuntu,再关闭VMware,才能设置。...这样,开发板访问Windows的这些端口时,才可以访问到Ubuntu。 先使用管理员身份运行“虚拟网络编辑器”,如下图所示: ?...注意:你可能突然碰到网络问题,可能是Ubuntu的ip变了,这就需要修改端口映射中的虚拟机IP。如下图所示: ? 修改好后,再去测试网络。...2.2.4.3 修改Ubuntu的mountd端口 在NAT网络下,要想开发板能通过NFS挂载Ubuntu,需要修改mountd端口为9999 如果你还不会用vi命令,可以在Ubuntu桌面启动终端,
文章目录 Linux嵌入式开发——shell脚本 一、shell脚本基本原则 二、shell脚本语法 2.1、编写shell脚本 2.2、交互式shell脚本 2.3、shell脚本的数值计算 2.4、...嵌入式开发——shell脚本 经过我们前面的学习,我们已经能够在终端中输入命令来完成一些常用的操作,但是都是一条一条地输入命令,如果需要执行的命令一旦多起来,就会很麻烦。...shell脚本提供数组、循环、条件判断的等功能,一般是Linux运维或者系统管理员要掌握的,但作为嵌入式开发人员,我们只需要掌握shell脚本最基础的部分即可。...但是我们看一下这个.sh文件的权限吧!...chmod 777 my.sh 接下来,我们来执行一下这个文件,看一下最后的输出结果是什么。我们可以看到,最后输出了我们的“hello world!”。
文章目录 Linux嵌入式开发——C编程 一、编写C程序 1.1、设置vim编辑器 1.2、编写C程序 二、编译C程序 三、make工具和Makefile文件 3.1、编写C程序 C文件 H文件 3.2...、不使用make工具 3.3、使用make工具和Makefile文件编译 Linux嵌入式开发——C编程 一、编写C程序 我们目前就是使用VIM编辑器编写程序,当然,也可以使用vscode,但是vscode...命令,我们看一下具体使用方法: gcc main.c -o main 值得我们注意的就是他的报错,我们需要进行了解!...我们在第四行的时候,没有把我们的 “\r\n”,放到引号内,我们看一下会产生什么效果。...,再次编译,便会将我们的源代码全部重新编译一下,前面说了,这样特别占用时间。
# 以root用户运行,非常不建议 sudo su 切换用户——su 一般配合sudo来使用,目前功能还不熟,等我去学习一下。...# 改名 mv b.txt a.txt # 移动 mv a.c test1/ 显示网络配置信息——ifconfig 显示一下网络信息,可以打开和关闭网卡,就是使用前可能要下载一下。...find -name a.c 查找内容——grep 这个主要用来查找内容,相当于我们windows下的查找操作。...df 打开文件——gedit 这个就是用来打开我们的文件,之后就能对文件进行编辑了。 gedit a.c 当前的系统进程查看——ps 这个用来查看系统进程,在嵌入式开发比较常用。...进程实时运行状态查看——top 有点像是windows下的资源管理器,能实时查看运行状态。 top 文件类型查看——file 就是用来查看文件类型,在嵌入式用的蛮多。
搭建开发环境的主要工作是:安装虚拟机、安装Windows开发工具。 学习嵌入式Linux时,各种程序比如Linux内核、你编写的驱动、应用,都需要在Linux机器下编译。...但是很多人习惯在Windows下编写文档、编写程序、聊微信。正所谓在Windows下生活,在Linux下工作。难道我们需要2台电脑,一台装Windows、另一台装Linux?不,我们可以用虚拟机。...无论是VMware还是Docker,都可以满足嵌入式Linux的学习与工作。...你不需要同时看VMware和Docker的章节,选择其中一个就可以。 2.1.2 安装Windows软件 选择、安装好虚拟机后,就要在Windows安装各种开发软件了。...注意:在Windows解压Linux内核源时有错误是正常的,因为Windows并不支持某些Linux特有的文件,并且Windows中文件名不区分大小写,当出现提示是否覆盖文件时,选择“是”。
《Yocto》 Yocto是我最近在学习的一个东西。 Yocto :一个开源协作项目,提供模板、工具和方法,帮助您为嵌入式产品创建定制的基于 Linux 的系统,而不管硬件架构如何。...《Buildroot》 Buildroot是我学习的第一个构建嵌入式系统的方式。 Buildroot:通过交叉编译生成嵌入式 Linux 系统的简单、高效且易于使用的工具。...优点: Buildroot 对简单性的关注意味着,更容易学习。核心构建系统用 Make 编写,并且足够短以便开发人员了解整个系统,同时可扩展到足以满足嵌入式Linux 开发人员的需求。...Buildroot 系统使用普通的 Makefile 和 Kconfig 语言来进行配置。Kconfig 由 Linux 内核社区开发,广泛用于开源项目,使得许多开发人员都熟悉它。...个人感想: 我在使用buildroot之前,我在学习嵌入式Linux是没有通过什么构建方法的,只是裸露的uboot,kernel,根文件系统。每一个都要自己去编译,创建。
Linux嵌入式Linux作为一个成熟的操作系统,也可以用于嵌入式系统。它提供了强大的多任务处理、网络支持等功能。...选择合适的操作系统并根据项目需求设计任务是嵌入式系统开发中的关键步骤。线程通过usleep函数进行简单的延时使用Linux嵌入式系统的简单多线程示例。...社区支持和生态系统选择嵌入式操作系统时,考虑到社区支持和生态系统的健康状况也是很重要的。FreeRTOS和Linux都有强大的社区支持和广泛的应用领域,因此在开发过程中能够获得更多的支持和资源。...FreeRTOS通常使用专门的交叉编译工具链,Linux嵌入式系统则可能需要使用更复杂的开发环境,如Yocto Project。...对于一些对实时性能要求不是很高的应用,Linux也可以考虑。开发者经验: 考虑团队成员的经验和熟悉程度。如果团队中有经验丰富的Linux开发者,选择Linux可能更容易上手。
文章目录 Linux嵌入式开发——Makefile基本语法 一、Makefile 规则格式 二、Makefile 变量 2.1、赋值符“=” 2.2、赋值符“:=” 2.3、赋值符“?...=” 2.4、变量追加“+=” 三、Makefile 模式规则 四、Makefile 自动化变量 五、Makefile 伪目标 Linux嵌入式开发——Makefile基本语法 接下来我们来详细介绍一下基本的...我们在来总结一下 Make 的执行过程: make 命令会在当前目录下查找以 Makefile命名的文件。...那我们就开始看一下如何使用,Makefile 中的变量吧!...2.1、赋值符“=” 我们首先看一下下面这段代码,大家猜一下他的输出值为多少。
Linux系统开发完全手册 第二版 2.1 安装Windows软件 2.1.1 这么多虚拟机,如何选择?...搭建开发环境的主要工作是:安装虚拟机、安装Windows开发工具。 学习嵌入式Linux时,各种程序比如Linux内核、你编写的驱动、应用,都需要在Linux机器下编译。...但是很多人习惯在Windows下编写文档、编写程序、聊微信。正所谓在Windows下生活,在Linux下工作。难道我们需要2台电脑,一台装Windows、另一台装Linux?不,我们可以用虚拟机。...无论是VMware还是Docker,都可以满足嵌入式Linux的学习与工作。...你不需要同时看VMware和Docker的章节,选择其中一个就可以。 2.1.2 安装Windows软件 选择、安装好虚拟机后,就要在Windows安装各种开发软件了。
1.2.1 嵌入式 Linux 开发有哪些内容? 嵌入式 Linux 系统,就相当于一套完整的 PC 软件系统。 ? Windows 为例: ① 电脑一开机,那些界面是谁显示的?...类似的,这个 BIOS 对应于嵌入式 Linux 里的 bootloader。 Bootloader 的作用就是去 Flash、SD 卡等设备上读入 Linux 内核,并启动它。...② Windows 系统必需的软件,比如 IE、文件浏览器等保存在哪里? 在 C 盘上,里面有各种系统软件。 对应的,系统运行必需的文件在 Linux 下我们称之为根文件系统。...嵌入式 Linux 能从 Flash 上读出并执行应用程序,肯定也得有 Flash 的驱动程序啊,当然也不仅仅是Flash。...同样的,嵌入式 Linux 系统中我们也有各种 APP,它们位于根文件系统上。
嵌入式Linux驱动开发——汇编点灯 本文章开始记录学习嵌入式Linux的过程,使用的开发板是正点原子的阿尔法,以及左老师的书籍和视频。...-g -c led.s -o led.o: arm-linux-gnueabihf-gcc:使用arm-linux-gnueabihf工具链中的gcc编译器。...kali@ubuntu:~/linux/driver/01_leds$ arm-linux-gnueabihf-gcc -g -c led.s -o led.o kali@ubuntu:~/linux/...arm-linux-gnueabihf-gcc -g -c led.s -o led.o:编译led.s文件为目标文件led.o,这里使用了arm-linux-gnueabihf工具链中的gcc编译器,...arm-linux-gnueabihf-objdump -D led.elf > led.dis:生成反汇编文件led.dis,这里使用了arm-linux-gnueabihf工具链中的objdump工具
大家好,又见面了,我是全栈君 在很多人的眼里,C语言和linux常常是分不开的。这其中的原因很多,其中最重要的一部分我认为是linux本身就是C语言的杰出作品。...当然,linux操作系统本身对C语言的支持也是相当到位的。...作为一个真正的程序员来说,如果没有在linux下面用C语言编写过完整的程序,那么只能说他对C语言本身的理解还相关肤浅,对系统本身的认识也不够到位。...如果还没有过Linux编程经验的朋友可以首先在自己的pc上面安装一个虚拟机,然后就可以在shell下面编写自己的C语言代码了。...如果一切正常的话,此时你应该会在屏幕上看到一行hello的打印。如果你看到了,那么恭喜你,你已经可以开始linux的c语言编程之旅了。 当然,我们不会满足于这么简单的打印功能。
一、jdk的安装 1、复制jdk至安装目录,我们指定的安装目录是:/usr/local/java 。...可是系统安装后在/usr/local下并没有java目录,这需要我们去创建一个java文件夹,如图 ? .../startup.sh 再打开浏览器测试一下,输入http:localhost:8080,看有没有那个猫的页面出来,有的话就说明安装成功了 三、eclipse的安装 解压,gunzip eclipse-java-juno-SR2...-linux-gtk.tar.gz 安装 tar -xvf eclipse-java-juno-SR2-linux-gtk.tar -C /opt 然后去图形界面进入/opt/eclipse
但是这离最终的目标还远。最近想再坚持坚持,继续完善一点儿。 最终目标是能够实现一电脑上运行的模拟pos机和仅更改下配置就能自由切换运行在嵌入式硬件上的完整功能的pos。...颠覆传统的模式,解决传统模式升级难,维护难,日志分析难,移植难,复用难,开发效率低等诸多问题。随着网络的发达,终端上的业务一定是越来越轻量的,后台服务越来越重量的模式。...因为基于服务和云的方式,才能更大限度的复用和提高效率。它符合一个定律,符合用更少的能量传递、处理和存储更多信息这个商业发展的轴心趋势。...这场AIoT全面革命才刚刚开始,格局未定、玩家众多,在这片新兴的蓝海市场中,还将上演无数场精彩的战役。 这样的思路是可行的,我之前做的电脑上的模拟pos机,就是这个思路。...逐步把一些可以复用的东西挪动到后台实现,逐步的终端成为了一个只负责诸如显示,语音提示和操作卡片和扫码的媒介。功能都在后台,在云上实现以服务的形式呈现。
领取专属 10元无门槛券
手把手带您无忧上云