- 博客(35)
- 收藏
- 关注
原创 Android7 Input(三)EventHub
在Android Input框架中,EventHub主要作用就是读取输入设备上报的event事件, 并将收集的事件提交给InputReader进行处理。本文主要描述了EventHub如何管理系统中的输入设备以及系统上报输入事件的处理流程。本文并没有细节展开描述每一个EventHub类的实现方法和输入事件处理的代码细节,感兴趣的同学可以去分析一下Linux系统中input事件的获取和Linux input事件的组成等。1、本文主要描述了EventHub输入设备的管理和事件获取流程描述,并没有细节上去描述;
2025-04-01 23:44:51
559
原创 Android7 Input(二)Linux 驱动层输入事件管理
在Linux系统中,将按键,键盘,鼠标,触摸屏等这类交互设备交由Linux Input子系统进行管理,Linux Input驱动子系统由于具有良好的和用户空间交互的接口。因此Linux Input驱动子系统,不止于只管理输入类型的设备。也可以将其他类型的设备归纳于Linux Input进行管理, 比如Rockchip 的Android系统平台上,将传感器数据的处理,就归纳到Linux Input进行管理。
2025-03-29 22:22:54
926
原创 OpenMCU(五):STM32F103时钟树初始化分析
本文主要描述了STM32F103初始化过程系统时钟的初始化,主要描述了系统时钟的初始化,AHB总线时钟,APB总线时钟等的初始化。本文主要描述了,在STM32F103 CPU初始化过程中,系统时钟的初始化。虽然,我们可以利用ST提供的上位机图形化工具进行时钟配置,简单的勾选就可以产生我们需要的代码。但是,作为一个嵌入式开发程序员,我觉得,还是有必要去分析源码,了解CPU的内部原理和HAL层代码,这样才能根据自己产品的实际需求情况,设计出更具有性价比的产品。
2025-03-27 22:26:44
726
原创 Qemu-STM32(十二):STM32F103 框架代码添加
本系列博客主要描述了STMF103的qemu模拟器实现,进行该项目的原因有两点: 作者在高铁上,想在STM32F103上验证一个软件框架时,如果此时掏出开发板,然后接一堆的线,旁边的人估计会投来异样的目光,特别是,当不太幸运坐在了靠近过道的位置,那就更麻烦了,估计没法进行代码开发了。因此,作者决定开发这个模拟器该项目,只要打开电脑,就可以随意的开发软件功能;第二个原因,作者也在设计STM32F103的PCB板卡,在硬件板卡还没焊接回来时,也可以提前进行产品原型的代码开发。
2025-03-27 22:06:53
534
原创 OpenMCU(三):STM32F103 FreeRTOS移植
本文主要描述了STM32F103移植FreeRTOS的简要步骤。移植描述过程中,忽略了Keil软件的部分使用技巧。默认读者熟练使用Keil软件。本文的描述是基于OpenMCU_RTOS这个工程,该工程已经下载放好了移植STM32F103 FreeRTOS的所有文件OpenMCU_RTOS工程的愿景主要有:1.、能移植支持主流mcu的freeRTOS2、深入分析FreeRTOS代码和第三方库代码,让嵌入式学习变得非常容易;
2025-03-22 23:13:02
930
原创 OpenMCU(四):STM32F103启动汇编代码分析
本文描述STM32F103处理器在上电到进入main函数阶段的启动汇编代码分析。以startup_stm32f103x6.s该启动汇编文件进行讲解startup_stm32f103x6.s启动文件的开始定义了栈空间的长度Stack_Size = 0x400,即1K的内存空间当做程序栈空间。ALIGN=3, 栈的长度对齐到8字节(1堆内存定义堆内存长度定义为Heap_Size = 0x200,即512字节长度,并且8字节对齐。
2025-03-22 23:02:42
424
原创 4-Taurus平台 LCD驱动支持DRM框架移植
本文主要描述了在作者自己开发的qemu仿真平台上(Taurus),移植PL111 LCD的drm驱动步骤。本文的描述是基于Linux-4.13.0内核加buildroot进行实验的,所有的修改都开源了,文章的末尾有工程链接。
2025-03-22 19:00:32
231
原创 Qemu-STM32(十):STM32F103开篇
本系列博客主要描述了STMF103的qemu模拟器实现,进行该项目的原因有两点: 作者在高铁上,想在STM32F103上验证一个软件框架时,如果此时掏出开发板,然后接一堆的线,旁边的人估计会投来异样的目光,特别是,当不太幸运坐在了靠近过道的位置,那就更麻烦了,估计没法进行代码开发了。因此,作者决定开发这个模拟器该项目,只要打开电脑,就可以随意的开发软件功能;第二个原因,作者也在设计STM32F103的PCB板卡,在硬件板卡还没焊接回来时,也可以提前进行产品原型的代码开发。
2025-03-21 22:26:33
487
1
原创 IMX8MP Android 10系统编译SDK
本文描述了在Ubuntu 20.04操作系统上搭建IMX8MP Android10系统编译环境。
2025-03-19 23:45:12
796
原创 Android7 Input(一)Android Input服务初始化
本文主要描述了InputManagerService服务的初始化和启动,在Android7系统上InputManagerService服务的框架如下所示:注:箭头的方向,并不能真实代表数据流向方向。1、FrameWorks层:inputManagerService对外提供服务的模块;2、JNI层:因为InputManagerService要去管理底层硬件输入设备,而在Android 7系统的所有与硬件相关的部分,都会涉及到JNI层。用C++代码去管理硬件设备;
2025-03-19 23:13:41
928
原创 OpenMCU(三):STM32F103 FreeRTOS移植
本文主要描述了STM32F103移植FreeRTOS的简要步骤。移植描述过程中,忽略了Keil软件的部分使用技巧。默认读者熟练使用Keil软件。本文的描述是基于OpenMCU_RTOS这个工程,该工程已经下载放好了移植STM32F103 FreeRTOS的所有文件OpenMCU_RTOS工程的愿景主要有:1.、能移植支持主流mcu的freeRTOS2、深入分析FreeRTOS代码和第三方库代码,让嵌入式学习变得非常容易;
2025-03-10 22:21:23
1009
原创 5-STM32F407硬件板卡从零开始设计-以太网 PHY LAN8720A原理图设计
本文描述了STM32F407板卡中以太网PHY芯片LAN8720A 原理图设计,本系列主要目的是学习PCB的设计,因此采用了多页原理的设计方法;
2025-03-06 00:34:55
221
原创 OpenMCU(二):GD32E23xx FreeRTOS移植
本文主要描述了GD32E230移植FreeRTOS的简要步骤。移植描述过程中,忽略了Keil软件的部分使用技巧。默认读者熟练使用Keil软件。本文的描述是基于OpenMCU_FreeRTOS这个工程,该工程已经下载放好了移植GD32E230 FreeRTOS的所有文件OpenMCU_FreeRTOS工程的愿景主要有:1.、能移植支持主流mcu的freeRTOS2、深入分析FreeRTOS代码和第三方库代码,让嵌入式学习变得非常容易;
2025-03-05 08:44:25
856
原创 OpenMCU(一):STM32F407 FreeRTOS移植
本文主要描述了STM32F407移植FreeRTOS的简要步骤。移植描述过程中,忽略了Keil软件的部分使用技巧。默认读者熟练使用Keil软件。本文的描述是基于OpenMCU_FreeRTOS这个工程,该工程已经下载放好了移植stm32f407 FreeRTOS的所有文件OpenMCU_FreeRTOS工程的愿景主要有:1.、能移植支持主流mcu的freeRTOS;2、深入分析FreeRTOS代码和第三方库代码,让嵌入式学习变得非常容易;
2025-03-03 00:41:23
1052
原创 Qemu-STM32(十):Windows 源码静态编译qemu-5.0
在于msys2环境下执行pkg-config --cflags iconv找不到路径引起的, 其实系统已经安装,并正确配置了iconv.pc文件,但是,1、将静态编译的文件,拷贝到桌面,在桌面中打开cmd窗口,然后输入qemu-system-arm -M?执行配置文件后,在LIBS字段手动添加iconv库的路径和加入-liconv链接。1、在msys2安装目录,打开mingw64 程序。3、选择安装目录,注意放到磁盘空间比较大的盘符。3、进入源码目录,输入如下的配置信息。5、msys2软件安装方法。
2025-03-02 15:41:25
951
原创 Qemu-STM32(九):STM32F407加入GPIO控制器
本文主要描述了在Qemu平台中,如何添加STM32F407的GPIO控制器模拟代码。1、本文描述了如何在qemu中添加stm32f407平台上GPIO控制器实现;2、完成的提交记录,请查看代码库链接;
2025-02-27 22:28:04
193
原创 Qemu-STM32(八):STM32F407加入Timer控制器
本文主要描述了在Qemu平台中,如何添加STM32F407的Timer控制器模拟代码。1、本文描述了如何在qemu中添加stm32f407平台上Timer控制器实现;2、完成的提交记录,请查看代码库链接;
2025-02-27 01:46:11
241
原创 4-STM32F407硬件板卡从零开始设计-EC800M 4G 原理图设计
本文描述了STM32F407板卡中的基于EC800M原理图设计,本系列主要目的是学习PCB的设计,因此采用了多页原理的设计方法;
2025-02-27 01:18:22
202
原创 3-STM32F407硬件板卡从零开始设计-SDCard原理图设计
本文描述了STM32F407板卡中的SDcard原理图设计,本系列主要目的是学习PCB的设计,因此采用了多页原理的设计方法;
2025-02-20 00:10:12
111
原创 Qemu-STM32(七):STM32F407加入Power控制器
本文主要描述了在Qemu平台中,如何添加STM32F407的Power控制器模拟代码。1、本文描述了如何在qemu中添加stm32f407平台上Power控制器实现;2、完成的提交记录,请查看代码库链接;
2025-02-19 23:51:21
455
原创 Qemu-STM32(六):STM32F407加入RCC控制器
本文主要描述了在Qemu平台中,如何在添加STM32F407中添加RCC控制器。1、本文描述了如何在qemu中添加stm32f407平台上RCC控制器实现;2、RCC模块主要功能就是配置STM32F407运行时的时钟频率;2、完成的提交记录,请查看代码库链接;
2025-02-19 00:25:50
212
原创 2-STM32F407硬件板卡从零开始设计-Power原理图设计
本文描述了STM32F407板卡的电源输入的原理图设计,因为,该项目只是一个开发板,主要侧重于学习PCB硬件设计。为了方便后期的软件调试,我们采用电源使用Type-C的5V输入作为整个板子的电源输入。
2025-02-18 23:47:49
137
原创 1-STM32F407硬件板卡从零开始设计-模块框图
本人是一个硬件小白,但是,总觉得作为一个嵌入式软件工程师,其实很多时候,也在跟硬件打交道,特别是调试板卡的时候(需要跟硬件同事常常battle)。别人设计硬件板卡,从用万用表测量一个电容显示参数值和用示波器测量显示一段波形,总觉得别人非常的帅气,是我敬仰的对象。我也想拥有那样的高光时刻,但是,奈何身边没有可以请教的硬件大佬进行指点,因此,本人将从网上学到的视频和自己的一些理解,特此建立一个STM32F407的单片机硬件项目。
2025-02-16 20:36:07
690
原创 3- ubuntu 20.04嵌入式开发常用软件安装
下载完成后,在软件包目录,打开cmd终端后,输入sudo dpkg -i wps-office_12.1.0.17900_amd64.deb。3、输入A ,配置minicom打开时默认串口设置,嵌入式开发中,使用USB转串口比较多,因此,这里输入ttyUSB0作为讲解的例子。2、输入./qt-creator-opensource-linux-x86_64-15.0.1.run 执行安装。4、配置完成后,再次输入回车,返回到,初始配置界面后,选择 Save setup as dfl。
2025-02-16 13:15:16
1118
原创 Qemu-STM32(五):STM32F407加入USART控制器
本文主要描述了在Qemu平台中,如何在添加STM32F407中添加USART控制器。1、本文描述了如何在qemu中添加stm32f407平台上UASRT控制器实现;2、完成的提交记录,请查看代码库链接。
2025-02-14 16:57:41
407
原创 Qemu-STM32(四):STM32F407加入外部中断控制器(EXTI)
本文主要描述了在Qemu平台中,如何在添加STM32F407中添加External interrupt/event controller 功能。1、本文描述了如何在qemu中添加stm32f407平台上External interrupt/event controller控制器实现;2、因为qemu的源码库已经加入了exti的实现代码,因为这里只描述了添加步骤3、完成的提交记录,请查看代码库链接。
2025-02-14 09:41:33
141
原创 Qemu-STM32(三):STM32F407加入系统配置控制器(SYSCFG)
1、本文描述了如何在qemu中添加stm32f407平台上System Configuration Controller控制器实现;2、因为qemu的源码库已经加入了syscfg的实现代码,因为这里只描述了添加步骤3、完成的提交记录,请查看代码库链接。
2025-02-14 09:20:08
342
原创 2-Vmware Player安装ubuntu 20.04操作系统
本文主要描述了使用VMware player安装Ubuntu 20.04操作系统的步骤1、本文主要描述了怎样使用VMware Player创建ubuntu虚拟机;2、怎样在创建的虚拟中,手动安装ubuntu 20.04操作系统;3、设置共享文件夹和文件拖转功能。
2025-02-11 00:43:47
635
1
原创 0-嵌入式 ARM Linux学习大纲
本系列的博客,主要是指导想学嵌入式ARM Linux的新手同学,作为一个学习指导,本博客的侧重点在于实战,属于入门级的教程。
2025-02-09 13:39:35
168
原创 1-Vmware Player安装
本系列文章主要讲述的是嵌入式ARM Linux开发,在嵌入式ARM Linux开发中,我们常常需要安装Linux操作系统,对于刚接触嵌入式ARM Linux的新手来说,第一,在电脑上直接安装Linux操作系统比较困难,第二,新手对Linux系统不是很熟悉,网上很多教程在操作Linux系统时,都习惯用root账户,这样,对于新手来说,如果操作不当,就会损坏整个操作系统,而丢失自己重要的数据和文件,因此,对于新手来说,我们推荐使用虚拟机的方式,进行开发。
2025-02-09 13:13:31
596
原创 Qemu-STM32(二):qemu-stm32f407 Discovey框架代码添加
本文描述了,在ubuntu 20.04上用vscode + qemu-5.2.0源码模拟实现stm32f407 stm32f4discovery 板子。文档中插入的图片,不知道什么原因,无法显示,可以查看工程文件提交记录,也可以看到修改的地方。在qemu源码下添加hw/arm/stm32f407_soc.c文件,在文件中主要内容如下。当编译完成后,可以在编译目录,执行./qemu-system-arm -M?c. 修改hw/arm/meson.build。a. 修改:hw/arm/Kconfig。
2024-12-27 11:11:12
522
原创 Qemu-STM32(一):ubuntu 20.04搭建qemu+vscode开发环境
本文描述了,在ubuntu 20.04上用vscode + qemu-5.2.0源码,模拟实现stm32f407 stm32f4discovery 板子。
2024-12-03 20:44:55
726
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人