自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

techtitan的专栏

嵌入式开发

  • 博客(257)
  • 资源 (6)
  • 收藏
  • 关注

原创 windows神操作笔记

参考链接:Windows: Mouse Hover to Activate Window http://xahlee.info/mswin/windows_mouse_hover_activate_window.html。

2022-10-03 09:07:59 116

原创 page 第二次机会法的arm底层实现机制

arm 页表的bit位描述,以及缺页流程了解。linux页表和arm 页表关系。底层汇编代码了解梳理。

2022-09-25 23:32:51 447

原创 wsl使用实践

前置条件打开开发者选项启动或关闭windows功能中选择打开虚拟机选项启动或关闭windows功能中选择,如下图允许使用 windows支持linux功能启动或关闭windows功能中选择4. windows store安装wsl我升级的是20.04.1 , 20.04.4升级失败没有找到原因,ubuntu 版本没有尝试,看时间比22.04.1晚,后面尝试。5. 启动。

2022-09-05 07:33:17 313

原创 vmware ubuntu 操作

菜单栏中, 虚拟机-》设置-》共享目录所在地方:/mn/hgfsps: 可能需要在步骤之前安装好 open vm tools或者 vmware tools。

2022-09-03 20:01:39 237

原创 do_cow_fault

1) so 映射的 rw的数据段,bss段2)私有文件映射,如脏牛漏洞例子3) 一些不希望修改源文件的场景,可能某些调试和trace场景需要,如/proc/pid/mem。

2022-08-19 00:29:14 159

原创 smmu梳理

参考引用见参考资料章节)访问非连续的地址现在系统中很少再预留连续的memory,如果Master需要很多memory,可以通过SMMU把一些非连续的PA映射到连续的VA,例如给DMA,VPU,DPU使用。32位转换成64位现在很多系统是64位的,但是有些Master还是32位的,只能访问低4GB空间,如果访问更大的地址空间需要软硬件参与交换memory,实现起来比较复杂,也可以通过SMMU来解决,Master发出来的32位的地址,通过SMMU转换成64位,就很容易访问高地址空间。...

2022-07-17 21:26:10 770

原创 lto 文章

referencehttps://github.com/andikleen/linux-miscphoronix lto系列文章

2022-03-18 09:36:21 122

原创 gitee 操作总结

git操作git config --global user.name “用户名”git config --global user.email “邮箱”git initInitialized empty Git repository in D:/code/my_code/python/text/gitee/python/.git/$ touch README.md$ git add README.md$ git commit -m “first commit”[master (root-com

2022-02-12 20:26:06 690

原创 uio驱动框架

核心,利用mmap进行映射参考资料uio 编写实例 1 https://blog.csdn.net/wujiangguizhen/article/details/12453253uio编写实例 2 https://blog.csdn.net/sunjing_/article/details/74725976https://blog.csdn.net/lsz137105/article/details/100588871...

2022-01-10 23:18:07 327

原创 linux kernel ptrace 流程梳理

ptrace 背景ptrace 是linux 中跟踪进程使用的一种方式手段,主要方法是使用stop 信号将目的进程stop掉, 然后使用gup.c中的get_user_page对目的进程的地址空间进行访问从代码角度讲,ptrace 是linux 的一个系统调用, 详细描述可以man ptrace查看代码流程ptrace 系统调用代码文件 kernel/ptrace.c主要代码流程:ptrace_attach: 1) ptrace_link将自己链接到parent 2) 将对方任务stop掉,

2021-11-07 21:54:35 365

原创 技术博客学习网址

个人博客https://blog.codinghorror.com/https://www.joelonsoftware.com/http://blog.cleancoder.com/https://medium.com/@steve.yegge

2021-10-03 15:54:21 933

原创 linux 关注网站

内核开发资讯核心网站https://www.phoronix.com/scan.php?page=homehttps://lwn.net/linux 内核开发https://www.linux.com/https://kernelnewbies.org/ linux开发者需要重点关注的网站https://lkml.org/lkml/ 邮件列表网站it新闻类网站https://slashdot.org/ it类的前沿新闻https://www.theregister.com/ IT

2021-10-01 21:32:57 405 1

原创 指令执行时间

参考资料http://norvig.com/21-days.html#answers

2021-08-16 16:20:25 94

原创 边缘计算资料整理

参考资料2020年边缘计算发展https://mp.weixin.qq.com/s?__biz=MzIyNDc4MTQxNw==&mid=2247484971&idx=1&sn=2f8ea7a07fcc55c8e849f22625861825&chksm=e808f32ddf7f7a3ba4d637d9f714c79d696af4c42a2985a3124e92128e35d43a33cbbcd01e6b&scene=21#wechat_redirect...

2021-07-25 16:34:19 118

原创 体系结构体

参考资料基于深入理解计算机系统进行的总结https://blog.csdn.net/jisuanji198509/article/details/80474613top_down的性能分析方法https://zhuanlan.zhihu.com/p/64529137

2021-07-18 15:59:29 54

原创 cfs调度的抢占

结论分析不能的policy之间是可以抢占的,比如sched_normal policy可以抢占sched_idle policy 的任务。 sched_batch 不抢占唤醒时的唤醒任务和被幻想任务,如果两个特性 next_buddy 以及 last_buddy被打开的话,是可以支持抢占的如果wakeup任务的vruntime时间小于curr的vruntime时间,差值大于sysctl_sched_wakeup_granularity, 则设置next_buddy (set_next_buddy)

2021-07-08 22:57:58 182

原创 linux cfs调度算法理解

cfs调度算法理解时间片计算方法整体理解:根据优先级权重分享调度周期的时间公式:sched_slice = (task_load / rq_load_total) * sched_latencysched_latency 在linux上面是有配置i的,当任务小于8个的时候,使用sched_latency , 如果大于8个的话, rq上面的任务个数*sched_granurity.ubuntu 上面的配置如下:调度周期 sched_latency,即调度队列中所有任务时间片执行一次的时间对应

2021-07-04 16:57:25 798 3

原创 cgroup cpu group 源码分析

cpu group pick_next函数以下代码来自 pick_next_task_fair···6739 /*6740 * Because of the set_next_buddy() in dequeue_task_fair() it is rather6741 * likely that a next task is from the same cgroup as the current.6742 *6743

2021-06-20 23:10:00 185

原创 技术大会整理

会议列表中国内核开发者大会 clk 时间:10/242020年中国嵌入式技术大会 9/10各个手机发布会 华为/小米/ov各个公司开发者大会linux相关开发者大会KubeCon和CloudNativeConhttps://blog.csdn.net/lQ1NS259ej3OKYvK4Jf/article/details/83353474?ops_request_misc=&request_id=&biz_id=102&utm_term=%E4%BC%9

2021-06-19 07:37:33 133

原创 cgroup_memcg

总结参考资料各个group参数配置说明,包含softlimit 讲解https://blog.csdn.net/pillarbuaa/article/details/79207036

2021-06-14 23:01:11 116

原创 namespace

原理简介task struct 成员 nsproxy系统内部函数有一个参数是namespace, 使用current->nxproxy传入进行设置namespace 创建fork 流程处理主要源文件:fs/namespace.c参考资料源码分析https://blog.csdn.net/WaltonWang/article/details/53900248源码和命名空间实验https://blog.csdn.net/zhonglinzhang/article/detail

2021-06-14 21:45:45 61

原创 kata container

kata 原理总结:docker 技术和vm 技术的折中方案。更薄的vm, 以及小的minios 以及文件系统image(只有init 和kata agent),将容器引擎移到host os上面。

2021-06-14 14:28:59 129

原创 云原生相关技术学习

容器运行时:https://zhuanlan.zhihu.com/p/104638785k8s组件https://blog.csdn.net/qq_45534034/article/details/112691474zookeeper:那么Zookeeper能做什么事情呢,简单的例子:假设我们有20个搜索引擎的服务器(每个负责总索引中的一部分的搜索任务)和一个总服务器(负责向这20个搜索引擎的服务器发出搜索请求并合并结果集),一个备用的总服务器(负责当总服务器宕机时替换总服务器),一个web的cg

2021-06-11 08:28:08 63

原创 vscode编辑器

常用插件c++ intellisense/C/C++ for Visual Studio Codegitlenscomparethuawei:wecode c++, wecode(foundation, intelli, codecheck, codereview), nextcode 组件远程gdb调试:remotedev, remote build dev单词拼写检查,code Spellchecker语法检查:clang checkBracket Pair Colorizerau

2021-06-06 08:28:06 200

原创 gdb 代码调试

GDBlinux 源码级别调试layout nextlayout src 源码窗口layout regs 寄存器窗口focus cmd/src/asm/regs/next/prev更新源代码窗口和当前执行点updatehttps://blog.csdn.net/weixin_41783335/article/details/103110159?utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2aggregatep

2021-06-05 23:50:54 39

原创 vim学习总结

vim搜索文件插件CtrlP,Command-T,FuzzFinder,Unitesnipt提高代码编写速度方法语法检查:https://zhuanlan.zhihu.com/p/261665352

2021-05-23 21:52:40 105

原创 page类型

evictablepage dirtyclear_page_dirty_for_io 在实际文件系统中大量存在,但是都是为了支持这些文件系统的一些特殊的特性,比如f2fs的垃圾回收.mm/page-writeback.c 2228行左右,发现在调用实际文件系统的writeback写回之前,会将文件的脏位取消掉,所以到真正的的write_back之前,其实page的dirty位已经没有了!同时,write_one_page函数中,在调用珍重的writeback函数之前也会把页的脏位去掉!

2021-05-16 23:00:55 510

原创 ebpf

参考资料https://blog.csdn.net/Rong_Toa/article/details/108993870 字节总结https://kernel.taobao.org/2019/05/bcc_to_xdp/ 阿里总结

2021-05-15 22:20:12 105

原创 性能调优整理

perf调度时延perf sched record sleep 5perf sched latency --sort maxperf 使用probe打桩打印调用栈(使用jprobe 实现,自己写jprobe也可以实现打印调用栈)perf probe -a enqueue_entityperf record -e probe:enqueue_entity -ag sleepperf report参考资料https://blog.csdn.net/yiyeguzhou100/article/

2021-05-09 21:46:47 149

原创 linux 负载

负载定义load_avg/util_avginclude/linux/sched.h有定义struct sched_avg {load_avg 包含进程睡眠所花的时间runnalbe_load_avg只包含任务在rq上面所花费的时间代码区别查看分析确认:数据结构task_struct -> sched_entity -> sched_avgcfs_rq-> sched_entity(curr, last, next)->-> sched_avg和cg

2021-05-09 15:50:44 255

原创 vmware

电脑重启后虚拟机破坏不能启动https://www.jb51.net/diannaojichu/380769.html

2021-05-08 23:01:27 56

原创 2021-04-13

内存回收参考资料内存回收https://www.cnblogs.com/LoyenWang/p/11827153.html

2021-04-17 20:05:44 41

原创 linux收发数据包

缓冲区总结ring_buffer 网卡的缓冲区,和硬件相关,只保存skb_buf head, 不保存数据。 数据保存在nic memory中txquelen qdisk_len , 需要和ring_buffer设置的大小保持一致。back_log_len napi_pool 从里面区数据。 硬件中断将数据从nic_memory中拷贝到soft_net的input_queue_len中?sock读写缓冲区中断收包流程drivers/net/ethernet/amd/ni65.cni65

2021-04-13 21:33:59 93

原创 网络问题定位

参考资料arm包丢失导致的网络连接慢问题https://www.ithothub.com/tcp/2020042311392206.html

2021-04-12 23:51:19 258

原创 cache

体系结构知识多路组相连:将cache划分成n个相等的部分,这样每路的相同地址有1/n的概率不会被替换。cache flush知识

2021-04-06 21:25:32 47

原创 页表属性总结

参考资料Linux内核缺页二三事https://blog.csdn.net/rockrockwu/article/details/80993594

2021-04-06 21:11:36 299

原创 unikernel

参考资料http://www.uml.org.cn/itnews/2016051008.asp

2021-04-05 22:27:58 196

原创 arm64

参考资料arm32和arm64寄存器对比https://blog.csdn.net/qq_24601427/article/details/103297055

2021-04-05 19:51:27 75

原创 namespace原理

参考资料https://blog.csdn.net/zhonglinzhang/article/details/64441263

2021-04-05 12:46:31 145

原创 docker 容器

容器的基本原理容器技术是一种轻量级的虚拟化技术,通过使用cgroup+namespace+rootfs隔离(pirot_chroot)+ libcontainer, 虚拟分配计算资源,达到合理利用空闲资源的目的。各个容器是共用内核的,因此容器隔离性没有传统虚拟机隔离的彻底。比如,如果插入一个ko导致panic, 整个机器都会复位。容器= cgroup+namesapce+rootfs(文件系统隔离)+容器引擎(libcontainer, 负责容器的创建和生命周期管理)详细技术namespace

2021-04-05 12:01:37 101

软件工程师知识体系架构

软件工程师知识体系架构

2017-08-05

linux 设备驱动程序 代码

linux 设备驱动程序一书的代码 ,驱动开发者可以参考。

2014-08-31

linux 系统管理员手册 英文版

Linux 系统管理员手册, linux 管理必备书籍

2013-03-25

TFT-6862液晶模块资料SmartARM2400开发板驱动手册LQ035Q1DG01_Spec.pdf

TFT-6862液晶模块资料SmartARM2400开发板驱动手册LQ035Q1DG01_Spec.pdf

2011-03-16

usb+host+寄存器描述OHCI_Spec_Registers

通用usb host 寄存器的描述,一般在芯片文档中是没有的

2010-08-15

Bootloader技术内幕

Bootloader技术内幕,Bootloader入门的好资料

2010-06-14

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除