一、几个重要的数据结构,可以通过windbg的dt命令查看其详细信息_PEB、_PEB_LDR_DATA、_LDR_DATA_TABLE_ENTRY二、技术原理1、通过fs:[30h]获取当前进程的_PEB结构2、通过_PEB的Ldr成员获取_PEB_LDR_DATA结构3、通过_PEB_LDR_DATA的InMemoryOrderModuleList成员获取_LIST_ENT
3c
f5
bc
转载 2023-04-03 17:22:30
362阅读
      在程序开发过程中,LOG是广泛使用的用来记录程序执行过程的机制,它既可以用于程序调试,也可以用于产品运营中的事件记录。在Android系统中,提供了简单、便利的LOG机制,开发人员可以方便地使用。在这一篇文章中,我们简单介绍在Android内核空间和用户空间中LOG的使用和查看方法  一. 内核开发时LOG的使用。Android内核是基于Linu
转载 2024-02-06 14:07:27
47阅读
老机器配置如下:赛扬733,VIA芯片组,北桥VT82C693A,南桥VT82C686A,应该是Appllo Pro133的板子,支持133M外频,AGP 2X ,UDMA/66。显卡nVidia Geforce2 MX400。网卡AFL8139D。板载声卡。硬盘两块,主盘昆腾20.5G,丛盘希捷80G。主要现象:安装了win2000sp4+Rollup1补丁包。运行很不稳定,频繁出现蓝屏。在安装
转载 2024-05-06 14:35:47
109阅读
# Android Kernel 加载外部模块的完整教程 在Android开发中,有时我们需要将内核模块(通常以 `.ko` 文件形式存在)加载到运行中的内核中,以便为新的硬件或功能提供支持。本文将详细介绍这一过程,包括每一个步骤需要执行的操作、代码示例及其注释,帮助你更好地理解Android内核模块的加载。 ## 整体流程 下面是加载Android内核模块的整体步骤: ```markdo
原创 7月前
222阅读
在使用Linux系统的过程中,有时我们会遇到一些问题,比如无法加载kernel(内核)的情况。Kernel作为Linux系统的核心部分,是系统启动的重要组成部分之一。它负责管理硬件资源、文件系统和系统进程等,因此如果无法加载kernel,整个系统就无法正常运行。 引起无法加载kernel的原因可能有很多,可能是系统文件丢失、硬件问题、软件冲突等。在遇到这种情况时,我们需要进行一系列的排查和修复措
原创 2024-04-16 10:54:28
545阅读
日常中centos7 内核版本一直比较保守,比较低,很多时候我们需要新版本的
原创 2022-09-25 00:40:00
249阅读
了解完kernel启动以前的汇编之后我们来看看正式的c语言启动代码,也就是我们的start_kernel函数了。start_kernel相当大,里面每一个调用到的函数都足够我们伤脑筋了,我这里只是浅尝辄止的描述一下函数的功能,从而对kernel启动的过程有一个比较直观的了解。很多函数真正理解需要对linux相关体系有很深的了解,暂时没有时间深入,留待以后了。    
转载 2024-05-18 16:24:33
35阅读
在这篇文章中,我将分享关于“android kernel lcd加载流程”的知识,特别是如何解决相关问题的过程。这将涵盖从环境准备、分步指南、配置详解到验证测试、优化技巧和扩展应用等多个方面,将会包含各类图表和代码示例,以帮助大家更好地理解整个流程。 ## 环境准备 在进行android kernel lcd的加载流程之前,首先需要对环境进行准备。 ### 前置依赖安装 确保安装以下依赖软
原创 6月前
48阅读
目录准备Android-x86的iso镜像准备kvm虚拟化环境检测是否支持KVM安装 KVM 环境虚拟化嵌套(VM-in-VM)开启 nested 方法创建kvm虚拟机创建虚拟机磁盘创建虚拟机安装Android-x86系统Android 调试桥 (adb)准备Android-x86的iso镜像可以在Download | Android-x86 处下载[root@localhost ~]#
转载 2023-07-06 14:50:59
129阅读
1、u-boot的启动流程:   从文件层面上看主要流程是在两个文件中:cpu/arm920t/start.s,lib_arm/board.c,    1)start.s  在flash中执行的引导代码,也就是bootloader中的stage1,负责初始化硬件环境,把u-boot从flash加载到RAM中去,然后跳到lib_arm/board.c中的start_armboot中去执行。 1
1. dtb添加linux,initrd-start 和 linux,initrd-end: chosen { bootargs = "console=ttyAMA0,115200 loglevel=7 panic=3 isolcpus=1"; linux,initrd-start = <0x100 ...
转载 2021-09-24 15:08:00
879阅读
2评论
1、物理地址:就是物理内存真正的地址,相当于内存中的每个存储单元的门牌号,具有唯一性。CPU最终都要以物理地址去访问内存,只有物理地址才是内存访问的终点站。物理地址,CPU可以直接用此地址访问内存。2、线性地址:线性地址,不过此时段基址已经不是真正的地址,而是一个称为选择子。它本质是个索引,类似于数组下标,通过这个索引便能在GDT中找到相应的段描述符,在该描述符中记录了该段的起始、大小等信息,这样
转自:http://blog.csdn.net/yangyiwei524386/article/details/7419667要是做过uboot开发,就是会遇到过运行地址加载地址的概念,确实比较抽象与模糊,网上很多解释都是说运行地址就是加载地址,还有就是他们有很大的关系。其实他们根本一点关系都没有,但是很巧合他们很多时候都是相同的,加 载地址:就是程序所被加载到RAM的地址,也就是程序在RAM或
转载 精选 2014-08-04 19:50:20
1462阅读
ModulePackage.lua------------------------------------ 模块与包 ------------------------------------ ------- 模块加载 -- Lua提供了一个名为require的函数来加载模块; -- require("<模块名>") 或者 require "<模块名>" -- requir
转载 2024-04-12 14:38:28
100阅读
Android 敏捷开发助手Lottie动画 轻松使用PNG、JPG等普通图片高保真转SVG图Android 完美的蒙层方案Android MMKV框架引入使用强大无匹的自定义下拉列表Google Protobuf 实践使用开发 MMKV框架引入使用前言MMKV 原理功能特性使用实践MMKV 、 SharedPreferences、SQLite 对比SharedPreferences 迁移总结
转载 2023-11-04 15:46:08
93阅读
之前在学习Android的时候有写过如果在Android中使用OpenGL,当时完全都是用java语言来实现的,现在我们用NDK来实现一次。实现的思路就是将渲染器中的onDrawFrame,onSurfaceChanged,onSurfaceCreated分别在C中实现,然后将C编译成.so文件之后在Java中直接调用相应的函数就可以了。步骤就不详细叙述了,代码贴一下。主Activity:pack
转载 2024-01-27 17:04:17
35阅读
script标签, 即 html中的 js脚本区域中:它其实就是一个 普通的 html标签, 在 html 渲染器 parser 看来, 它跟其他任何的普通 的 html标签 , 比如 p 标签, 比如 div 标签 等等, 没有 什么两样,因此, 凡是在 html 的 任何 普通标签中, 比如 div 标签中, 可以使用的 任何东西, 在 js script 标签 中, 都是 一样的 使用 ,
驱动开发学习笔记. 0.07 Uboot链接地址 加载地址 和 链接脚本地址最近重新看了乾龙_Heron的《ARM 上电启动及 Uboot 代码分析》(下简称《代码分析》)文档里写道: Uboot.lds文件中起始地址是0x00,但是config.mk中的TEXT_BASE是0x57e00000,但是生成的uboot反汇编文件中,为什 么start.s的第一条指令地址也是0x57e000
转载 2024-07-31 13:29:02
64阅读
转载 2012-03-24 18:01:00
126阅读
1.天地图官网http://www.tianditu.gov.cn/2.申请key注意:天地图自2019年1月 1日起需获得开发授权,然后在引用的API 地址后增加授权信息即可(&tk=您的密钥),申请地址如下https://console.tianditu.gov.cn/api/key,按照网站提示步骤申请即可。3.调用4.确定天地图服务 天地图共有 8 个服务地址,子域名分别从 t0
转载 2024-01-30 14:37:29
374阅读
  • 1
  • 2
  • 3
  • 4
  • 5