1. spi调试问题: 问题描述: spi屏幕lk启动的时候正常出现小企鹅,到kernel启动的过程黑屏并且花屏才到开机动画; 2. 黑屏的三个阶段: 参照:黑屏分析 分析开机过程黑屏,首先需要定位黑屏问题发生的时间段,开机过程中涉及到显示logo 或者是播放动画的主要有如下三个阶段: 显示 lk
开发环境搭建 开发环境涉及到协议栈SDK版本、keil PACK版本的匹配问题,目前测试通过的环境如下: windows系统:win10 硬件:NRF52832测试板、JLINK-V8仿真器 Keil uVision5 For ARM 5.14 nrfgostudio_win-64_1.21.2_i
一、配置介绍 1.1 常用命令     当前 uboot 的配置已经完全变成Linux 内核的配置形式了,完全可以按照Linux 内核的分析方是区分析 uboot。   uboot 和 Linux的代码配置项由 Kconfig 来完成的,关于 Kconfig 语法,可参见:linux/Documen
1. 首先搞清楚,鼠标点左键、右键等能得到什么数据,然后分析这些数据上报事件即可。 第一个基本点:usb_alloc_urb函数,创建一个struct urb结构体,只能使用这个函数来创建,它是urb在usb世界里的独家代理。 第二个基本点:usb_fill_control_urb函数,初始化一个控
Linux内核同步机制之completion 内核编程中常见的一种模式是,在当前线程之外初始化某个活动,然后等待该活动的结束。这个活动可能是,创建一个新的内核线程或者新的用户空间进程、对一个已有进程的某个请求,或者某种类型的硬件动作,等等。在这种情况下,我们可以使用信号量来同步这两个任务。然而,内核
51单片机学习 一直想给女儿做一个平衡小车玩具,想用PLC做,感觉难度,用单片机吧,都快20年没用了。 最近考试考完了,时间和资源都有,正好可以捣鼓一下。看了郭天翔的视频,讲的很不错, 边学边写。 定时器使用 控制任务: P1.0 控制一个LED灯,亮0.5s,灭0.5s。 设计思路:这里我们只
问:如何实现单片以太网微控制器? 答:诀窍是将微控制器、以太网媒体接入控制器(MAC)和物理接口收发器(PHY)整合进同一芯片,这样能去掉许多外接元器件。这种方案可使MAC和PHY实现很好的匹配,同时还可减少引脚数、缩小芯片面积,单片以太网微控制器还降低了功耗,特别是在采用掉电模式的情况下。 问:
1. 简介 Regmap 机制是在 Linux 3.1 加入进来的特性。主要目的是减少慢速 I/O 驱动上的重复逻辑,提供一种通用的接口来操作底层硬件上的寄存器。其实这就是内核做的一次重构。Regmap 除了能做到统一的 I/O 接口,还可以在驱动和硬件 IC 之间做一层缓存,从而能减少底层 I/O
  名称                归属                             作用arm-linux-as            binutils     编译ARM 汇编程序  arm-linux-ar          binutils     把多个.o 合并成一个.o
Linux驱动先注册总线,总线上可以先挂device,也可以先挂driver,那么究竟怎么控制先后的顺序呢。 1、初始化宏 Linux系统使用两种方式去加载系统中的模块:动态和静态。 静态加载:将所有模块的程序编译到Linux内核中,由do_initcall函数加载 核心进程(/init/main.
先讲下设备效果: 对面坐着一位同事中午去吃饭没锁屏幕,这时候你想用他的电脑去挖矿, 挖矿,当然不可能跑到他的座位上,关掉360然后下载个挖矿软件什么的.... 这时候你只需要花十块钱制作如下设备,然后钻到桌子底下装作系鞋带, 把设备插到他主机箱后边的USB接口,倒数三秒钟,再拔下来... 这时候他
处理器架构和处理器指令集的关系式什么? 是否指令集决定了处理器的架构? MIPS属于处理器架构还是还是指令集的一种? 汇编语言的种类和处理器架构的关系? 处理器架构就是处理器的硬件架构,称为微架构。是一堆硬件电路,去实现指令集所规定的操作运算。 是的,指令集决定了处理器的架构,因为处理器架构就是用硬
一、必须知道的几个概念。 1、链接地址和运行地址。 ①运行地址,顾名思义就是程序运行的时候的地址,也就是你用工具将代码下载到RAM的那个地址,也叫加载地址。 ②链接地址,由链接脚本指定的地址。为什么需要链接脚本指定地址呢?你想一下,在c语言编程中,当我们需要调用一个A函数的时候,编译器是怎么找到这个
1.重定位 在完成空间与地址的分配步骤之后,链接器就进入了符号解析与重定位的步骤,这也就是静态链接的核心作用; 在分析符号解析和重定位之前,首先让我们来看看“a.o”里面是怎么使用这两个外部符号,也就是说我们在“a.c”源程序里面使用了“shared”变量和“swap”函数,那么编译器在将“a.c”

推荐文章