- 博客(23)
- 资源 (39)
- 收藏
- 关注
转载 Android Boot Sequence
In this post we will discuss about the boot process of Android operating system. As the Android is based on Linux Kernel , so its boot process will give good idea about Linux boot process also. Most a...
2018-05-29 19:06:16 1103
转载 android property system
android property systemProperty system is an important feature on android. It runs as a service and manages system configurations and status. All these configurations and status are properties. A prop...
2018-05-29 14:22:07 800
原创 Android的log问题
#include <utils/Log.h>#undef LOG_TAG#define LOG_TAG "SKHDI"#define SK_TRACE LOGI#define SK_INFO_TX(fmt,args...) ALOGI("[%s,%d]: " fmt ,__FUNCTION__, __LINE__,##args)#define SK_ERROR_TX(fmt,a...
2018-05-29 14:17:08 1220
原创 Android by-name机制
init: create symlinks to block device nodes eMMC block device names may change based on the detection order ofthe eMMC device and any other SD bus devices, such as a removable SDcard. This...
2018-05-29 14:15:37 4320
原创 mips简介
wiki:https://en.wikipedia.org/wiki/MIPS_architecture官方网站:https://www.mips.com/https://www.mips.com/?do-download=arm-to-mips-architecture-migration-guide《4KcProgMan.pdf》
2018-05-25 14:36:07 1740
原创 arm简介
British company ARM Holdings develops the architecture and licenses it to other companies, who design their own products that implement one of those architecturesProcessors that have a RISC archite...
2018-05-25 11:23:14 1803
转载 gcc内嵌汇编
6.43 How to Use Inline Assembly Language in C CodeThe asm keyword allows you to embed assembler instructions within C code. GCC provides two forms of inline asm statements. A basic asm statement is on...
2018-05-24 15:00:04 351
转载 Intel and AT&T 汇编区别
Intel and AT&T Syntax.Intel and AT&T syntax Assembly language are very different from each other in appearance, and this will lead to confusion when one first comes across AT&T syntax ...
2018-05-24 14:41:36 451
转载 Back to Basics: The Universal Asynchronous Receiver/Transmitter (UART)
Back to Basics: The Universal Asynchronous Receiver/Transmitter (UART)December 20, 2016 by Robert KeimThis technical brief explains some low-level details of the widespread—I might even say ubiquitous...
2018-05-24 10:43:31 455
转载 the-i2c-bus-hardware-implementation-details
The I2C Bus: Hardware Implementation DetailsDecember 20, 2015 by Robert KeimEssential information for understanding and designing the hardware needed for an I2C bus.Supporting InformationIntroduction ...
2018-05-24 10:39:36 499
转载 How Does a C Debugger Work? (GDB Ptrace/x86 example)
原文出处:https://blog.0x972.info/?d=2014/11/13/10/40/50-how-does-a-debugger-workWhen you use GDB, you can see that it has a complete control over your application process. Hit Ctrl-C while the application...
2018-05-24 10:29:54 408
原创 nandflash驱动详解
架构图+-----------+ system bus +-------------------+ CLE, io[8:0] +-------------------+ | cpu |←------------→ | nand controler | ←--------------→ | nand flash |+-...
2018-05-23 18:38:45 11571
原创 printf颜色
#define ANSI_RED “\ e [31; 1m” #define ANSI_YELLOW “\ e [33; 1m” #define ANSI_CYAN “\ e [36; 1m” #define ANSI_BLINK “\ e [5m” #define ANSI_NOBLINK “\ e [25m “#define ANSI_RESET “\ e [0m”#define ...
2018-05-22 13:45:45 219
原创 内存泄露调试经验
使用mallinfo确定是否有内存泄露:static struct mallinfo mi1,mi2;static struct timeval oldTime, currentTime;#define MALLOC_STAT_TIME (60)void sk_factory_test_malloc_stat(void){ gettimeofday (&currentTime, ...
2018-05-16 09:34:46 5766
原创 sed命令简介
Sed 简介sed 是一种新型的,非交互式的编辑器。它能执行与编辑器 vi 和 ex 相同的编辑任务。sed 编辑器没有提供交互式使用方式,使用者只能在命令行输入编辑命令、指定文件名,然后在屏幕上查看输出。sed 工作过程sed 编辑器逐行处理文件(或输入),并将输出结果发送到屏幕。 sed 的命令就是在 vi和 ed/ex 编辑器中见到的那些。 sed 把当前正在处理的行保存在一个临时缓存区中,...
2018-05-11 18:12:38 292
原创 linux 内存管理---伙伴系统(六)
start_kernel()调用mm_init()进行伙伴系统的初始化。static void __init mm_init(void){ /* * page_cgroup requires countinous pages as memmap * and it's bigger than MAX_ORDER unless SPARSEMEM. */ page_...
2018-05-04 14:20:02 880
原创 linux 内存管理---分页系统之物理页管理(五)
Linux把物理内存划分为三个层次来管理层次描述节点(Node)为了支持NUMA模型而引入的概念,node的划分主要根据访问速度,一个node中所有内存对于某个cpu来说访问速度相同,对于SMP来说,每个cpu都有本地内存,本地cpu访问速度较快,但是其他cpu却访问较慢,每个node用pg_data_t结构体来描述管理区(Zone)每个节点node根据用途不同被划分为多个zone, 用于表示不同...
2018-05-03 18:23:43 600
原创 linux 内存管理---分页系统之页表初始化(四)
arch_mem_init()在调用bootmem_init()函数完成bootmem的初始化之后调用paging_init()进行分页系统的初始化。分页系统就是将物理内存按页为单位进行描述,管理和映射。注意这里是mips cpu,不同的arch cpu初始化顺序可能不同, linux-3.3.8[arch/mips/mm/init.c]void __init paging_init(void){...
2018-05-03 18:15:20 820
转载 What does an idle CPU do?
原文出处:https://manybutfinite.com/post/what-does-an-idle-cpu-do/index.htmlIn the last post I said the fundamental axiom of OS behavior is that at any given time, exactly one and only one task is active o...
2018-05-02 15:06:57 326
原创 linux kernel启动代码分析
本文分析基于mips架构,linux-3.3.8一.kernel入口首先通过链接脚本找到kernel的入口1.内核是压缩过的/arch/mips/boot/compressed/Makefile ,将$(obj)/head.o $(obj)/decompress.o $(obj)/dbg.o $(obj)/piggy.o 链接为vmlinuz,链接脚本为ld.scriptvmlinuz: $(...
2018-05-02 14:40:56 2209
原创 linux中的asm-offsets.h和bounds.h
asm-offsets.h和bounds.h在内核中主要用于定义常量。asm-offsets.h用于定义特定成员相对结构体的偏移量,bounds.h用于定义资源的最大个数。顶层内核目录下kbuild文件定义了它们的生成规则:## Kbuild for top-level directory of the kernel# This file takes care of the following:#...
2018-05-02 11:21:00 1626
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人