自定义博客皮肤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)
  • 收藏
  • 关注

原创 全志A33资料分享及开发笔记:搭建交叉编译环境

本文记录了博主在构建A33-vstar开发板镜像过程中遇到的交叉编译环境问题及解决方案。主要问题是由于交叉编译器环境变量未正确设置导致的"ERROR: build kernel Failed"错误,解决方法是在build.sh脚本中添加环境变量配置。文章还分享了开发板资料获取方式,并指出后续编译可参考官方文档。此外提到可能遇到的"fakeroot"命令缺失问题,可通过apt安装解决。整个过程重点解决了环境搭建这一关键难点,为开发者提供了实用参考。

2025-07-19 00:08:09 469

原创 A33-vstar报错记录:ERROR: build kernel Failed

解决"ERROR: build kernel Failed"问题 摘要:在编译Linux内核时遇到"ERROR: build kernel Failed"错误,经排查发现是在编译lcd.ko模块后出现。通过grep命令定位到错误源自buildroot/scripts/mkcmd.sh文件的362行,该处执行scripts/build.sh脚本。进一步分析发现根本原因是缺少交叉编译工具链arm-linux-gnueabi-gcc。解决方法是在环境变量中正确设置交叉编译工

2025-07-19 00:05:07 412

原创 qtcreator导入帮助文档

qtcreator默认都会自动在系统中找到帮助文档,但是难免会有意外,或者自己有手动导入的需求;还有就是我比较笨,发这篇博客记录一下。

2025-05-12 19:23:15 396

原创 Ubunutu22.04的qtcreator点击帮助卡死/点击桌面快捷文件卡死

今天在使qtcreator的时候,想要去qt的帮助查看文档,但是点击后发现卡死,因为我是ubuntu22.04,qt5.15是通过apt安装的,可以在终端输入qtcreator打开,但是这时候是可以打开帮助查看文档的,我之前有创建了一个qtcreator的桌面文件,双击这个桌面文件打开帮助就会卡死,但是如果在桌面路径的终端环境下运行桌面文件就没问题是整个电脑卡死,连微信截图都用不了。

2025-05-12 19:10:46 423

原创 淘宝19块钱激光雷达SDK转ROS2架构

在淘宝购买了一款价格实惠的雷达设备,商家提供了SDK。为了将其集成到ROS2架构中,我对SDK进行了转换,并编写了相应的例程。这些例程已上传至GitHub,供其他开发者参考和使用。项目地址为:https://github.com/qin343531/D2A_Lidar。通过这一过程,我成功地将廉价雷达设备与ROS2系统结合,为后续的机器人或自动驾驶项目提供了基础支持。

2025-05-11 16:47:39 271

原创 Ubuntu22.04安装显卡驱动/卸载显卡驱动

在尝试解决nvidia-smi报错“Failed to initialize NVML: Driver/library version mismatch”问题时,用户发现安装了多个版本的NVIDIA驱动(535、550、560)均无法解决问题。为避免进一步损坏系统环境,用户决定卸载现有显卡驱动并重新安装系统推荐的默认版本。首先,用户通过dpkg -l | grep nvidia查看已安装的驱动,并使用sudo apt-get purge 'nvidia-*'等命令彻底卸载。接着,用户安装了apt-fast工

2025-05-10 21:10:49 1213

原创 Ubuntu22.04新版本谷歌无法使用搜狗输入法/中文不显示

今天更新了一下谷歌浏览器,发现输入法无法使用,但是其他地方可以正常使用,之前系统软件更新就吃过亏了,最后只能重装系统,我也明白了ubuntu22.04不能随便更新软件,否则就会出现各种兼容问题,还好这次只是谷歌浏览器,通过更新后版本为,接下来只需要下载之前的版本即可。

2025-04-23 15:59:38 5921 14

原创 笔记:IMX6ULL Mini板-linux内核自带LED驱动使能实验

本节我们尝试直接使能linux内核自带的LED灯驱动。

2024-12-06 15:08:27 598

原创 笔记:IMX6ULL Mini板-有设备树platform驱动注册实验

有设备树的时候设备是由设备树描述的,因此不需要向总线注册设备,而是直接修改设备树,然后编写驱动,之前在设备树的时候就定义好了一个gpioled节点,直接可以跳过修改设备树,直接写驱动。

2024-12-06 15:05:21 671

原创 笔记:IMX6ULL Mini板-无设备树platform驱动注册实验

上一节我们学习了无设备树platform设备注册实验,接下来我们就要驱动了。

2024-12-05 23:37:35 594

原创 笔记:IMX6ULL Mini板-无设备树platform设备注册实验

总而言之,platform就是用于管理和驱动硬件设备的一种机制,可以处理一些没有标准接口的设备,使其能够被正确初始化和使用,也因此可以使得linux内核支持不同的硬件平台。

2024-12-05 23:35:53 494

原创 笔记:IMX6ULL Mini板-阻塞式IO实验

上一节中,不管是中断按键实验,还是用了上半部和下半部的驱动实验,对CPU的利用率都很高,占有了CPU大量资源,这节就学习IO的阻塞式写法,减少按键对CPU的占有率今天我们实验两种方法,一种是等待事件,一种是等待队列我们先实验等待事件的方法。

2024-12-04 17:43:31 312

原创 笔记:IMX6ULL Mini板-中断下半部处理函数

首先在key结构体中定义tasklet变量/* key结构体 */int gpio;/* io编号 */int irqnum;/* 中断号 *//* 键值 *//* 名字 *//* 中断处理函数 */处理函数就是处理中断成功后的内容了/* 定时器消抖 *//* 10ms定时 *//* key结构体 */int gpio;/* io编号 */int irqnum;/* 中断号 *//* 键值 *//* 名字 *//* 中断处理函数 *//* 工作队列 */

2024-12-04 17:42:17 383

原创 笔记:IMX6ULL Mini板-按键中断实验

genirq: Flags mismatch irq 47. 00000003 (KEY0) vs. 00000083 (USER-KEY1)irq 47 request failed: ------------[ cut here ]------------WARNING: CPU: 0 PID: 73 at kernel/irq/manage.c:1346 __free_irq+0xa8/0x1f8()Trying to free already-free IRQ 47Modules link

2024-12-03 12:00:30 763 1

原创 笔记:IMX6ULL Mini板-按键中断消抖实验

* 定时器处理函数 */

2024-12-03 11:57:33 402

原创 笔记:IMX6ULL Mini板-基于pinctrl和gpio子系统编写驱动代码点灯

在嵌入式系统中,每一个引脚都可能会被用作不同的接口(GPIO、UART、PWM、I2C、PWM、ADC等),为了高效、灵活的使用这些引脚,系统就引出了一种机制动态配置每个引脚的功能和电气特性。于是pinctrl和gpio子系统就出现了。

2024-11-30 15:30:13 1907

原创 报错:linux内核多个yylloc定义multiple definition of `yylloc‘; scripts/dtc/dtc-lexer.lex.o:(.bss+0x0):

这条规则的作用是 make 在清理时需要删除 dtc-lexer.lex.c、dtc-parser.tab.c 和 dtc-parser.tab.h 这三个自动生成的文件。删掉dtc-lexer.lex.c,让它不要清理这个文件。于是我开始对其中一个文件进行修改,我在dtc-lexer.lex.c对yylloc进行了修改。原因是因为dtc-lexer.lex.c和dtc-parser.tab.c是自动生成的。然后把dtc-lexer.lex.c修改回extern YYLTYPE yylloc;

2024-11-30 09:30:00 1122 3

原创 笔记:IMX6ULL Mini板-设备树点灯

本节通过设备树进行点灯,之前都是用C语言配置寄存器进行点灯,现在用设备树来操作节点,进而完成点灯打开linux源码目录arch/arm/boot/dts,找到imx6ull-alientek-emmc.dts文件,在根路径最后添加节点然后编译更新设备树make dtbs然后把生成的imx6ull-alientek-emmc.dtb文件拷贝到自己的网络启动tftp目录下重启开发板进入/proc/device-tree/目录下ls发现已经出现了我们自己创建的节点,可以开始写驱动了。

2024-11-29 20:07:07 1557

原创 笔记:IMX6ULL Mini板-自动创建设备节点与新字符设备驱动LED实验

在加载模块后,我们直接查看/dev目录,发现目录下有我们的设备名字,说明节点在加载模块时自动创建了,我们不需要使用mknod手动创建设备节点。以上就是我在学习正点原子IMX6ULL Mini板的学习总结!2、创建设备 - 调用device_create()创建设备节点。我们需要用到设备类结构体struct class,还有struct device设备结构体。3、不再需要时,就需要摧毁,摧毁顺序和创建顺序相反,先摧毁设备,再摧毁设备类。在编写完前面的新字符驱动后,就可以开始解决如何自动创建设备节点。

2024-11-26 21:09:07 309

原创 笔记:IMX6ULL Mini板-新字符驱动

通过上述的步骤篇幅对比,新版本的字符驱动步骤多了不少,也增加了一些复杂度,但是我们发现新版本的字符驱动把设备号和字符设备”隔离”了,这样也对其做了更明确的管理,更模块化了;那最大的不同还是增添了自动分配设备号的功能,开发者不再需要担心设备号冲突,内核可以自动分配设备号并管理,这样如果外设多起来,新版本可以更好的管理,更好的维护。以上就是我在学习正点原子IMX6ULL Mini板的学习总结!!!发此博客以此勉励自己,砥砺前行。

2024-11-25 22:55:09 508

原创 笔记:IMX6ULL Mini板LED灯驱动实验

记录了自己在学习IMX6ULL Mini板点亮LED灯的过程,学习驱动框架的搭建。点亮一颗LED让我或者了小小的成就感,以此勉励自己,砥砺前行

2024-11-25 18:52:17 614

原创 笔记:安装低版本linux内核

使用 mainline 安装内核 6.1.0(先查看是6.1.0还是6.1),图片显示是6.1,右边的"Installed"显示我已安装,就不重复安装了,命令如下。选择你想进入的内核,我刚刚下载了6.1.0版本的,选择没有(recovery mode)的,回车键进入。重启linux内核,进入GRUB界面,我是双系统默认每次都进入,大家自行去查找资料。降级ubuntu主机的linux内核版本,安装6.1.0版本。通过 mainline 工具安装(推荐)启动 mainline 工具。可以禁用代理环境变量。

2024-11-24 17:31:39 513

原创 笔记:Ubuntu22.04开机无法进入UI界面 /dev/nvme0n1p3:clean

错误分析:昨天登录linux的时候,因为nfs版本不匹配imx6ull,无法nfs挂载根文件,所以下载了两个旧版本的linux内核,一个是4.15,一个是6.1.0,怀疑是旧内核问题,但是现在先解决开机卡死问题。然后按Ctrl+X或者F10重启就可以直接进入UI界面了,但是再次重启还是会卡在同一个地方,回头发现权限又改回了’ro’,没办法只能先进UI先。我们在之前命令行的时候无法对/etc/default/grub进行写入操作,现在可以了。这里有个'ro',就是只读的意思,改为'rw'

2024-11-24 17:18:14 1497

原创 .\Objects\empty_LP_MSPM0G3507_nortos_keil.axf: error: L6002U: Could not open file ../../../../../../

在你安装的SDK的根目录下的source>ti>driverlib>lib>keil>m0p>mspm0g1x0x_g3x0x这个路径下会有一个driverlib.a,这个就是链接文件了,复制路径。接下来进入第三步,修改路径后编译,这个链接文件的问题就算解决了,如果你还有其他报错,跟着嘉立创的手册来就可以。使用MSPM0G3507开发板在准备电赛时,搭建环境,创建工程时遇到以下问题,写下这篇博客记录学习过程。第三步,先去第四步找到链接文件路径,再来Linker下修改路径。第二步,点击Linker。

2024-07-16 23:53:41 4988 7

空空如也

空空如也

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

TA关注的人

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