RopenYuan
码龄14年
关注
提问 私信
  • 博客:694,515
    社区:27
    694,542
    总访问量
  • 76
    原创
  • 589,043
    排名
  • 170
    粉丝
  • 2
    铁粉
  • 学习成就
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:上海市
  • 加入CSDN时间: 2010-09-03
博客简介:

RopenYuan的专栏

查看详细资料
  • 原力等级
    成就
    当前等级
    3
    当前总分
    349
    当月
    0
个人成就
  • 获得102次点赞
  • 内容获得40次评论
  • 获得607次收藏
  • 代码片获得135次分享
创作历程
  • 1篇
    2024年
  • 6篇
    2023年
  • 7篇
    2022年
  • 7篇
    2021年
  • 7篇
    2020年
  • 15篇
    2019年
  • 3篇
    2018年
  • 4篇
    2017年
  • 6篇
    2016年
  • 9篇
    2015年
  • 76篇
    2014年
  • 45篇
    2013年
  • 26篇
    2012年
  • 62篇
    2011年
  • 15篇
    2010年
成就勋章
TA的专栏
  • ARM64_V8V9
    6篇
  • MMA
    10篇
  • 性能优化
    2篇
  • DMA
    3篇
  • QNX
    1篇
  • andorid_camera
    2篇
  • 职业生涯及规划
    3篇
  • C++程序设计
    1篇
  • linux C编程
    21篇
  • 嵌入式 Linux
    19篇
  • 嵌入式硬件 ARM
    6篇
  • 技术文章
    7篇
  • 嵌入式 Bootloader
    29篇
  • linux 驱动
    78篇
  • Ubuntu
    6篇
  • kernel
    12篇
  • Android
    14篇
  • 视频及接口
    38篇
  • 内核中系统总结
  • 有关LINUX 及驱动网页搜集
    5篇
  • UNIX高级编程
    2篇
  • 声音功能
    15篇
  • 学习
兴趣领域 设置
  • 人工智能
    pytorchnlp回归
创作活动更多

HarmonyOS开发者社区有奖征文来啦!

用文字记录下您与HarmonyOS的故事。参与活动,还有机会赢奖,快来加入我们吧!

0人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

QEMU 调试 TF-A开发环境建立(使用 QEMU 调试 TF-A (Trusted Firmware-A) 之二)

QEMU是一款开源的模拟器,可以模拟多种不同的处理器和硬件架构,包括ARMv7和ARMv8等。在 TF-A 开发过程中,使用 QEMU 可以将ARMv8软件在x86平台上运行,从而实现快速、灵活和低成本的开发和调试。通过使用 QEMU 调试 TF-A,开发者可以运行TF-A固件的ELF文件,可以停止和启动运行,可以单步运行,还可以在运行时检查和修改变量和寄存器状态。这种调试方式,比使用硬件调试器便宜许多,也更加方便一些。我们计划使用QEMU模拟Cortex-A57处理器来运行和调试TF-A。
原创
发布博客 2024.01.28 ·
477 阅读 ·
9 点赞 ·
0 评论 ·
9 收藏

014 - ARM64上的GIC-400(GICv2)

一个高优先级的中断可以抢占一个处于 active 状态的低优先级中断,即 GIC 的分发器会先找出并记录当前优先级最高并且处于 peding 的中断,然后抢占当前的中断服务,转而先处理高优先级中断,上述内容是从 GIC 角度分析的。GICD_ISENABLER1 的访问地址 = GIC-400 的基地址+ GIC-400 的 Distributor的偏移量+ 指定寄存器的偏移量 = 0x FF84 0000 + 0x100 + (0x100+4*1) = 0x FF84 0204。n=50/4=12。
原创
发布博客 2023.10.20 ·
475 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Linux ARMv8 异常向量表

对于向量表vectors中的kernel_ventry 1, irq , 则 b el\()\el\()_\label跳转到el1_irq函数。2、系统调用:el0_sync->el0_svc->el0_svc_handler->el0_svc_common(__NR_syscalls, sys_call_table)->invoke_syscall。1、数据异常:el0/1_sync->el1_da->do_mem_abort->do_page_fault.点击(此处)折叠或打开。
原创
发布博客 2023.10.19 ·
841 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Linux 内核启动分析

注:__idmap_text_start到__idmap_text_end的数据,其实就是启用mmu前后,需调用的那几个函数(因为CPU有加速指令处理的关系, 有些指令是乱序执行,防止开启mmu后,因为地址空间切换,导致的代码混乱的问题),因为有一段是va=pa因此, 之后即使还有code在用老的物理地址,也是不会出问题的。4、__create_page_tables: 创建内存映射表,一共两张,一张存放在swapper_pg_dir(线性映射),一张存放在idmap_pg_dir(一对一映射)。
原创
发布博客 2023.10.19 ·
418 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Linux性能基础:CPU、内存、磁盘等概述

影响CPU性能的指标主要分为:主频、 CPU位数、CPU缓存指令集、CPU核心数和IPC。① CPU主频CPU主频是指CPU内核工作的时钟频率,单位Hz。它直接的决定了CPU的性能,也可以通过超频来提高CPU主频来获得更高性能。主频越大,运算越快。例如CPU在一个时钟周期内运算一条指令,2GHz运行一条指令需要10ns,那么1GHz需要20ns,运算速度慢了一倍。因为2GHz的时钟周期比1GHz的时钟周期占用的时间减少了一半,速度自然就快了一倍。主频不代表CPU整体速度。
原创
发布博客 2023.10.16 ·
1107 阅读 ·
1 点赞 ·
11 评论 ·
5 收藏

linux 性能分析perf

perf是用于性能分析的一个工具,功能强大,用法也非常多。但是要真正用明白,懂得分析,需要长时间的学习和沉淀。例如必须得知道cycles分支预测等这些是什么意思,每个性能事件的统计值高低所带来的影响分别是什么,如何增加/降低某个性能事件的统计值等等,只有在具备这些理论基础的情况下,去分析perf的统计值才比较有意义。end。
原创
发布博客 2023.10.09 ·
278 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Arm64体系架构-MPIDR_EL1寄存器

CPU MIPDR的设置
原创
发布博客 2023.10.08 ·
2388 阅读 ·
0 点赞 ·
0 评论 ·
4 收藏

ARM平台常用性能测试方法.pdf

发布资源 2022.11.29 ·

Cache Memory简单介绍

今天探究的主题是cache。我们围绕几个问题展开。为什么需要cache?如何判断一个数据在cache中是否命中?cache的种类有哪些,区别是什么? 为什么需要cache memory 在思考cache是什么之前我们首先先来思考第一个问题:我们的程序是如何运行起来的?我们应该知道程序是运行在 RAM之中,RAM 就是我们常说的DDR(例如 DDR3、DDR4等)。我们称之为main memor...
原创
发布博客 2022.05.16 ·
1328 阅读 ·
3 点赞 ·
0 评论 ·
8 收藏

Linux中内存管理详解

Linux中内存管理 内存管理的主要工作就是对物理内存进行组织,然后对物理内存的分配和回收。但是Linux引入了虚拟地址的概念。 虚拟地址的作用 如果用户进程直接操作物理地址会有以下的坏处: 1、 用户进程可以直接操作内核对应的内存,破坏内核运行。 2、 用户...
转载
发布博客 2022.04.21 ·
4565 阅读 ·
7 点赞 ·
3 评论 ·
34 收藏

arm-linux内存页表创建

linux的内存(正式)页表是在内核代码执行到start_kernel函数后执行paging _init函数建立的,这里要注意一个事情就是说,这里paging_init函数可以正常创建内存页表的条件有两个:1、meminfo已初始化:即初始化物理内存各个node的各个bank,一般对于小型arm嵌入式设备,不涉及多个内存就是一个node和一个bank;这部分初始化是在paging_init函数前面的对uboot所传参数的解析中完成的(可在内核的arm_add_memory函...
原创
发布博客 2022.04.21 ·
994 阅读 ·
0 点赞 ·
0 评论 ·
5 收藏

音频硬件基础

参考自:https://www.pianshen.com/article/199251837/     https://blog.csdn.net/hellosky521/article/details/86740258 1、CODEC: 音频压缩CO+解压缩DEC,CODEC就...
原创
发布博客 2022.03.27 ·
10565 阅读 ·
7 点赞 ·
0 评论 ·
85 收藏

MMU的作用及工作过程

MMU的作用及工作过程 MMU(Memory Management Unit)是内存管理单元的简称,读者朋友在学习嵌入式的时候应该听说过µCLinux,这是适合没有MMU的微控制器使用的嵌入式Linux操作系统,比如ARM7。由于没有MMU,所以在µCLinux上实现多任务功能是一个非常棘手的问题。从而引出了本节的关注点:MMU的作用是什么?简单地说,MMU的作用有两点:地址翻译、内存保护。1、地址翻译 在处理器上一般会运行一个操作系统,如Linux,用户编写的源程序需要经过编...
转载
发布博客 2022.03.08 ·
3739 阅读 ·
2 点赞 ·
1 评论 ·
17 收藏

MMU的理解

MMU内存管理单元相关知识点总结1.MMU是Memory Management Unit的缩写,中文名是内存管理单元,它是中央处理器(CPU)中用来管理虚拟存储器、物理存储器的控制线路,同时也负责虚拟地址映射为物理地址,以及提供硬件机制的内存访问授权,多用户多进程操作系统。2.虚拟内存由来:许多年以前,当人们还在使用DOS或是更古老的操作系统的时候,计算机的内存还非常小,一般都是以K为单位进行计算,相应的,当时的程序规模也不大,所以内存容量虽然小,但还是可以容纳当时的程序。但随着图形界面的兴起还有用
原创
发布博客 2022.03.08 ·
258 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

MMU的理解

MMU内存管理单元相关知识点总结1.MMU是Memory Management Unit的缩写,中文名是内存管理单元,它是中央处理器(CPU)中用来管理虚拟存储器、物理存储器的控制线路,同时也负责虚拟地址映射为物理地址,以及提供硬件机制的内存访问授权,多用户多进程操作系统。2.虚拟内存由来:许多年以前,当人们还在使用DOS或是更古老的操作系统的时候,计算机的内存还非常小,一般都是以K为单位进行计算,相应的,当时的程序规模也不大,所以内存容量虽然小,但还是可以容纳当时的程序。但随着图形界面的兴起还有用
原创
发布博客 2022.03.08 ·
1236 阅读 ·
0 点赞 ·
0 评论 ·
5 收藏

2021-10-21MIPI-DSI、MIPI-CSI、LVDS等接口解析

MIPI-DSI、MIPI-CSI、LVDS等接口解析 夜风~ 2019-03-29 14:06:00 ...
原创
发布博客 2021.10.21 ·
3594 阅读 ·
0 点赞 ·
0 评论 ·
16 收藏

使用perf record不能显示函数名称的解决方法

2021.2.5补充: 当可以使用perf但是不能通过perf record -g ./名称+perf report显示函数名的时候,直接安装以下依赖:(其中包括了解决函数名的工具以及提供了别的一系列工具) sudo apt-get install elfutils-devel libdw-dev systemtap-sdt-dev...
转载
发布博客 2021.10.12 ·
2544 阅读 ·
1 点赞 ·
0 评论 ·
11 收藏

测试 使用 perf 进行性能分析时如何获取准确的调用栈

测试使用 perf 进行性能分析时如何获取准确的调用栈ifonly·2020年02月27日· 101 次阅读目录perf是 Linux 下重要的性能分析工具,perf可以通过采样获取很多性能指标,其中最常用的是获取 CPU Cycles,即程序各部分代码运行所需的时间,进而确定性能瓶颈在哪。不过在实际使用过程中发现,简单的使用perf record -g获取到的调用栈是有问题的,存在大量[Unknown]函数,从perf report的结果来看这些部分对应地址大部分都是非...
原创
发布博客 2021.10.12 ·
3312 阅读 ·
4 点赞 ·
0 评论 ·
9 收藏

linux驱动之DMA

转载自:https://www.jianshu.com/p/e1b622234d13一、前言在嵌入式Linux的内核及驱动中,DMA常常被人提起。我们也许清楚它的原理且很明白它非常重要,但在某种程度上,对于DMA的使用者来说,我们一般使用其接口,而很少去了解整个DMA的运作方式。那么本文就从头到尾,简单地说一下DMA吧注意:本文对DMA的概念不做讲述,请各位读者自行了解DMA的概念。二、正文2.1 高端内存2.1.1 内核虚拟内存在了解DMA之前,我们需要先了解...
原创
发布博客 2021.08.12 ·
4236 阅读 ·
8 点赞 ·
2 评论 ·
63 收藏

2021-08-12

转载自:https://www.jianshu.com/p/e1b622234d13 一、前言 在 嵌入式Linux 的内核及驱动中,DMA 常常被人提起。我们也许清楚它的原理且很明白它非常重要,但在某种程度上,对于 DMA 的使用者来说,我们一般使用其接口,而很少去了解整个 DMA 的运作方式。那么本文就从头到尾,简单地说一下 DMA 吧注意:本文对DMA的概念不做讲述,请各位读者自行了解DMA的概念。 二、正文 2.1 高端内存 2.1.1 内核虚拟内...
原创
发布博客 2021.08.12 ·
840 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多