1. spi调试问题:
问题描述:
spi屏幕lk启动的时候正常出现小企鹅,到kernel启动的过程黑屏并且花屏才到开机动画;
2. 黑屏的三个阶段:
参照:黑屏分析
分析开机过程黑屏,首先需要定位黑屏问题发生的时间段,开机过程中涉及到显示logo 或者是播放动画的主要有如下三个阶段:
显示 lk
一.更换ubuntu 16.04 更新源
1. 更新源
deb http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial main multiverse restricted universe
deb http://mirrors.ustc.edu.cn/u
开发环境搭建
开发环境涉及到协议栈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函数,初始化一个控
1 /*参考drivers/block/xd.c
2 *以及drivers/block/z2ram.c
3 */
4 #include <linux/module.h>
5 #include <linux/errno.h>
6 #include &l
1 /*
2 *参考arch/arm/mach-s3c24xx/dma-s3c2410.c
3 */
4 #include <linux/module.h>
5 #include <linux/kernel.h>
6 #include <lin
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
大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家介绍的是飞思卡尔i.MX RT系列MCU的Serial Downloader模式。
在上一篇文章 Boot配置(BOOT Pin, eFUSE) 里痞子衡为大家介绍了i.MXRT Boot的行为配置,其中第一节里讲了Boot有三种行为模
大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家介绍的是飞思卡尔i.MX RT系列MCU的Flashloader。
在上一篇文章 Serial Downloader模式(sdphost, mfgtool) 里痞子衡为大家介绍了i.MXRT Boot的Serial Downloader
名称 归属 作用arm-linux-as binutils 编译ARM 汇编程序
arm-linux-ar binutils 把多个.o 合并成一个.o
大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家介绍的是飞思卡尔i.MX RT系列MCU的eFUSE。
在i.MXRT启动系列第二篇文章 Boot配置(BOOT Pin, eFUSE) 里痞子衡提到了eFUSE,部分Boot配置都存储在eFUSE memory里,但是对eFUSE的介
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”