代码分析

2024/4/14 15:45:04

arm linux 从入口到start_kernel 代码分析——head.S分析——4

arm linux 从入口到start_kernel 代码分析 - 4 (2008-07-30 16:04:50) 转载标签: it 分类:kernel 3. 创建页表 通过前面的两步,我们已经确定了processor type 和 machine type.此时,一些特定寄存器的值如下所示:r8 machine info (struct machine_…

c/c++常用网址

个人主页 Dennis Ritchies home page http://cm.bell-labs.com/cm/cs/who/dmr/index.html Brian Kernighans home page http://cm.bell-labs.com/cm/cs/who/bwk/index.html W. Richard Stevens Home Page http://www.kohala.com/start/ Bjarne Stroustrups homepage http://…

Xen从启动到运行的调度相关代码分析

xen/arch/x86/boot/x86_64.S 从启动到到进入运行状态 __call __start_xen | |__ __start_xen | |__init_idle_domain | | | |__scheduler_init() | | | |__SCHED_OP(init) | | | |__ops.init() -> csched_init() | | |__re…

1D.7 张兆庆教授编译组为英特尔开发出开放源码编译器

http://www.cas.cn/jzd/jcx/jcxwh/200209/t20020905_1034512.shtml □撰稿人:刘振坤(科学时报社) 中科院计算所编译组自60年代起,承担了院、国家科研攻关项目,自主开发了若干国产大型机的语言编译系统。90 年后开发了共享内存、分布式内…

arm linux 从入口到start_kernel 代码分析——head.S分析——1

本文针对arm linux, 从kernel的第一条指令开始分析,一直分析到进入start_kernel()函数.我们当前以linux-2.6.19内核版本作为范例来分析,本文中所有的代码,前面都会加上行号以便于和源码进行对照.例:在文件init/main.c中:00478: asmlinkage void __init start_kernel(void)前面的…

arm linux 从入口到start_kernel 代码分析——head.S分析——6

arm linux 从入口到start_kernel 代码分析 - 6 (2008-07-30 16:07:15) 转载标签: it 分类:kernel 5. 开启mmu 开启mmu是又函数 __enable_mmu 实现的. 在进入 __enable_mmu 的时候, r0中已经存放了控制寄存器c1的一些配置(在上一步中…

arm linux 从入口到start_kernel 代码分析——head.S分析——7end

arm linux 从入口到start_kernel 代码分析 - 7(end) (2008-07-30 16:08:30) 转载标签: it 分类:kernel 6. 切换数据 在 arch/arm/kernel/head-common.S 中: 00014: .type __switch_data, %object00015: __switch_data:00016: .long __mmap_switched000…

操作系统经典书籍推荐

看了篇文章,是评述操作系统方面的经典书籍的,其观点我较为同意,特贴出来,其电子版的CSDN下载频道大多都有。 Abraham Silberschatz的两本书: 1. 实用操作系统概念(影印版) 2&#x…

数据流分析(一)

想学数据流分析的人还是找一个国外大学的讲义学吧,以下内容都是自己多年前按照自己的理解写的,很多内容可能会误人子弟,sorry 引子 编译器后端会对前端生成的中间代码做很多优化,也就是在保证程序语义不变的前提下,提…

IBM推代码分析软件可迅速纠错 单机版$3500

8月1日消息,据国外媒体报道,周四,有报道称,IBM公司最新推出了软件代码分析软件Rational Software Analyzer,可以帮助开发者能快速发现软件潜在的缺陷。据国外媒体报道,IBM最新推出了软件代码分析软件&#…

2011年国庆发布:(cppblog)C++博客十八罗汉造像

一、【乘鹿罗汉】杨粼波 随笔1082;文章45。 【技术特长】C,脚本引擎,FreeBSD 【活跃程度】活跃 【推荐博文】Ubuntu下的C/C环境搭建 【点评】牵着老婆满街逛的80后IT达人。 二、【喜庆罗汉】陈梓瀚 随笔261。 【技术特长】C,…

arm linux 从入口到start_kernel 代码分析——head.S分析——5

arm linux 从入口到start_kernel 代码分析 - 5 (2008-07-30 16:06:09) 转载标签: it 分类:kernel 4. 调用平台特定的 __cpu_flush 函数 当 __create_page_tables 返回之后 此时,一些特定寄存器的值如下所示:r4 pgtbl (page table 的物理基…

S3C2410-WinCE6.0-OAL的启动代码分析

到现在为止,我们已经了解了S3C2410平台上WinCE6.0的启动过程,包括NBOOT、EBOOT、OAL.exe、Kernel.dll的工作流程。关于WINCE600的目录也做了介绍。准备工作都做好了,接下来开始介绍S3C2410平台上WinCE6.0的移植。BSP的移植很大一部分是代码的…

WinCE 6.0中串口读数据函数代码分析

如下函数是在WINCE600/PUBLIC/COMMON/OAK/DRIVERS/USB/CLASS/USBSER目录下的示例数据读取代码,看了好多次,总是觉得这部分数据处理有点问题。详细的解释在代码中有解释。我认为目前这段代码还出现的原因就是出错的情况很小很小。大家都没有注意到这个问题…

arm linux 从入口到start_kernel 代码分析——head.S分析——3

arm linux 从入口到start_kernel 代码分析 - 3 (2008-07-30 16:03:39) 转载标签: it 分类:kernel 2. 确定 machine type arch/arm/kernel/head.S中:00079: bl __lookup_machine_type r5machinfo 00080: movs r8, r5 invalid machi…

Eboot启动代码分析

启动代码通常都是用处理器相应的汇编代码写成,比较晦涩,但是却包含了很多与平台相关的信息,对初始化代码进行分析有利于对平台的理解。本文将对Eboot的初始化代码进行分析,主要包含从Reset到进入C的main开始。mov r0, #0x4800…

1987年国际C语言混乱代码大赛获奖的一行代码

最近CoolShell博主做了一个很有意思的在线puzzle,这些谜题很有趣同时也有一定的难度。由于水平有限,我并没有通关,我觉得这些题还是很值得一做的,从中可以学到很多东西。 例如其中的第二题: 题目中给出了一个键盘和一…

标准linu休眠和唤醒机制分析(二)

三、pm_test属性文件读写 int pm_test_level TEST_NONE; static const char * const pm_tests[__TEST_AFTER_LAST] { [TEST_NONE] "none", [TEST_CORE] "core", [TEST_CPUS] "processors", [TEST_PLATFORM] "platform", [TEST…

函数调用的原理

一、 函数参数传递机制的基本理论   函数参数传递机制问题在本质上是调用函数(过程)和被调用函数(过程)在调用发生时进行通信的方法问题。基本的参数传递机制有两种:值传递和引用传递。以下讨论称调用其他函数的函数…

开源项目live555学习心得(一)

最近因项目开发需要,开始学习开源项目live555,特别将个人的一些学习心得做一下记录,如有理解不正确之处,欢迎各位朋友指出。 首先是源码的下载,这可以从http://www.live555.com上下载,同时上面亦提供了相关…

LORA项目源码解读

大模型fineturn技术中类似于核武器的LORA,简单而又高效。其理论基础为:在将通用大模型迁移到具体专业领域时,仅需要对其高维参数的低秩子空间进行更新。基于该朴素的逻辑,LORA降低大模型的fineturn门槛,模型训练时不需…

JavaParser的快速介绍

开发的工作主要是写代码, 有考虑过使用代码写代码, 使用代码分析和改进代码吗? JavaParser 就可以帮你用来处理Java 代码的这些功能。 Java Parser 的介绍 Java Parser是一个用于解析和分析Java源代码的开源工具。它提供了一个API接口&…

__define_initcall(level,fn)

在linux的驱动里经常会出现__define_initcall(level,fn)的用法,特别是在驱动,的init函数中,譬如I2C_ADAPTER的驱动有这样的函数subsys_initcall(imapx200_i2c_adap_init);关于它的具体用法,就参考下面的资料 宏定义__define_initcall(level,fn)对于内核的初始化很重要&#xff…

clang中的活跃性分析

引子 clang和LLVM都实现了活跃性分析,只是两者的目的不同,一个用于后续静态代码分析,一个用于后续的代码生成以及代码优化。clang活跃性分析实现主要在LiveVariables.h和LiveVariables.cpp这两个文件中,和常见的活跃性分析不同&a…

精通CSS.DIV网页样式与布局(二)

在前面的一篇文章中,我们已经阐述了CSS的基本语法,很基础;其实学习任何一个东西,都必须从基础开始。你没有好的基础,就想很钻研的很输入,那么到头来,还是有非常多的疑惑。其实我们学校里边上课&…

基于Linux2.6.35内核的zImage启动过程研究

环境: 硬件平台:ARM9 S3C2440 TQ2440开发板。 软件环境:VM7.1虚拟机;Fedora10;arm-linux-gcc 4.3.3;Linux2.6.35;u-boot2010.06(天嵌原版本) 一、 zImage、uImage和vmLinux相关概念 当正确…

go grpc-go 连接变动,导致全服 gRPC 重连 BUG 排查

问题描述 项目中遇到一个问题,每当有节点变更时,整个 gRPC 网络连接会重建 然后我对该问题做了下排查 最后发现是 gRPC Resolver 使用上的一个坑 问题代码 func (r *xxResolver) update(nodes []*registry.Node) {state : resolver.State{Addresses…

[FFMPEG]代码分析:ffmpeg.c

1.前沿 接触ffmpeg2年多,系统使用大概半年左右。ffmpeg命令行方式作为“本地文件”处理足够,但要更加精准的控制还是需要借用SDK的方式,好在ffmpeg的example中提供了大量的简单例子。好了废话不多说,开始干活。 ffmpeg版本3.22.主…

SerialPort类源代码分析

前几篇串口编程大致讲述了Windows下串口的大致操作,接下来分析流行的SerialPort类,它把Windows API封装好,方便开发利用 1、Win32下串口大致操作流程(1)打开串口:CreateFile函数(2)建立串口通信事件:CreateEvent函数(3)初始化串口…

浪潮集团通用软件公司使用微软VSTS经典案例

Visual Studio Team System 2005(VSTS)是微软结合MSF成功开发经验的基础上,最新开发的一套软件生命周期管理平台系统,它与Visual Studio 2005开发工具有机结合在一起,为架构设计、软件建模分析设计、静态代码分析、单元…

Delphi控件开发浅入深出(三)

三、开关控件TlincoSwitch 用过Delphi1(好古老的东东呀!)的人相信都记得这个开关控件,不知道当初Borland为什么把这么一个在开发普通应用程序中应用不到的工控控件放到Delphi中,而且在Delphi2及其以后的版本中再也没有…

1D.4 编译器架构LLVM

http://www.oschina.net/p/llvm LLVM从本质上来说,它不是一个编译器.它是一个编译器的架构.通俗的来说,它实现了一个库,在这个库上,可以很容易的实现不同的编译相关的程序,当然,编译器自然是其中最重要的一个. 当然其他像编译时间的代码分析也是很容易实现的。 LLVM定义了一个…

C/C++ 编译器选项

E :/ CEGUI / tolua - 1.0 . 92 / src / tests . simon > cl /? 用于 8 0x86 的 Microsoft (R) 32 位 C / C 优化编译器 14.00 . 50727.762 版 版权所有(C) Microsoft Corporation。保留所有权利。 C / C 编译器选项 …

关于Linux系统内核源代码分析经验谈

Linux的最大的好处之一就是它的源码公开。同时,公开的核心源码也吸引着无数的电脑爱好者和程序员;他们把解读和分析Linux的核心源码作为自己的最大兴趣,把修改Linux源码和改造Linux系统作为自己对计算机技术追求的最大目标。 Linux内核源码是…

arm linux 从入口到start_kernel 代码分析——head.S分析——2

arm linux 从入口到start_kernel 代码分析 - 2 (2008-07-30 16:02:43) 转载标签: it 分类:kernel 1. 确定 processor type arch/arm/kernel/head.S中:00075: mrc p15, 0, r9, c0, c0 get processor id 00076: bl __lookup_processor_type …

提高Prolog到C的编译(No.5-1)---未完成

http://clip.dia.fi.upm.es/papers/morales03:p-to-c-ciclops.pdf 提高Prolog到C的编译——使用类型和确定性的详细信息:初步结果 J. Moralesy *jfranclip.dia.fi.upm.esM. Carroy *mcarrofi.upm.esM. Hermenegildoy * #hermefi.upm.es摘要我们描述了目前的状况和…

set_current_state 应用

A: A是一个等待进程等待condition 满足过后退出死循环 A: while(1) { if ( condition ) //条件成立了 goto: OUT else{ //1:---------------------- set_current_state(TASK_UNINTERRUPTIBLE); schedule(); set_current_state(TASK_RUNNING); } }…

uboot搬移部分和重定位部分的代码分析

来看一下搬移部分和重定位部分的代码: relocate: /* 把U-BOOT重新定位到RAM*/ //r00; adr r0, _start /* r0是代码的当前位置*/ ldr r1, _TEXT_BASE /*测试判断是从FLASH启动,还是RAM *///r1TEXT_BASE 0x33F80000 cmp r0, r1 /*比较…

杀毒软件技术 脱壳、虚拟、启发式介绍

一、杀毒软件引擎与病毒库的关系   其实病毒库与杀毒引擎没有直接的关系,杀毒引擎的任务和功能非常简单,就是对指定的文件或者程序进行判断其是否合法。而病毒库,只不过是对杀毒引擎的一种补充,那个过程,就是杀毒引擎…

中断使能、禁止程序——之oem.c程序分析

刚才看了何宗健老师的书,在5.0BSP中,在系统启动阶段,除了时钟中断以外,其他中断都是关闭的。在加载驱动的时候,驱动程序负责加载自己所用到的驱动,方法是调用InterruptInitialize。真正工作的是OEMInterrup…

代码分析_Skywalking Php代码分析

这篇文章我们来分析Skywalking php是如何实现拦截的,以下是官方图片一、OpenTracing在分析代码之前,我们先了解下OpenTracing规范,OpenTracing规范用来解决分布式追踪规范问题,这样保证不管用什么样的语言开发,只要遵守…

idea 的代码分析

代码分析 IntelliJ IDEA 通过对代码的检查来进行代码分析。对 Java 和其他支持的语言有无数的代码检测行为存在。该检查不仅能发现编译错误,还能发现效率低下的问题代码。 当有 unreachable code, unused code, non-localized string, unresolved method, memory l…

tinypy源码笔记(三)——虚拟机启动过程以及字节码分析

启动过程 直接开门见山好了,程序入口为vmmain.c的main函数,启动过程总结起来是以下四步 实例化虚拟机,分配内存,初始化根节点对象,初始化GC编译,将python源文件编译成tpc字节码(python的字节码是pyc)执行…

关于DS18B20温度传感器的时序详解及代码分析

关于DS18B20温度传感器的时序详解及代码分析 简要说明测温工作**:**DS18B20的核心功能是它的直接读数字的温度传感器。温度传感器的精度为用户可编程的9,10,11或12位,分别以0.5℃,0.25℃,0.125℃和0.0625℃…

Linux内核源代码分析经验

Linux的最大的好处之一就是它的源码公开。同时,公开的核心源码也吸引着无数的电脑爱好者和程序员;他们把解读和分析Linux的核心源码作为自己的 最大兴趣,把修改Linux源码和改造Linux系统作为自己对计算机技术追求的最大目标。   Linux内核…

轻松有效检查Java代码的三个工具

作者: ZDNet ChinaThursday, May 29 2003 5:00 PM Java项目最枯燥的一部分,也是程序员总是避而不谈的一部分,就是检查代码。为了区块括号、代码缩进、Javadoc注释以及命名约定而检查其他人的上千行代码的确是一件痛苦的事。更糟糕的是&#x…

nm的用法

NMNAMESYNOPSISDESCRIPTIONOPTIONSSEE ALSONAME ​ nm - 列出对象文件中的符号 SYNOPSIS nm [-A|-o|--print-file-name] [-a|--debug-syms][-B|--formatbsd] [-C|--demangle[style]][-D|--dynamic] [-fformat|--formatformat][-g|--extern-only] [-h|--help][-l|--line-numbe…

在Flask中使用line_profiler分析代码性能

背景 当使用Flask进行Web开发,发现接口响应较慢或者超时的时候,我们可以借助性能分析工具line_profiler来查看每行代码的执行时间,从而找到原因。 用法一 定义一个装饰器,将line_profiler相关逻辑封装到装饰器中,在…

TWaver With JavaFX

JavaFX Script被抛弃以后,很久不关心JavaFX了,偶然发现JavaFX已经发展到2.2,而且已经绑定到JDK7中,看来Oracle对它还是蛮重视的。 看到有人在论坛提问TWaver有没有JavaFX版本,于是去Oracle网站上逛了一下,…

My Tag

My Tag 1 项目管理,研发管理,测试管理,质量管理,研发流程,测试流程,IPD,PDT,IPMT,PMP,PMT,CMM,CMMI,SPCA,SQA, 2 测试技术,测试方法,单元测试,集成测试,系统测试,验收测试,白盒测试,黑盒测试,自动化测试,测试计划,模板,测试模板,嵌入式, 3 VcTester,VcSmith,CodeTest,RTRT,C…

Linux设备模型之platform总线

platform是一个虚拟的总线驱动,但是它在工程的驱动开发中很重要,特别是在嵌入式设备中,由于很多设备都没有在真实的总线上,像dm9000网卡,因此需要一个总线来管理,platform便是最好的选择。 出处:http://er…

BM算法学习

BM算法全称为Boyer-Moore算法,与KMP算法相似是一种精确地模式匹配算法。一般来说比KMP算法更加高效。 与KMP算法比较 相似点:都是寻找模式串自身的规律,在匹配失效时获得最大的跳转距离; 不同点:实际操作中KMP算法是从…

QT登录窗口闪退的代码分析

最初使用:frmLogin w;w.show();//显示登录界面没问题,登录界面可正常运行 加了条件判据发现登录界面闪退 if(g_Caller ia) {//用户调用才显示登录界面 frmLogin w; w.show();//显示登录界面 } 改成如下写法登录界面正常显示 if(g_Caller ia) …

2007十大Web安全漏洞

安全组织9日发布2007年十大Web安全漏洞,而利用网页及cookies写作漏洞的跨站脚本攻击(XSS)登上首位. 开放Web软件安全计划(Open Web Application Security Project,OWASP)台湾分会今发表2007十大Web安全漏洞,年初曾发生在知名文件阅读器Adobe Acrobat Reader上的跨站脚本攻击(Cr…