自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 资源 (3)
  • 收藏
  • 关注

原创 CallStack Android Native system/core/include/android/log.h:120:20: error: ‘__format__‘ attribute arg

Android Native 代码加入CallStack 时,编译报错In file included from system/core/include/utils/CallStack.h:20:system/core/include/android/log.h:120:20: error: '__format__' attribute argument not supported: LogOutput [-Werror,-Wignored-attributes] __attribute__((

2020-09-04 17:22:23 252

原创 fixdep.c 分析

使用gcc -MD 生成目标时,同时会生成依赖文件例如,新建一个main.c#include <stdio.h>int main(){ printf("Hello World !"); return 0;}执行gcc -MD main.c -o main.o,生成两个文件main.o,main.d,main.d就是依赖文件的输出内容如下main.o: main....

2020-04-10 14:11:25 781

原创 u-boot-2009.11.y 根目录kbuild sed-y分析

# Default sed regexp - multiline due to syntax constraintsdefine sed-y "s:[[:space:]]*\.ascii[[:space:]]*\"\(.*\)\":\1:; \ /^->/{s:->#\(.*\):/* \1 */:; \ s:^->\([^ ]*\) [\$$#]*\([-0-9]*\)...

2019-12-21 15:57:40 261

原创 ARM架构二 ARMv5T架构简介

本文是根据ARM官方文档,翻译整理的。ARM架构特点ARM架构属于精简指令集(Reduced Instruction Set Computer (RISC))。拥有精简指令集的共有特点,另外还有自己所特有的特点。精简指令集特点:大量寄存器加载/存储结构,只操作寄存器里内容(我不确定ARM是不是只能操作寄存器里的内容)简单的寻址模式,所有地址由寄存器和指令字段决定(指令字段是什么意思,...

2019-11-30 15:11:53 1934

原创 Arm架构 一 简介

目前Arm处理器架构被分为三类A结构例如,Contex-A53 Contex-A72此类内核,高性能,为运行系统设计,拥有多种工作模式,MMUR结构专为实时性系统设计,常见于网络设备M结构低能耗,高效能,常见于Iot设备,例如Contex-M0,Contex-M3,Contex-M4ARM架构不仅限于处理器内核,还有总线和中断等ARMAMBAGICARM将架构分为...

2019-11-29 10:59:50 481

原创 echo数据到/dev/kmsg,并控制等级

Linux系统中,如果我们有root权限,可以直接echo信息到/dev/kmsg,这样在dmesg中就会出现我们的echo的信息。例如:sudmesg -w &echo test > /dev/kmsg执行以上shell指令,会输出但是这样输出的默认是W等级的,能否控制输出的等级呢?我们知道dmesg里面的内容,通过printk可以输入,那我们去查看printk源...

2019-11-21 10:29:15 4663

原创 Android P Vold分析 VolumeBase::create()中的setState(State::kUnmounted)

VolumeBase在构造时,已经将状态设置为Unmounted,为什么在create里还要再次设置呢?下面是VolumeBase的构造VolumeBase::VolumeBase(Type type) : mType(type), mMountFlags(0), mMountUserId(-1), mCreated(false), mState( ...

2019-11-20 13:33:05 981 1

原创 Android P Vold分析 一次U盘挂载时序

一次u盘挂载时序,忽略一些细节,因为用的Visual Paradigm 试用版,水印较多,尽请见谅

2019-11-14 16:02:17 654

原创 u-boot-2009.11.y Makefile分析 (一)

make XXX_defconfig我们编译u-boot,一般第一步使用make xxx_config,现在来分析下这个makefile目标的执行首先在源码目录下Makefile中,找到这个目标%config: scripts_basic outputmakefile FORCE $(Q)$(MAKE) $(build)=scripts/kconfig $@这个目标依赖与三个目标,sc...

2019-11-11 10:24:58 200

原创 驱动编译错误

In file included from ./include/linux/module.h:18:0, from drivers/char/globalmem/globalmem.c:1:./include/linux/moduleparam.h:22:1: error: expected ‘,’ or ‘;’ before ‘static’ static ...

2019-11-05 16:17:03 611 3

原创 Error: Could not find or load main class ***

今天自己手动javac编译几个java文件,互相之间有引用,并且取了包名com.xpc.observer编译结束后,java MainClassName报错,后来发现要在com/xpc/observer的上层目录运行java com.xpc.observer.MainClassName...

2019-08-13 18:36:26 520

原创 反编译andriod dtbo.img 为dts

反编译andriod dtbo.img 为dts需要的两个工具mkdtimg在源码目录out/host/linux-x86/bin/mkdtimg mkdtimg <command> commands: help, dump, create, cfg_create mkdtimg help all mkdtimg help <comm...

2019-07-09 13:50:02 10047

原创 进入保护模式后重启

这两个在弄x86的保护模式,在bochs上程序正常,但是在真实硬件上却总是重启,最后终于找到,因为用了cli关闭所有中断,这个指令应该不会影响int n的使用,事实上,如果使用过cli,再使用int n,在硬件上就会重启,这是个bug?...

2019-06-04 14:43:25 418

原创 将Linux-0.00用nasm格式重写,并且把8259的定时器0中断替换为RTC时钟中断

参考资料https://blog.csdn.net/weixin_33737774/article/details/86952055https://my.oschina.net/findurl/blog/188123代码见我的git仓库:https://github.com/xpc19951023/linux_0.12_update.git...

2019-06-02 13:24:25 222

原创 C++11 条件变量例程 condition_variable

#include <iostream>#include <thread>#include <queue>#include <condition_variable>#include <assert.h>#define MAX_CAPACITY 20std::queue<int> commodity;//商品...

2019-05-15 11:11:01 176

原创 MFC中显示Opencv的Mat 图像,视频

// TODO: 在此添加额外的初始化代码 namedWindow("view", WINDOW_AUTOSIZE);//这段程序是将opencv窗口父窗口设置为PictureContrlo,这里设置了四个窗口, HWND hWnd = (HWND)cvGetWindowHandle("view");//hWnd和hParent只能定义一次,多次使用,否则会出现异常的现象,窗口分离 H...

2018-04-25 14:04:59 666

原创 使用std::thread时的illegal instruction错误

使用std::thread时的illegal instruction错误    在使用多线程时,出现了illegal instruction错误,经仔细排查,发现错误的原因非常可笑,是因为线程函数没写返回值。错误示例:void * function(void *arg){ printf("function\n"); sleep(5); //没有返回值}int mai...

2018-03-26 13:23:45 340

原创 EGL opengl多线程绘制

opengl多线程绘制实现效果:opengl开启两个线程,一个线程用于绘制,另一个线程用于加载纹理。实现方法:opengl是单线程的,其他线程不能访问另外线程的纹理资源,但是,如果两个线程共享上下文,就可以访问彼此的纹理资源。绘制线程:创建两个上下文//只有主要代码...context = eglCreateContext(display, config, NULL, ctxAttribs);...

2018-03-26 13:13:13 3309 1

原创 openGL纹理导致内存泄露

今天调试程序时,发现内存老是泄露,经过不断的排查,确定是因为纹理的使用问题。我的程序有一个死循环,纹理创建在死循环里,导致内存泄露,而且没有使用glDeleteTextures(1,&id);//函数释放内存而后我在析构函数中释放内存,当只使用一个纹理时,程序正常,当使用两个纹理时,程序还是错误。而后我又不断找资料,终于在这篇博客里找到问题http://blog.csdn.net/hu

2018-01-22 11:18:45 5391 1

i2ctools.rar

ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), statically linked, stripped

2020-08-04

linux 0.12 源码 tar格式

自己下载的0.12源码,将他们按文件夹整理出来,方便查看源码的目录结构和尝试编译早起linux代码,理解linux结构。

2019-04-23

CSerial类在vs2015中开发的简单串口通信程序

该例程在VS2015开发环境中,使用CSerial类,实现了串口通信。可发送和接收字符串,设置串口常见属性,并支持在此基础上改写。

2017-01-25

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

TA关注的人

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