OEMDebugInit可以看出,该函数是需要用户自己开发的,而且与硬件有关。PCLK
推荐 原创 2011-07-04 08:57:07
2072阅读
2点赞
1评论
       Eboot启动过程中,在经历了汇编的Startup.s后,跳转到了C语言的main.c文件的main函数中,该函数中实质上就是执行的BootloaderMain函数,那这样写的目的是什么呢?微软这样的设计是为了方便用户在Startup之后和BootloaderMain之前加入一些高级语言的处理代码。  &nbsp
原创 2011-06-23 20:26:40
1789阅读
1点赞
    由于下面分析的内容与硬件平台将会有紧密的联系,但是整体的处理流程类似,所以在开始先声明一下硬件平台:Android6410开发板BSP、WinCE6.0。本文的内容仅是本人在学习bootloader过程中的一些记录,如果有不正确的地方,还望指正。    上传的图片被自动缩小了,想看的话直接拖到下一个标签中看吧,那样看到的是大
推荐 原创 2011-07-05 21:32:04
5762阅读
1点赞
1评论
     先声明一下,图片太大,显示效果不佳,可以拖拽到新窗口中看。      在做好下载前的准备后,开始正式下载镜像。DownloadImage函数定义在文件blcommon.c中,下面是的源代码:   三个参数都是输出参数,分别输出镜像的开始位置、镜像的大小以及启动镜像的
推荐 原创 2011-07-07 22:05:31
3871阅读
1点赞
1评论
    在下载了内核镜像之后,进入到最后一个阶段OEMLaunch,在这里将完成eboot的最后一部分任务,并将跳转到OAL.exe开始启动内核。还是先给出该函数的源码如下: 先来看看这几个参数,都是从DownloadImage函数获得的,dwImageStart是镜像的起始位置,dwImageLength是镜像的大小,dwLaunchAddr是内核的启动地址,
原创 2011-07-15 22:54:42
2726阅读
<br />      startup.s对底层进行初始化后,调用main()。此函数一般位于main.c下面。main函数调用BLCOMMON.c下的BootloaderMain()函数。函数体如下:<br />void BootloaderMain (void)<br />{<br />      DWORD dwAction;   <br /
转载 2021-08-15 14:57:48
100阅读
一、参考资料框架源码解析系列
原创 2022-07-28 06:13:49
212阅读
商业源码VBPB源码C源码DELPHI源码分享★★★ http://www.data118.net/codes.htm J2EE企业分销管理系统(连锁分销) 综合物流系统源码(java+oracle) 家具营销物流管理系统(.net+sql) 俱乐部管理系统源码(c+sql) 南通外代物流管理系统(VFP) 大型酒店管理系统源码(delphi+sql) 汽车修配管理系统源码(pb
转载 2006-04-30 21:05:22
2355阅读
1评论
1、什么是JavaScript?1.1、概念JavaScript是目前web开发中不可缺少的脚本语言,js不需要编译即可运行,运行在客户端,需要通过浏览器来解析执行JavaScript代码。诞生于1995年,当时的主要目的是验证表单的数据是否合法。JavaScript本来应该叫LiveScript,但是在发布前夕,想搭上当时超热的java顺风车,临时把名字改为了JavaScript。(也就是说js
前言首先问大家一个问题,我们开发好 Java 代码是如何运行的?我们写了这么多年的代码,对于代码运行的流程是否清楚呢?是不是在 ide 中点一下 Run 启动就完事了,我们写的代码直接就跑起来了,其实在背后编译器和虚拟机默默的在帮我们承受了这一切。Java 程序从源文件创建到程序运行要经过两大步骤:1、源文件由编译器编译成字节码2、字节码由 Java 虚拟机解释运行。因为 Java 程序既要编译同
LeakCanary源码解析本文我们来看下LeakCanary的源码,以下内容基于com.squareup.leakcanary:leakcanary-android:1.6.3LeakCanary.install(this)从install方法进入public static @NonNull RefWatcher install(@NonNull Application application)
转载 2024-03-31 20:49:23
98阅读
前言前面写了一篇Sentinel的源码解析,主要侧重点在于Sentinel流程的运转原理。流控框架Sentinel源码解析,侧重点在整个流程。该篇文章将对里面的细节做深入剖析。统计数据StatisticSlot用来统计节点访问次数@SpiOrder(-7000) public class StatisticSlot extends AbstractLinkedProcessorSlot<De
转载 2024-03-26 21:59:24
62阅读
一、前言hhvm源码中充满了很多C++11的新特性,并且使用了各种设计模式如工厂,模板方法等,利用智能指针包裹指针,让delete没有肆意的出现模板,继承,explicit,纯虚函数的出现令代码中充满了惊喜例如下面这段代码:run_函数是pthread_create执行的函数  二、hhvm启动流程总览hhvm/main.cpp75行:调用execute_program函数进行
转载 2024-07-23 08:21:40
216阅读
HashMap 数据结构Java 1.7 HashMap 的数据结构是 数组 + 链表 Java 1.8 HashMap 的数据结构是 数组 + 链表 + 红黑树HashMap 重点参数这里是针对1.8总结的。 HashMap的默认初始化容量, 必须是二次幂static final int DEFAULT_INITIAL_CAPACITY = 1 << 4; // aka 16//最大
转载 2023-11-07 06:09:37
0阅读
前言最近在研究micropython的源码编译过程,简单记录下关于qstr部分内容,本篇文章基于micropython1.18版本源码,1.19版本及之后可能会略有差异。标识符与相应对象的联系Micropython中有很多标识符,例如lcd.py中出现的标识符有:import、lcd、init、print、“hello”。这些标识符最终都需要与某个对象或操作联系起来。那么这种联系是如何建立的呢?那
转载 2023-07-10 18:31:49
218阅读
之前已经有人对这个源代码做过分析了,参见这里选择从另外一个角度再次解析这部分代码,建议先阅读上面的博客内容:/* Converts Gregorian date to seconds since 1970-01-01 00:00:00. * Assumes input in normal date format, i.e. 1980-12-31 23:59:59 * => year=19
转载 2024-01-04 10:09:32
145阅读
CasCAS,compareand swap的缩写,中文翻译成比较并交换。CAS 操作包含三个操作数 —— 内存位置(V)、预期原值(A)和新值(B)。 如果内存位置的值与预期原值相匹配,那么处理器会自动将该位置值更新为新值 。否则,处理器不做任何操作。public class Test { public static int count = 0; private final st
为了让自己更好的使用egret,我瞄上了源码。    这个神奇的egret是怎么工作的,学好egret我们是否需要深入了解到什么程度?这些我们姑且不去思考,对源码的深入解读就是一个受益匪浅的过程。跟我来抽丝剥茧!就算刚接触egret,只会运行egret的Hello world你也可以跟着做。一、从安装说起从源码安装Egret http://docs.egret-lab
转载 2024-04-16 11:02:01
91阅读
  说到 strlen,最直接最naive的算法,就是逐位比较是否为 '\0'。inline size_t my_strlen(const char * str) { register size_t len = 0; while (*str++ != 0) len++; return len; }   而一个简单的尝试
转载 2024-08-12 16:58:07
72阅读
Sentry 是一个开源的实时错误追踪系统,可以帮助开发者实时监控并修复异常问题。它主要专注于持续集成、提高效率并且提升用户体验。Sentry 分为服务端和客户端 SDK,前者可以直接使用它家提供的在线服务,也可以本地自行搭建;后者提供了对多种主流语言和框架的支持,包括 React、Angular、Node、Django、RoR、PHP、Laravel、Android、.NET、JAVA 等。同时
  • 1
  • 2
  • 3
  • 4
  • 5