自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 在MDK中自动部署LVGL,在stm32f407ZGT6移植LVGL-8.4,运行demo,显示label

摘要: 本文详细介绍了在STM32F407ZGT6平台上移植LVGL 8.3的完整流程。通过MDK的Pack Installer安装LVGL库,配置RTE组件并修改关键文件(如lv_conf_cmsis.h和显示驱动模板),适配正点原子4.3寸屏的RGB565模式。利用TIM7中断实现LVGL的30ms心跳,调整堆栈大小确保Demo运行,并启用C99模式。最终实现lv_demo_benchmark性能测试和自定义标签显示功能,关键步骤包括显示初始化、缓冲区配置及字体优化。移植后系统可流畅运行LVGL图形界面

2025-05-29 15:30:08 903

原创 Ubuntu24.04 安装opencv4.10

Ubuntu24.04 安装opencv4.10。不同于Ubuntu20.04,有些库和命令是不一样的。

2024-09-17 07:49:11 3826

原创 QT5实现https的post请求(QNetworkAccessManager、QNetworkRequest和QNetworkReply)

QNetworkAccessManager、QNetworkRequest和QNetworkReply是QT5网络编程的API,三者共同完成HTTP或者HTTPS协议的通信。初学者往往会程序编译没有问题,但是运行代码没有任何结果,于是不知道问题出在哪里。此时,要借助postmanwireshark等工具的帮助。本文按照问题出现的顺序总结QT5的网络编程方法。

2024-09-06 23:48:31 1922

原创 Exynos4412 移植Linux-6.1(九)移植tiny4412_backlight驱动的过程及问题解决

LCD本身是不发光的,需要移植背光源(Backlight)驱动。在原tiny4412_backlight驱动是针对linu-4。在移植到Linux-6.1的过程中,碰到了无法获取irq资源、irq地址为NULL等问题。本文记录了移植及问题解决过程。

2023-12-22 09:34:57 1496

原创 Exynos4412 移植Linux-6.1(八)LCD驱动,解决error: implicit declaration of function ‘dma_free_writecombine’的问题

在Linux5.4的内核文件中确实是找不到dma_free_writecombine()函数。但是在Linux4.4的内核文件中可以找到。这个函数是在/include/linux/dma-mapping.h中声明的。在Linux5.4的内核文件中打开/include/linux/dma-mapping.h,通过搜索关键字alloc,可以找到dma_alloc_wc()函数的声明。但是,移植的内核版本是Linux-4.x。出错的原因是Linux5内核中没有dma_alloc_writecombine()函数。

2023-12-14 00:18:26 1214

原创 如何理解驱动程序、设备树、platform、device、driver之间的关系

理解驱动程序、设备树、platform、device、driver之间的关系,学习利用设备树来使用或者编写驱动程序

2023-05-23 12:04:16 5620

原创 【已解决】Linux移植:Linux启动后出现dma-pl330 12680000.dma-controller: Reset Channel-1 CS-20000f FTC-20000

【已解决】Linux内核启动后,执行ls等命令出现错误:dma-pl330 12680000.dma-controller: Reset Channel-1 CS-20000f FTC-20000。

2023-02-14 20:25:30 533

原创 Linux内核移植:内核的启动过程分析、启动配置与rootfs必要文件

分析了SysV启动过程,所需的启动配置,进而分析了根文件系统必要的文件及其内容

2023-02-14 12:14:49 2089

原创 Linux移植烧写内核:movi、nand、fastboot、sdfuse命令与分区表(fdisk)、mmc命令之间的关系

movi、nand、fastboot、sdfuse都是需要分区表的,最终是调用mmc命令。fdisk用于分区。SD卡或者NandFlash的分区布局是怎样的。本文做了简要介绍。

2023-02-12 11:39:31 765

原创 Linux移植加载内核、设备树、根文件系统的几种方法总结(TFTP、nfs、SD卡、eMMC)

总结了用TFTP、nfs、SD卡方式来加载kernel image、dtb、rootfs、ramdisk文件系统。

2023-01-31 11:20:00 1187

原创 u-boot-2022.01的mmc或者fatload下载kernel image(mmc write与fatload的使用方法与区别)

对于SD卡而言,fatload命令使用更方便。对于eMMC而言,mmc read命令更方便。注意:在使用fatload命令时,SD卡分区一定要格式化为fat格式,而不能是ext格式。

2023-01-30 15:58:32 859

原创 移植2022版U-Boot——SD卡驱动,解决sdhci_send_command: Timeout for status update的问题

执行u-boot命令`fstype mmc 0:1`,显示sdhci_send_command: Timeout for status update的问题。已解决。

2023-01-30 12:11:19 1373

原创 Exynos4412 移植针对Samsung的Linux-6.1(四)NandFlash卡驱动

Linux6.1对于NandFlash的支持是很全面的、很完善的。关键是对设备树的修改。现记录下来,供大家参考以避坑。

2023-01-29 22:27:19 432

原创 Exynos4412 移植针对Samsung的Linux-6.1(五)DM9000网卡驱动

Linux-6.1对DM9000网卡是支持的,但是设备树的写法与Linux-5.4的写法不同。本文给出了成功的DM9000设备树写法。

2023-01-29 21:55:19 734

原创 Exynos4412 移植Linux-6.1(七)挂载Ramdisk文件系统,【已解决】Couldn‘t find valid RAM disk image starting at 0

如果initrd参数不正确,就会提示`RAMDISK: Couldn't find valid RAM disk image starting at 0`的错误。通过设置bootargs可以完美解决该问题。

2023-01-28 09:18:43 1183

原创 Exynos4412 移植针对Samsung的Linux-6.1(六)【已解决】SROMC寄存器的数值不正确、无法赋值的问题

问题是:启动Linux内核之后,ifconfig始终无法正确配置eth0。经过不懈努力,发现是电源管理函数关闭了时钟,导致SROMC寄存器错误。

2023-01-22 09:29:08 1872

原创 Exynos4412 移植针对Samsung的Linux-6.1(三)SD卡驱动——解决mmc0: Timeout waiting for hardware interrupt.

Linux6.1,移植SD卡驱动,解决mmc0: Timeout waiting for hardware interrupt.问题。问题的解决,关键是对设备树的修改。现记录下来,供大家参考以避坑。sd2_cd的原来的上拉配置更改为NONE,驱动能力修改为2,问题就没有再出现。

2023-01-16 12:33:51 1270

原创 Exynos4412 移植针对Samsung的Linux-6.1(二)SD卡驱动——解决无法挂载SD卡的根文件系统

Linux-6.1对于SD的支持是很全面的、很完善的。但是,我在移植SD卡驱动的时候,碰到了2个问题:1. 加载SDMMC驱动正常,但是无法发现SD卡; 2. 无法挂载SD卡上的根文件系统。问题的解决,关键是对设备树的修改。现记录下来,供大家参考以避坑。

2023-01-10 16:27:02 1136

原创 Exynos4412 移植针对Samsung的Linux-6.1(一)下载、配置、编译Linux-6.1,安装依赖包解决No such file or director问题

Exynos4412 移植针对Samsung的Linux-6.1(一)下载、配置、编译Linux-6.1,安装依赖包解决No such file or director问题

2023-01-10 09:41:22 877 1

原创 Ubuntu自动登录脚本,expect自动切换用户,xshell自动登录脚本

本人用xshell的SSH登录云服务器,需要从用户Ubuntu切换到root,再切换到lighthouse。利用expect和spawn编辑了一个自动切换用户的脚本。

2023-01-03 19:41:49 1991

原创 腾讯云轻量应用服务器Ubuntu20.04搭建 FTP 服务——解决Failed to establish connection的问题

腾讯云轻量应用服务器搭建 FTP 服务的帮助文档,Ubuntu 20.04 64位操作系统,搭建FTP的步骤与CentOS不一样。走了很多弯路,碰到了问题。现在把搭建步骤分享一下。

2023-01-01 21:30:47 2954 1

原创 Exynos4412的Linux5.4.174时钟驱动开发(五)——时钟设备树的修改方法

关于时钟有2种设备:时钟使用者(clock consumer)例如pwm、adc、串口,时钟提供者(clock provider)例如晶振、PLL。本文介绍了这2种设备的设备树写法。

2022-12-30 10:02:50 1078

原创 Exynos4412的Linux5.4.174时钟驱动开发(四)——clk API的调用方法

基于CCF,时钟使用者(clock consumer)对应于clk API;时钟生产者(clock provider)对应于底层时钟硬件驱动。介绍了clock provider如何构建clk_hw结构体,clock consumer如何构建clk结构体。分析了clk API是如何与底层时钟硬件驱动对应一致的。最后,举例说明了clk API的调用方法。

2022-12-29 21:21:44 1169

原创 Exynos4412的Linux时钟驱动开发(三)——Common Clock Framework(CCF)简介

介绍CCF的三大部分:CCF core、设备树和驱动。

2022-12-27 18:42:37 987

原创 Exynos4412的Linux时钟驱动开发(二)——时钟驱动的初始化(CLK_OF_DECLARE的机制)

分析了clk_exynos4.c对于clock初始化的作用和过程。

2022-12-27 08:45:02 606

原创 Exynos4412的Linux时钟驱动开发(一)——Exynos4412的时钟管理单元CMU

介绍了Exynos4412的时钟管理单元(MCU)。

2022-12-26 17:22:05 687

原创 同版本Linux内核可以构建不同发行版提供的根文件系统

同版本内容,尝试构建不同发行版本的跟文件系统

2022-12-25 23:30:03 429

原创 使用Python虚环境virtualenv

python中虚环境的安装和使用方法

2022-12-03 08:25:36 609

原创 强大的vim配置文件和插件

提供了vim配置文件的GitHub,介绍了pathogen和vundle插件的安装方法。

2022-12-02 09:46:32 653

原创 微信小程序渲染实时时间

微信小程序中动态显示实时时间

2022-11-30 13:14:16 2751

原创 解决deep freeze冰点还原软件无法冻结的问题:计算机正在完成Deep Freeze冰点检测到的待定Windows更新

解决冰点还原软件deepfreeze无法冻结的问题,提示“计算机正在完成Deep Freeze冰点检测到的待定Windows更新”。

2022-08-03 15:36:33 11418 1

原创 为Exynos4412移植U-Boot-2017.11(三)——DM9000A驱动

为u-boot-2017.11添加DM9000驱动。

2022-03-14 20:55:52 1020

原创 为Exynos4412移植U-Boot-2017.11(二)——SD卡、eMMC驱动

移植SD卡、eMMC驱动通过修改设备树,可以驱动SD卡、eMMC。mmc1 = “/dwmmc@12550000”;是eMMC。mmc0 = “/sdhci@12530000”;是SD卡。

2022-03-13 18:17:33 667

原创 为Exynos4412移植U-Boot-2017.11的步骤(一)——让U-Boot跑起来

为Exynos4412移植U-Boot-2017.11的步骤通过修改源代码中的origen部分,成功让U-Boot-2017.11在Exynos4412上跑起来。

2022-03-13 15:22:14 2507

原创 Exynos4412 移植Linux Kernel 5.15过程记录(二)——解决U-Boot启动内核卡在Starting kernel的问题,DM9000网卡驱动(设备树)

Exynos4412 Linux Kernel移植过程记录(二)解决U-Boot启动内核,卡在Starting kernel的问题DM9000网卡驱动(设备树)

2022-02-07 12:46:24 7797

原创 SD卡烧写Linux kernel——SD卡分区,并烧写uboot,kernel,DTB及filesystem

Linux Ubuntu环境下对SD卡分区(烧写uboot,kernel,及filesystem)介绍dd命令的使用,SD卡分区、格式化、复制文件等fdisk命令

2022-01-31 13:17:37 4815

原创 Exynos4412 移植Linux Kernel 5.4过程记录(三)——根文件系统构建与SD卡挂载fs

Exynos4412 移植Linux Kernel 5.15过程记录(三)——根文件系统构建与NFS挂载一、嵌入式Linux文件系统基础知识 二、Linux 根文件系统构建1、下载BusyBox源代码2、编译busybox并安装3、制作根文件系统目录4、填充etc目录5、制作ext2格式的ramdisk文件映像 三、制作SD卡根文件系统

2022-01-29 12:25:11 2472

原创 利用u-boot的NFS命令加载Linux内核和设备树

利用u-boot的nfs加载kernel,使得kernel修改编译后,不需要重新烧写,只需重启就可以进行调试。1、Ubuntu18.04安装、配置和测试nfs服务器 2、配置环境参数,烧写内核

2022-01-25 05:42:10 2322

原创 Exynos4412 Linux Kernel 5.15移植过程记录(一)——解决编译内核出现mpc.h: gmp.h: No such file or director问题

Exynos4412 Linux Kernel移植过程记录(一)解决编译内核出现mpc.h: gmp.h: No such file or director问题

2022-01-15 22:39:35 3559

原创 ubuntu18.04上配置tftp服务器解决Transfer timed out——利用u-boot的tftp加载kernel

ubuntu18.04上配置tftp服务器解决Transfer timed out利用u-boot的tftp加载kernel

2022-01-15 21:57:13 1062

tiny4412背光驱动,移植到linux-6.1

移植tiny4412背光驱动,到linux-6.1。解决了设备树中无法获取irq中断资源的问题。

2023-12-22

介绍基于STM32MP1 Discovery Kit开发板的设备树

STM32MP157是ST公司设计的多处理器片上SOC。具有双Cortex-A7@800MHz,一个Cortex-M4@209MHz。Discovery Kit 1 (DK1)开发板具有资源包括:①SoC: STM32MP157A、② 512 MB DDR, microSD、③ 1G Ethernet, 1x USB-C, 4x USB-A, LEDs,、buttons、④ HDMI, audio codec, DSI connector、⑤ GPIO connectors, Arduino/RaspberryPi shields。 可以在DK1上移植BootLoader和Linux操作系统。本文介绍了设备树的设计方法。

2022-12-27

空空如也

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

TA关注的人

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