- 博客(120)
- 收藏
- 关注
原创 使用libmpg123加alsa实现MP3的播放/暂停,切换,模式选择,C语言5
使用libmpg123加alsa实现MP3的播放/暂停,切换,模式选择,C语言
2024-09-14 10:05:11
320
原创 使用buildroot构建ffmpeg,带有ffplay,能够播放音乐和视频
使用buildroot构建ffmpeg,带有ffplay,能够播放音乐和视频
2024-09-13 16:30:31
1256
原创 使用ffmpeg库加上alsa库使用mp3音乐的播放/暂停,切换,歌曲模式选择2
使用ffmpeg库加上alsa库使用mp3音乐的播放/暂停,切换,歌曲模式选择
2024-09-11 16:37:19
366
原创 使用ffmpeg库加上alsa库使用mp3音乐的播放/暂停,切换,歌曲模式选择1
使用ffmpeg库加上alsa库使用mp3音乐的播放/暂停,切换,歌曲模式选择
2024-09-11 16:29:58
405
原创 使用libmpg123加alsa实现MP3的播放/暂停,切换,模式选择,C语言4
使用libmpg123加alsa实现MP3的播放/暂停,切换,模式选择
2024-09-11 16:20:34
406
原创 使用libmpg123加alsa实现MP3的播放/暂停,切换,模式选择,C语言3
使用libmpg123加alsa实现MP3的播放/暂停,切换,模式选择,C语言3
2024-09-07 17:53:27
640
1
原创 在 LCD 上显示字符
FreeType一个完全免费(开源)的软件字体引擎库,设计小巧、高效、高度可定制且可移植,它提供了 统一的接口来访问多种不同格式的字体文件。它提供了一个简单、易于使用且统一的接口来访问字体文件 的内容,从而大大简化了这些任务。请注意,“FreeType”也称为“FreeType 2”,以区别于旧的、已弃用的“FreeType 1”库,Freetype 1库已经不再维护和支持了。
2024-02-02 17:46:04
1062
原创 FrameBuffer 应用编程
Frame是帧的意思,buffer是缓冲的意思,所以就是帧缓冲,这意味着就是一 块内存,里面保存着一帧图像。帧缓冲(framebuffer)是Linux系统中的一种显示驱动接口,它将显示设备 譬如 LCD)进行抽象、屏蔽了不同显示设备硬件的实现,对应用层抽象为一块显示内存(显存),它允 许上层应用程序直接对显示缓冲区进行读写操作,而用户不必关心物理显存的位置等具体细节,这些都由 Framebuffer 设备驱动来完成。所以在Linux系统中,显示设备被称为设备(帧缓冲设备),所以。
2024-02-02 16:31:16
847
原创 使用tslib库
tslib是专门为触摸屏设备所开发的Linux应用层函数库,并且是开源,也就意味着我们可以直接获取到 tslib 的源代码,下一小节将向大家介绍如何获取到tslib的源代码。tslib为触摸屏驱动和应用层之间的适配层,它把应用程序中读取触摸屏类型数据(这 是输入设备上报给应用层的原始数据)并进行解析的操作过程进行了封装,向使用者提供了封装好的 API接 口。tslib。
2024-01-31 22:43:58
990
原创 移植 Debian 文件系统
我们直接从Linaro公司官方网站去获取Debian文件系统(Linaro公司制作的文件系统比较优秀)。我们直接在他们的官方网站下载最新的Debian文件系统镜像即可。下面贴出下载地址。复制到浏览器再打开,然后选择最近的镜像来下来即可。如下图,点击latest。右击后缀名为tar.gz的文件,选择为使用迅雷下载。未装迅雷软件的用户,请自行安装。因为用迅雷软件下载会稍快一些,这是作者体验过的。因为是国外开源网站,下载速度比较慢,使用迅雷下载大概有每秒。等待下载完成即可。
2024-01-30 18:58:36
1491
原创 ubuntu-base系统移植
Ubuntu 的移植非常简单,不需要我们编译任何东西,因为 Ubuntu 官方已经将根文件系统 制作好了!我们只需要简单配置一下 Ubuntu 官方提供的 base 根文件系统,使其在我们的开发 板上跑起来即可。因此我们首先需要下载 Ubuntu-base,为了和我们的教程一致,本章我们移植 Ubuntu 16.04 版本根文件系统,有兴趣的可以移植其他版本的 Ubuntu 内核,比如 18.04。
2024-01-30 17:25:12
1961
1
原创 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
1522
原创 构建 Yocto 根文件系统
特别说明,正点原子I.MX6U出厂系统就由Yocto 编译出来的,不建议读者重复编译 Yocto,重复造轮子,因为编译Yocto是非常困难的!Yocto项目需要用到Git(用Git作版本控制)。如果您已经有安装过git并且已经设置过本地用户git信息就跳过此小节。配置Git用户名,输入个人用户名//输入email地址git config --list // 查看个人配置的信息。
2024-01-20 14:34:08
1595
原创 U-Boot 图形化配置及其原理
顾名思义mainmenu就是主菜单,也就是输入“”以后打开的默认界面,在顶层Kconfig中有如下代码:5mainmenu上述代码就是定义了一个名为“”的主菜单,其中,因此主菜单名为“”,如图34.2.2.1所。
2024-01-19 16:54:01
1095
原创 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
1209
原创 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
834
原创 Buildroot 根文件系统构建
cp ../../IMX6ULL/tool/buildroot-2019.02.6/output/images/rootfs.tar ./ //拷贝到。此配置项用于配置交叉编译工具链,也就是交叉编译器,这里设置为我们自己所使用的交。我们使用构建的根文件系统启动以后会发现,输入命令的时候命令行前面一直都是“#编译的时候会先从网上下载所需的软件源码,有些软件源码可能下载不下来,这。:设置交叉编译器前缀,要根据自己实际所使用的交叉编译器来设置,比。其实是可以自动下载交叉编译器的,但是都是从国外服务器下载的,
2024-01-16 17:35:51
2008
原创 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
1746
原创 busybox根文件系统构建
根文件系统里面就是一堆的可执行文件和其他文件组成的?难道我们得一个一个的从网上去下载这些文件?显然这是不现实的!那么有没有人或者组织专门干这个事呢?他们负责“收集”这些文件,然后将其打包,像我们这样的开发者可以直接拿来用。答案是有的,它就叫做BusyBox!其名字分为“Busy”和“Box”,也就是忙碌的盒子。盒子是用来放东西的,忙碌的是因为它要提供根文件系统所需的文件,所以忙碌。BusyBox是一个集成了大量的Linux命令和工具的软件,像lsmvifconfig。
2024-01-15 18:39:03
1741
原创 正点原子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
2459
原创 汇编语言介绍
汇编更接近机器语言,能够直接对硬件进行操作(例如堆栈的初始化),生成的程序与其他的 语言相比具有更高的运行速度,占用更小的内存,因此在一些对于时效性要求很高的程序、许多大型 程序的核心模块以及工业控制方面大量应用。但是汇编也有很明显的缺点,移植性很差,不同芯片的 汇编指令格式各不一样。寄存器就当做是芯片提供给我们的全局32位变量r0~r15,但是能够给我们使用的话r0~r12,r13 用于存储堆栈指针,r14用于存储子程序的返回地址,r15用于记录当前程序的执行位置。.出栈(恢复现场)和压栈(保护现场)
2024-01-04 17:00:29
378
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人