自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(109)
  • 收藏
  • 关注

原创 广州Linux应用开发荒?

这篇博客主要是想吐一吐我的苦水,在广州绝大部分工作基本上是qt上位机开发,以及单片机开发工作,Linux应用方面的工作确实少,本人确实有涉猎,奈何qt没有什么项目经验,从事这一行也有两年时间,期间换了两份工作,声明一点不是本人主观原因想要离开公司,奈何公司种种原因。如何看见的各位有合适的工作也可以私聊我,也欢迎大家在评论区发表自己的看法,本人会看的。

2024-02-21 16:40:45 114

原创 在 LCD 上显示字符

FreeType一个完全免费(开源)的软件字体引擎库,设计小巧、高效、高度可定制且可移植,它提供了 统一的接口来访问多种不同格式的字体文件。它提供了一个简单、易于使用且统一的接口来访问字体文件 的内容,从而大大简化了这些任务。请注意,“FreeType”也称为“FreeType 2”,以区别于旧的、已弃用的“FreeType 1”库,Freetype 1库已经不再维护和支持了。

2024-02-02 17:46:04 734

原创 FrameBuffer 应用编程

Frame是帧的意思,buffer是缓冲的意思,所以就是帧缓冲,这意味着就是一 块内存,里面保存着一帧图像。帧缓冲(framebuffer)是Linux系统中的一种显示驱动接口,它将显示设备 譬如 LCD)进行抽象、屏蔽了不同显示设备硬件的实现,对应用层抽象为一块显示内存(显存),它允 许上层应用程序直接对显示缓冲区进行读写操作,而用户不必关心物理显存的位置等具体细节,这些都由 Framebuffer 设备驱动来完成。所以在Linux系统中,显示设备被称为设备(帧缓冲设备),所以。

2024-02-02 16:31:16 754

原创 使用tslib库

tslib是专门为触摸屏设备所开发的Linux应用层函数库,并且是开源,也就意味着我们可以直接获取到 tslib 的源代码,下一小节将向大家介绍如何获取到tslib的源代码。tslib为触摸屏驱动和应用层之间的适配层,它把应用程序中读取触摸屏类型数据(这 是输入设备上报给应用层的原始数据)并进行解析的操作过程进行了封装,向使用者提供了封装好的 API接 口。tslib。

2024-01-31 22:43:58 666

原创 移植 Debian 文件系统

我们直接从Linaro公司官方网站去获取Debian文件系统(Linaro公司制作的文件系统比较优秀)。我们直接在他们的官方网站下载最新的Debian文件系统镜像即可。下面贴出下载地址。复制到浏览器再打开,然后选择最近的镜像来下来即可。如下图,点击latest。右击后缀名为tar.gz的文件,选择为使用迅雷下载。未装迅雷软件的用户,请自行安装。因为用迅雷软件下载会稍快一些,这是作者体验过的。因为是国外开源网站,下载速度比较慢,使用迅雷下载大概有每秒。等待下载完成即可。

2024-01-30 18:58:36 1042

原创 ubuntu-base系统移植

Ubuntu 的移植非常简单,不需要我们编译任何东西,因为 Ubuntu 官方已经将根文件系统 制作好了!我们只需要简单配置一下 Ubuntu 官方提供的 base 根文件系统,使其在我们的开发 板上跑起来即可。因此我们首先需要下载 Ubuntu-base,为了和我们的教程一致,本章我们移植 Ubuntu 16.04 版本根文件系统,有兴趣的可以移植其他版本的 Ubuntu 内核,比如 18.04。

2024-01-30 17:25:12 1154

原创 dts语法介绍

和C语言一样,设备树也支持头文件,设备树的头文件扩展名为.dtsi。在emmc.dts中有如下所示内容:12#includedtbindingsinputinputh13#include.dts文件引用C语言中的.h文件,甚至也可以引用.dts文 件,打开 imx6ull-14x14-evk-gpmi-weim.dts这个文件,此文件中有如下内容:9#include因此在.dts设备树文件中,可以通过 “#include”来引用.h.dtsi和。

2024-01-25 17:26:35 1027

原创 构建 Yocto 根文件系统

特别说明,正点原子I.MX6U出厂系统就由Yocto 编译出来的,不建议读者重复编译 Yocto,重复造轮子,因为编译Yocto是非常困难的!Yocto项目需要用到Git(用Git作版本控制)。如果您已经有安装过git并且已经设置过本地用户git信息就跳过此小节。配置Git用户名,输入个人用户名//输入email地址git config --list // 查看个人配置的信息。

2024-01-20 14:34:08 977

原创 U-Boot 图形化配置及其原理

顾名思义mainmenu就是主菜单,也就是输入“”以后打开的默认界面,在顶层Kconfig中有如下代码:5mainmenu上述代码就是定义了一个名为“”的主菜单,其中,因此主菜单名为“”,如图34.2.2.1所。

2024-01-19 16:54:01 863

原创 uboot移植

添 加 的 mx6ull_alientek_emmc.h 这个头文件有没有被引用。的某些功能,那就在 mx6ull_alientek_emmc.h 里面做修改即可。修改文件 arch/arm/cpu/armv7/mx6/Kconfig(如果用的。./imxdownload u-boot.bin /dev/sdd //烧写到。”开头 的宏定义,这也说明 mx6ull_alientek_emmc.h。宏即可,如果不需要某个功能的 话就删除掉对应的宏即可。当我们明确知道我们所使用的板子的时候就可以大幅简化宏。

2024-01-19 16:12:00 837

原创 Linux内核编译以及移植

版本号示例代码 35.5.1 顶层 Makefile 代码段1VERSION42PATCHLEVEL13SUBLEVEL1543.2MAKEFLAGS变量示例代码 35.5.2 顶层 Makefile 代码段16MAKEFLAGS+= -rR--includedirCURDIR3.3、命令输出Linux编译的时候也可以通过“V=1”来输出完整的命令,这个和uboot一样,相关代码如下所示;示例代码 35.5.3 顶层 Makefile 代码段69ifeq70V。

2024-01-19 00:57:20 381

原创 Buildroot 根文件系统构建

cp ../../IMX6ULL/tool/buildroot-2019.02.6/output/images/rootfs.tar ./ //拷贝到。此配置项用于配置交叉编译工具链,也就是交叉编译器,这里设置为我们自己所使用的交。我们使用构建的根文件系统启动以后会发现,输入命令的时候命令行前面一直都是“#编译的时候会先从网上下载所需的软件源码,有些软件源码可能下载不下来,这。:设置交叉编译器前缀,要根据自己实际所使用的交叉编译器来设置,比。其实是可以自动下载交叉编译器的,但是都是从国外服务器下载的,

2024-01-16 17:35:51 971

原创 sd卡烧录U-Boot和Linux内核镜像,设备树以及根文件系统

首先查看设备的挂载情况df -l有挂载的设备的话取消挂载再次查看系统设备情况执行分区命令:p #输入p查看分区d #输入d删除原有分区d #输入d确认分区是否删除成功n #输入n创建新分区p #输入p选择分区空间输入分区数字输入一个地址 16384+3Gw #输入w保存分区查看刚才的分区情况sudo lsblk。

2024-01-16 14:28:54 989

原创 busybox根文件系统构建

根文件系统里面就是一堆的可执行文件和其他文件组成的?难道我们得一个一个的从网上去下载这些文件?显然这是不现实的!那么有没有人或者组织专门干这个事呢?他们负责“收集”这些文件,然后将其打包,像我们这样的开发者可以直接拿来用。答案是有的,它就叫做BusyBox!其名字分为“Busy”和“Box”,也就是忙碌的盒子。盒子是用来放东西的,忙碌的是因为它要提供根文件系统所需的文件,所以忙碌。BusyBox是一个集成了大量的Linux命令和工具的软件,像lsmvifconfig。

2024-01-15 18:39:03 848

原创 正点原子imx6ull——emmc之U-Boot烧写编译更新

Linux系统要启动就必须需要一个bootloader程序,也就说芯片上电以后先运行一段bootloader程序。这段bootloader程序会先初始化DDR等外设,然后将Linux内核从flash(NAND,NOR FLASH,SD,MMC 等)拷贝到 DDR 中,最后启动 Linux 内核。当然了,bootloader的实际工作要复杂的多,但是它最主要的工作就是启动 Linux 内核bootloader和Linux内核的关系就跟PC上的BIOS和。

2024-01-14 18:04:30 1304

原创 汇编语言介绍

汇编更接近机器语言,能够直接对硬件进行操作(例如堆栈的初始化),生成的程序与其他的 语言相比具有更高的运行速度,占用更小的内存,因此在一些对于时效性要求很高的程序、许多大型 程序的核心模块以及工业控制方面大量应用。但是汇编也有很明显的缺点,移植性很差,不同芯片的 汇编指令格式各不一样。寄存器就当做是芯片提供给我们的全局32位变量r0~r15,但是能够给我们使用的话r0~r12,r13 用于存储堆栈指针,r14用于存储子程序的返回地址,r15用于记录当前程序的执行位置。.出栈(恢复现场)和压栈(保护现场)

2024-01-04 17:00:29 319

原创 stm32SPI和w25q128

stm32SPIw25q128

2023-04-03 16:54:00 696 1

原创 Stm32ADC和RS485

Stm32ADC和RS485

2023-04-03 16:38:46 583

原创 stm32iic和at24c02

stm32iic和at24c02

2023-04-03 16:25:13 266

原创 stm32独立看门狗和rtc闹钟

stm32独立看门狗和rtc闹钟

2023-04-03 16:05:48 2457

原创 stm32dht11和红外遥控器

stm32dht11和红外遥控器

2023-04-03 15:47:20 147

原创 stm32蓝牙模块和超声波测距模块

stm32蓝牙模块和超声波测距模块

2023-04-03 10:32:58 1279

原创 stm32uart

stm32uart

2023-04-03 10:09:09 547

原创 stm32pwm

stm32pwm

2023-04-01 17:48:28 170

原创 stm32定时器

stm32滴答定时器和time

2023-04-01 16:52:16 234

原创 stm32库函数开发led等

stm32库函数开发led、key

2023-04-01 16:23:24 375

原创 stm32寄存器开发led

stm32寄存器操作led

2023-04-01 15:38:07 157

原创 J-Link配置步骤

j-link配置步骤

2023-04-01 15:27:27 2090

原创 stm32命名规则

stm32命名规则

2023-04-01 15:24:21 78

原创 stm32工程命名步骤

stm32工程命名步骤

2023-04-01 15:22:46 100

原创 认识是stm32

认识stm32以及安装环境

2023-04-01 15:10:21 51

原创 正则表达式-awk和sed两个工具的使用

正则表达式-awk和sed两个工具的使用

2023-03-30 11:04:21 1038

原创 shell的基本语法

shell的基本语法

2023-03-30 10:43:45 80

原创 Linux下线程池

Linux下线程池

2023-03-29 15:21:46 45

原创 linux下线程的同步与互斥-信号量

linux下线程的同步与互斥-信号量

2023-03-29 14:32:14 99

原创 linux下线程的同步与互斥-条件变量

linux下线程的同步与互斥-条件变量

2023-03-29 14:21:04 67

原创 linux下线程的同步与互斥-互斥锁

linux下线程的同步与互斥-互斥锁

2023-03-29 14:10:57 96

原创 Linux下线程的属性设置

Linux下线程的属性设置

2023-03-29 11:51:33 157

原创 linux下线程有关的概念

linux下线程有关的概念

2023-03-29 11:43:44 32

原创 Linux下进程间通讯-信号量(信号灯)

Linux下进程间通讯-信号量(信号灯)

2023-03-29 11:17:56 114

jlink固件下载工具

jlink固件下载工具

2023-03-07

Linux基础,对新手很友好,介绍的很详细

Linux基础,对新手很友好,介绍的很详细

2023-02-20

alsa的核心支持库、alsa的工具库

alsa的核心支持库、alsa的工具库,实现录音和播放的功能

2023-02-20

qt串口操作,读取rfid, alsa库的使用与播放,Qt中的文字转语音

qt读取串口,rfid, alsa库的使用与播放,Qt中的文字转语音。

2023-02-20

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除