随笔分类 -  Linux&driver

摘要:1.adb环境配置 platform-tool的文件路径需要配置到系统环境变量 配置好以后,打开cmd,输入 adb version 确认。 手机配置为开发者、文件传输模式 运行授权脚本 authorize.bat 点击查看代码 ::@echo off adb root adb remount ad 阅读全文
posted @ 2025-08-29 15:28 Charles_hui 阅读(161) 评论(0) 推荐(0)
摘要:一.Preface 构建根文件系统的工具通常有两种,Buildroot和Yocto。6ull这块芯片的出厂根文件系统是使用Yocto进行构建的,但是Yocto会用到国外的镜像包(很大),所以国内开发者一般不使用Yocto工具自己进行构建,要么直接使用厂家(NXP)Yocto构建好的根文件系统,要么使 阅读全文
posted @ 2024-12-23 15:35 Charles_hui 阅读(311) 评论(0) 推荐(0)
摘要:一.前言 二.中断子系统 中断子系统有两个中断服务函数,中断上文服务函数和中断下文服务函数。 中断上文 中断下文 中断线程化,在中断里读取坐标值,并且上报给内核。 三.input子系统 四.iic子系统 阅读全文
posted @ 2024-12-03 20:02 Charles_hui 阅读(51) 评论(0) 推荐(0)
摘要:一.Preface 最进在项目上碰到了很多与“守护(init)进程”相关的问题,例如有: 制作根文件系统的时候需要去选择某个具体的“Init system”。 在开机加速的问题上,需要对Init程序的脚本进行“裁剪”。 kernel的启动流程,Init进程作为系统的第一个进程也非常重要。 所以这里做 阅读全文
posted @ 2024-11-05 17:41 Charles_hui 阅读(281) 评论(0) 推荐(0)
摘要:一.Preface 内核的启动过程涉及到许多内容,且包含许多细节。如果熟悉kernel的启动过程会不仅能加深对Linux系统的理解,而且对于定位kernel启动崩溃的问题、ARM架构的理解也有帮助。这里以imx6ull为例,做一个初步的总结。 二.启动kernel的入口。 1."vmlinux.ld 阅读全文
posted @ 2024-11-05 17:35 Charles_hui 阅读(213) 评论(0) 推荐(0)
摘要:一. 阅读全文
posted @ 2024-11-05 17:33 Charles_hui 阅读(33) 评论(0) 推荐(0)
摘要:一.ARMv7架构的寄存器 Arm公司的Cortex系列属于ARMv7架构,RMv7架构定义了三大分工明确的系列:“A”系列面向尖端的基于虚拟内存的操作系统和用户应用;“R”系列针对实时系统;“M”系列对微控制器。 采用ARMv7架构的常见嵌入式处理器有:Cotex-M4、M3;Cotex-M7;C 阅读全文
posted @ 2024-11-01 11:04 Charles_hui 阅读(273) 评论(0) 推荐(0)
摘要:一.What is MMU 1.ARM有多个协处理器,MMU是其中一个协处理器,用作内存管理。若应用程序想访问某块物理内存地址,MMU会将虚拟内存映射到物理内存。 2.MMU包括了页表(PT)和块表(TLB),TLB相当于PT的快速缓存。 二.What is it used for? 1.应用程序直 阅读全文
posted @ 2024-10-29 14:56 Charles_hui 阅读(147) 评论(0) 推荐(0)
摘要:一.What is Cache 1. Cache是一个CPU缓存,位于CPU与内存之间的临时存储器,它的容量比内存小但读写速度快。 2. Cache可以分为ICac和DCache 二.What is it used for? 1.CPU做一次乘法运算只需要几个周期,而做一次内存访问可能需要上百个周期 阅读全文
posted @ 2024-10-28 17:17 Charles_hui 阅读(145) 评论(0) 推荐(0)
摘要:1.imx6ull的ELCD interface支持的LCD接口分类 8080(MPU)、 DOTCLOCK(TFT+RGB) VSYNC(MPU+VSYNC) 2.寻找LCD驱动: 3.platform_driver要和platform_device挂钩,platform_device可以在代码注 阅读全文
posted @ 2024-10-28 10:38 Charles_hui 阅读(50) 评论(0) 推荐(0)
摘要:一.分析JumpToApp函数 点击查看代码 void JumpToApp(uint32_t addr) { __disable_irq();//这个函数调用会禁用中断。在跳转到新的应用程序之前,通常需要确保当前的中断状态不会干扰跳转过程。 uint32_t sp = *((volatile uin 阅读全文
posted @ 2024-10-25 20:46 Charles_hui 阅读(155) 评论(0) 推荐(0)
摘要:一.前言 IAP升级在许多场合都会用到,而且涉及到芯片的核心底层,所以特此记录。 二.流程和框架 1.flash分区 将flash分为boot_app区和user_app区 boot_app存放的起始地址为0x00000000,大小为0x00008000(32kb) user_app存放的起始地址为 阅读全文
posted @ 2024-10-25 17:15 Charles_hui 阅读(132) 评论(0) 推荐(0)
摘要:1.为什么要交叉编译 有一个imx6ull板,需要将一个程序下载进去,让其运行起来。如果直接用本地系统的编译器来编译的话,程序有可能编译出错,或者编译成功不能正常运行,所以需要用官方指定的编译工具来做交叉编译。 2.怎么使用交叉编译 参考我当时的一个调试代码的makefile 点击查看代码 #指定使 阅读全文
posted @ 2024-09-07 13:19 Charles_hui 阅读(66) 评论(0) 推荐(0)
摘要:platform bus资料参考:https://www.jb51.net/article/231922.htm 阅读全文
posted @ 2024-08-21 19:56 Charles_hui 阅读(35) 评论(0) 推荐(0)
摘要:一.设定屏幕参数 1.更改设备树下的lcd节点参数 目录:arch/arm/boot/dts/imx6ull-14x14-nand-7-1024x600-c.dts 点击查看代码 &i2c2 { goodix_ts@5d { reg = <0x5d>; }; }; &lcdif { display0 阅读全文
posted @ 2024-08-21 19:00 Charles_hui 阅读(434) 评论(0) 推荐(0)