自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【已解决】Makefile—warning: libxxx.so* needed by libxxx.so* not found (try using -rpath or -rpath-link)

继之前的博客解决交叉编译libpng、zlib和freetype遇到的问题后,执行应用程序的Makefile进行编译生成可执行程序。但在执行Makefile后没有编程成功,出现了warning警告信息:warning: libxxx.so* needed by libxxx.so* not found (try using -rpath or -rpath-link)

2023-12-05 01:53:43 3205

原创 【已解决】交叉编译freetype第三方库报错../arm-linux-gnueabihf/bin/ld: cannot find -lz/cannot find -lpng

继上一篇博客解决交叉编译libpng和zlib过程遇到的问题后,接下来就是对libpng和zlib存在依赖的freetype进行交叉编译,在执行./configure配置选项后成功生成Makefile, 但在执行Makefile后却出现了报错:

2023-12-04 17:13:56 998

原创 【已解决】交叉编译libpng第三方库报错 “configure: error: zlib not installed”

在首先编译完zlib第三方库后,交叉编译libpng第三方库却报错 “configure: error: zlib not installed”,但是zlib确实已经安装好了啊,为什么报错说没有安装呢?很疑惑?

2023-12-04 15:33:40 1607 3

原创 【已解决】Makefile编译openlldp源码程序包出现multiple definition of

项目需要安装openlldp软件包,在网上下载了源码包进行编译安装,前面./configure生成Makefile很顺利,但是下一步make就报错了,居然显示multiple definition of ,这种报错只在自己编写的C程序中出现过,没想到软件源码包也会有这种问题???

2023-08-16 14:22:13 287

原创 Ubuntu initramfs映像文件的解压 和 打包

Initramfs(Initial RAM File System)是Linux系统中的一个临时文件系统,用于在系统引导过程中提供必要的文件和工具。它被加载到内存中,并在系统引导过程的早期阶段使用。Initramfs包含了用于处理器微代码更新的.bin文件,以及真正的根文件系统。在系统引导过程中,initramfs会被挂载为根文件系统,并执行一系列初始化和准备工作,包括硬件初始化、加载驱动程序、检测和挂载根文件系统等。

2023-08-05 23:41:16 1754 2

原创 【OS裁剪】Linux文件裁剪

OS裁剪的文件部分裁剪笔记,关于进展和疑惑

2023-07-18 19:28:29 531 1

原创 C++手撕LeetCode——双指针(滑动窗口)

滑动窗口法是一种常用的算法技巧,它通常用于数组或字符串的遍历,以及子串或子序列的搜索等问题。该算法的基本思想是维护一个滑动窗口,每次移动窗口,通过更新窗口的左右边界,来得到新的结果

2023-04-10 01:36:50 184

原创 C++手撕LeetCode——二叉树遍历(BFS层序遍历)

BFS算法的优点是找到的路径一定是最短路径,缺点是空间复杂度较高,因为需要保存所有已经访问过的节点。此外,在面对大规模的图时,BFS算法可能会陷入无限循环,因为搜索过程需要访问所有可达节点,有两大应用场景:「层序遍历」、「最短路径」

2023-04-10 00:24:18 393

原创 C++手撕 ACM——换座位-桌椅高度(取模运算)

大厂笔试编程真题:最近发现有些笔试中的编程题或者面试中的手撕算法是ACM模式的,即代码中需要包含输入和输出的操作者,所以也借一个大厂的笔试真题练习以下这种模式下的刷题

2023-04-09 15:11:57 609

原创 C++手撕LeetCode——二叉树递归(根据前中后序构造)

递归是一种算法或函数的设计技巧,通过在函数定义中调用自身来解决问题。在数据结构与算法中,递归通常用于解决可分解为多个相似子问题的问题。递归算法通常包含两部分:基本情况和递归情况。基本情况是递归的出口,即在问题可以直接解决或不需要递归时的情况。递归情况则是指通过将问题分解成更小的子问题,并将子问题递归地解决来解决原始问题的情况

2023-04-05 00:41:32 213

原创 【Linux移植第三方库找不到头文件/库文件的解决办法】

在做一个Linux应用开发项目时需要移植第三方库:freetype、tslib、libpng等,在Ubuntu上编写应用程序,需要先手工交叉编译这些库软件,但在最终交叉编译应用程序时,总是出现找不到头文件和库文件的报错情况,这就涉及到Linux开发中程序运行的一些基础知识

2023-03-24 21:47:48 1433

原创 Linux驱动开发之【Platform总线驱动模型】

自内核2.6版本开始,需要关注的是总线、设备和驱动这3个实体:总线将设备和驱动绑定。在Linux内核系统中注册一个设备的时候,会寻找与之对应驱动进行匹配;相反地,系统中注册一个驱动的时候,会去寻找一个对应的设备进行匹配。匹配的的工作由总线来完成。在Linux设备中有的是没有对应的物理总线的,但为了适配Linux的总线模型,内核针对这种没有物理总线的设备开发了一种虚拟总线--platform总线

2023-03-19 15:37:07 892

原创 Linux驱动开发之【MISC驱动】

misc 的意思是混合、杂项的,因此 MISC 驱动也叫做杂项驱动,也就是当我们板子上的某些外设无法进行分类的时候就可以使用 MISC 驱动。MISC 驱动其实就是最简单的字符设备驱动,通常嵌套在 platform 总线驱动中,实现复杂的驱动

2023-03-19 13:42:17 275

原创 Linux系统编程之【阻塞和非阻塞IO】

阻塞和非阻塞 IO 是 Linux 驱动开发里面很常见的两种设备访问模式

2023-03-19 11:25:01 237

原创 Linux驱动开发之【pinctrl和gpio子系统】

Linux 是一个庞大而完善的系统,尤其是驱动框架,像 GPIO 这种最基本的驱动不可能采用“原始”的裸机驱动开发方式。Linux 内核提供了 pinctrl 和 gpio 子系统用于GPIO 驱动,Linux 驱动讲究驱动分离与分层,pinctrl 和 gpio 子系统就是驱动分离与分层思想下的产物要先设置某个 PIN 的复用功能、速度、上下拉等,然后再设置 PIN 所对应的 GPIO。其实对于大多数的 32 位 SOC 而言,引脚的设置基本都是这两方面,因此 Linux 内核针对 PIN 的配置

2023-03-17 15:37:26 1287

原创 Linux多进程/线程编程之【fork()和exec()】

在多进程中fork()和exec()通常是结合起来一起使用,在多线程中,通常不建议使用fork()和exec()

2023-03-17 14:27:45 2877

原创 Linux网络通信之【Socket编程】

套接字(socket)是 Linux 下的一种进程间通信机制(socket IPC),socket 是应用层与 TCP/IP 协议通信的中间软件抽象层,它是一组接口,还是一个标准BSD socket,能在不同平台很方便移植SocketTCP/IP协议族包括运输层、网络层、链路层,而socket所在位置如图,Socket是应用层与TCP/IP协议族通信的中间软件抽象层。

2023-03-15 22:52:23 751

原创 Linux系统编程之【多线程同步】

线程同步——为什么需要线程同步?每个线程都是系统调用的基本单元,参与到系统调度队列中;对于多个线程间的共享资源,并发执行会导致对共享资源的并发访问,并发访问所带来的问题就是竞争,并发访问就可能会出现数据一致性问题

2023-03-15 20:20:37 320

原创 数据结构之【环形缓冲区buffer】

环形缓冲区是一个先进先出(FIFO)的闭环存储空间,用于表示一个固定尺寸、头尾相连的缓冲区的数据结构,适合缓存数据流,在内存用尽后,剩余未存的数据从这段内存的起始位置开始存放,适用于多线程、多进程和网络IO的数据处理,一个读一个写,反复使用内存,降低空间复杂度。

2023-03-15 18:05:26 1734

原创 【基于IMX6ULL开发板开机摄像头的自启动】

首先基于正点原子IMX6ULL开发板移植摄像头模块,配置启动文件实现开发板开机摄像头的自启动,后续再进行内核调试,优化开机`

2023-03-12 17:51:20 1349 2

原创 关于IMX6ULL挂载内核失败解决办法(2)Retry count exceeded; starting again

关于IMX6ULL挂载内核失败解决办法(tftp下载内核超时出错:Retry count exceeded; starting again)

2023-02-27 23:05:32 839

原创 关于IMX6ULL挂载内核失败解决办法(1)Retry count exceeded; starting again

关于IMX6ULL挂载内核失败解决办法(tftp下载内核超时出错:Retry count exceeded; starting again)

2023-02-23 23:48:17 613

原创 C++手撕LeetCode——双指针(相对位置不变)

双指针法即通过一个快指针和慢指针在一个for循环下完成两个for循环的工作。在数组和链表的操作中是非常常见的,很多考察数组、链表、字符串等操作的面试题,都使用双指针法,可降低算法时间复杂度和保持元素相对位置不变

2023-02-13 23:02:14 204

原创 Linux驱动框架学习——I2C驱动体系

Linux系统定义了I2C驱动体系结构,将I2C驱动分为三部分:I2C核心、I2C总线驱动和I2C设备驱动

2023-02-10 22:45:36 884 1

空空如也

空空如也

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

TA关注的人

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