腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
返回腾讯云官网
linux驱动个人学习
专栏作者
举报
698
文章
1317424
阅读量
180
订阅数
订阅专栏
申请加入专栏
全部文章(698)
编程算法(170)
linux(158)
其他(78)
kernel(57)
android(55)
缓存(53)
内核(36)
数据结构(35)
内存(24)
c++(22)
node.js(22)
单片机(21)
打包(20)
进程(20)
arm(19)
api(19)
http(19)
系统(19)
存储(18)
java(17)
硬件开发(16)
数据(16)
tcp/ip(14)
程序(14)
host(12)
c 语言(11)
腾讯云测试服务(11)
proc(11)
函数(11)
接口(10)
ide(9)
struct(9)
usb(9)
数据库(8)
容器(8)
编译(8)
git(7)
unix(7)
网站(7)
数据分析(7)
core(7)
driver(7)
指针(7)
shell(6)
二叉树(6)
系统架构(6)
device(6)
io(6)
sys(6)
性能(6)
c#(5)
xml(5)
汇编语言(5)
文件存储(5)
网络安全(5)
bit(5)
cpu(5)
init(5)
磁盘(5)
内存管理(5)
调试(5)
线程(5)
javascript(4)
sql(4)
命令行工具(4)
面向对象编程(4)
gcc(4)
任务调度(4)
clock(4)
max(4)
操作系统(4)
队列(4)
对象(4)
工具(4)
管理(4)
架构(4)
配置(4)
异常(4)
主机(4)
go(3)
makefile(3)
github(3)
容器镜像服务(3)
云函数(3)
云推荐引擎(3)
人工智能(3)
electron(3)
开源(3)
flash(3)
windows(3)
https(3)
nat(3)
迁移(3)
back(3)
count(3)
data(3)
int(3)
interface(3)
monitor(3)
panel(3)
pid(3)
set(3)
state(3)
task(3)
工作(3)
排序(3)
前端(3)
事件(3)
统计(3)
文件系统(3)
硬件(3)
ios(2)
python(2)
bash(2)
css(2)
html(2)
嵌入式(2)
access(2)
jar(2)
搜索引擎(2)
消息队列 CMQ 版(2)
检测工具(2)
serverless(2)
爬虫(2)
opencv(2)
udp(2)
kvm(2)
大数据(2)
安全(2)
kafka(2)
sdk(2)
action(2)
add(2)
buffer(2)
byte(2)
class(2)
config(2)
controller(2)
display(2)
dto(2)
fifo(2)
gpio(2)
input(2)
iso(2)
ld(2)
limit(2)
lock(2)
malloc(2)
overlay(2)
pixel(2)
root(2)
shared(2)
spi(2)
status(2)
trace(2)
video(2)
变量(2)
编码(2)
定时器(2)
服务(2)
后端(2)
基础(2)
链表(2)
连接(2)
设计(2)
实践(2)
数组(2)
索引(2)
同步(2)
效率(2)
协议(2)
优化(2)
字符串(2)
负载均衡(1)
官方文档(1)
php(1)
actionscript(1)
.net(1)
scala(1)
jquery ui(1)
jquery(1)
ajax(1)
android studio(1)
listview(1)
composer(1)
memcached(1)
vba(1)
ubuntu(1)
bash 指令(1)
solaris(1)
深度学习(1)
批量计算(1)
访问管理(1)
NAT 网关(1)
SSL 证书(1)
文字识别(1)
视频处理(1)
图像处理(1)
数据备份(1)
vr 视频解决方案(1)
数据安全(1)
游戏(1)
分布式(1)
黑客(1)
jvm(1)
ssh(1)
正则表达式(1)
gui(1)
asp(1)
ftp(1)
jenkins(1)
iis(1)
socket编程(1)
ntp(1)
小程序(1)
机器人(1)
物联网(1)
虚拟化(1)
小程序·云开发(1)
amp(1)
app(1)
arm64(1)
assert(1)
bat(1)
block(1)
bluetooth(1)
bootloader(1)
button(1)
channel(1)
char(1)
children(1)
default(1)
detect(1)
dp(1)
dpi(1)
dt(1)
dynamic(1)
elf(1)
equals(1)
error(1)
expression(1)
file(1)
filter(1)
google(1)
gpt(1)
header(1)
i2c(1)
include(1)
instance(1)
jni(1)
libc(1)
load(1)
loading(1)
local(1)
ls(1)
map(1)
matplotlib(1)
message(1)
migrate(1)
mips(1)
mmap(1)
module(1)
mutex(1)
output(1)
parent(1)
path(1)
point(1)
port(1)
profile(1)
provider(1)
qemu(1)
report(1)
route(1)
samsung(1)
save(1)
screen(1)
selection(1)
self(1)
semaphore(1)
stack(1)
static(1)
stderr(1)
summary(1)
super(1)
swap(1)
target(1)
text(1)
tools(1)
transfer(1)
translation(1)
transparent(1)
trim(1)
txt(1)
widget(1)
width(1)
x86(1)
备份(1)
编程(1)
编译器(1)
测试(1)
程序设计(1)
多线程(1)
二进制(1)
翻译(1)
高性能(1)
加密解密(1)
监控(1)
蓝牙(1)
命令行(1)
内存泄漏(1)
日志(1)
软件(1)
软件架构(1)
软件开发(1)
手机(1)
树莓派(1)
算法(1)
网络(1)
芯片(1)
虚拟机(1)
压缩(1)
异常处理(1)
语法(1)
源码(1)
原型(1)
状态机(1)
嵌入式系统(1)
搜索文章
搜索
搜索
关闭
linux cpufreq framework(5)_ARM big Little driver
arm
linux
core
driver
接口
也许大家会觉得奇怪:为什么Linux kernel把对ARM big·Lttile的支持放到了cpufreq的框架中?
233333
2023-05-03
718
0
Linux内核调试技术——kprobe使用与实现
编程算法
arm
单片机
Linux kprobes调试技术是内核开发者们专门为了便于跟踪内核函数执行状态所设计的一种轻量级内核调试技术。利用kprobes技术,内核开发人员可以在内核的绝大多数指定函数中动态的插入探测点来收集所需的调试状态信息而基本不影响内核原有的执行流程。kprobes技术目前提供了3种探测手段:kprobe、jprobe和kretprobe,其中jprobe和kretprobe是基于kprobe实现的,他们分别应用于不同的探测场景中。本文首先简单描述这3种探测技术的原理与区别,然后主要围绕其中的kprobe技术进行分析并给出一个简单的实例介绍如何利用kprobe进行内核函数探测,最后分析kprobe的实现过程(jprobe和kretprobe会在后续的博文中进行分析)。
233333
2021-09-08
5.4K
0
Linux之设备树解耦架构解读-V1.0
arm
打包
linux
Dts:DTS即Device Tree Source,是一个文本形式的文件,用于描述硬件信息。一般都是固定信息,无法变更,无法overlay。
233333
2021-08-18
1.3K
0
android功耗优化(2)--对齐唤醒
编程算法
xml
android
arm
Android手机上安装的很多应用都会频繁唤醒手机(唤醒系统、唤醒屏幕),造成手机耗电等现象。良好的对齐唤醒管理方案,就是对后台应用待机时不频繁唤醒,智能节省电量。
233333
2020-09-08
901
0
vmalloc函数
c++
arm
api
node.js
kmalloc、vmalloc和malloc这三个常用的API函数具有相当的分量,三者看上去很相似,但在实现上大有讲究。kmalloc基于slab分配器,slab缓冲区建立在一个连续的物理地址的大块内存之上,所以缓冲对象也是物理地址连续的。如果在内核中不需要连续的物理地址,而仅仅需要内核空间里连续的虚拟地址的内存块,该如何处理呢?这时vmalloc()就派上用场了。
233333
2020-07-07
1.1K
0
ARM64内核内存布局图
arm
linux
ARM64架构处理器采用48位物理寻址机制,最大可以寻找到256TB的物理地址空间。对于目前的应用来说已经足够了,不需要扩展到64位的物理地址寻址。虚拟地址也同样最大支持48位支持,所以在处理器的架构设计上,把虚拟地址空间划分为两个空间,每个空间最大支持256TB。Linux内核在大多数体系结构中都把两个地址空间划分为用户空间和内核空间。
233333
2020-05-18
2.4K
0
ARM32 内核内存布局
编程算法
arm
c++
打包
Linux内核在启动时会打印出内核内存空间的布局图,下面是ARM Vexpress平台打印出来的内存空间布局图:
233333
2020-05-18
1.5K
0
ARM32 页表映射
arm
编程算法
linux
数据结构
在32bit中的Linux内核中一般采用3层映射模型,第1层是页面目录(PGD),第2层是页面中间目录(PMD),第3层才是页面映射表(PTE)。但在ARM32系统中只用到两层映射,因此在实际代码中就要3层映射模型中合并一层。在ARM32架构中,可以按段(section)来映射,这时采用单层映射模式。使用页面映射需要两层映射结构,页面的选择可以是64KB的大页面或4KB的小页面,如图2.4所示。Linux内核通常使用4KB大小的小页面。
233333
2020-05-09
2.8K
0
展讯平台uboot启动流程
c 语言
arm
缓存
start.S代码结构 u-boot的stage1代码通常放在start.S文件中,用汇编语言,主要实现功能如下:
233333
2020-02-12
1.1K
0
海思uboot启动流程详细分析
缓存
arm
c++
api
介绍u-boot启动流程中和具体版型(board)有关的部分,也即board_init_f/board_init_r所代表的、board有关初始化过程。该过程将持续u-boot的整个生命周期,直到main_loop(即传说中的命令行)。
233333
2019-05-25
3.5K
0
海思uboot启动流程详细分析(二)
linux
arm
从start_armboot开始,在startup.c中有包含#include <config.h>
233333
2019-05-25
2.3K
0
海思uboot启动流程详细分析(一)
单片机
arm
c 语言
首先我们可以在u-boot.lds中看到ENTRY(_start),即指定了入口_start,_start也就是整个start.S的最开始;
233333
2019-05-25
2.6K
0
ARMV8体系结构简介
arm
单片机
本文的主要内容来源于ARMV8白皮书v5,对ARMV8做一个概述。包含如下的内容:
233333
2019-05-25
1.3K
0
local_irq_disable和disable_irq的区别
android
单片机
arm
local_irq_disable的功能是屏蔽当前CPU上的所有中断,通过操作arm核心中的寄存器来屏蔽到达CPU上的中断,此时中断控制器中所有送往该CPU上的中断信号都将被忽略。
233333
2019-05-25
1.5K
0
Linux内核最新的连续内存分配器(CMA)——避免预留大块内存【转】
arm
linux
网络安全
在我们使用ARM等嵌入式Linux系统的时候,一个头疼的问题是GPU,Camera,HDMI等都需要预留大量连续内存,这部分内存平时不用,但是一般的做法又必须先预留着。目前,Marek Szyprowski和Michal Nazarewicz实现了一套全新的Contiguous Memory Allocator。通过这套机制,我们可以做到不预留内存,这些内存平时是可用的,只有当需要的时候才被分配给Camera,HDMI等设备。下面分析它的基本代码流程。
233333
2018-12-28
3.5K
0
高通msm8909耳机调试
kernel
arm
linux
1、DTS相应修改: DTS相关代码:kernel/arch/arm/boot/dts/qcom/msm8909-qrd-skuc.dtsi: 1 sound { 2 compatible = "qcom,msm8x16-audio-codec"; 3 qcom,model = "msm8909-skuc-snd-card"; 4 qcom,msm-snd-card-id = <0>; 5 qcom,msm-codec-typ
233333
2018-03-07
3.7K
0
uboot中 make xxx_config 的作用(以make smdk2410_config为例)
linux
arm
1、创建到目标板相关文件的链接 ln -s asm-arm asm ln -s arch-s3c24x0 asm-arm/arch ln -s proc-armv asm-arm/proc 2、创建include/config.mk文件,内容如下: ARM = arm CPU = arm920t BOARD = smdk2410 VENDOR = samsung SOC = s3c24x0 3、创建与目标板相关的头文件include/config.h 内容如下: #include <configs/smdk
233333
2018-03-07
762
0
分析uboot中 make xxx_config过程
arm
linux
make xxx_config实质上就是调用了 首先看MKCONFIG: 【注意】SRCTREE=源文件下的目录 之后的语句: @$(MKCONFIG) $(@:_config=) arm arm92
233333
2018-03-07
1.1K
0
ARM中断处理过程
ntp
arm
以s3c2440 ARM9核为例: 一:s3c2440 ARM处理器特性: 1、S3C2440支持60个中断源,含子中断源; 2、ARM9采用五级流水线方式; 3、支持外部中断和内部中断; 二、s3c2440 支持的寄存器: 2.1 外部中断寄存器 24个外部中断占用GPF0-GPF7(EINT0-EINT7),GPG0-GPG15(EINT8-EINT23)。用这些脚做中断输入,则必须配置引脚为中断,并且不要上拉。具体可参考datesheet数据手册。 寄存器:
233333
2018-03-07
1.6K
0
没有更多了
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
立即发文
Python精品学习库
代码在线跑,知识轻松学
立即查看
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
立即体验
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
立即查看
领券
问题归档
专栏文章
快讯文章归档
关键词归档
开发者手册归档
开发者手册 Section 归档