- 博客(27)
- 资源 (13)
- 收藏
- 关注
原创 基于资源表的死锁检测实现
最近继续造轮子,Github完整源码见如下链接:https://github.com/CallonHuang/DeadLockCheck死锁一直是众多开发者碰到的难题,排查方式最多的就是gdb/strace+gdb(之前也写过相应博客),那么是否有一种使用纯应用的方式检测死锁的方法呢?本文即介绍一种基于资源表的死锁检测实现方法:使用宏定义或动态库优先加载将mutex相关函数捕获lock前,将锁地址/pid/函数调用地址等信息存储到请求的Hash表lock后,将锁地址/pid/函数调用地址等信息
2020-06-19 01:04:37 443
原创 简易伙伴系统的实现
最近项目上涉及内存管理,继而了解了伙伴系统,发现很有意思,于是实现了一版简单的,效率和参数校验上都没有太理会,仅仅正向测试了下,分享给大家,Github完整源码见如下链接(源码有注释图,更加清晰):简易版buddySystem两个核心的函数如下:int BuddyAlloc(BUDDY_TYPE buddy_type, void **viraddr){ int i = 0; BUDDY_INFO* target_node; if (free_area[buddy_type].
2020-05-18 22:56:38 808
原创 嵌入式调试经验分享
syscall(SYS_gettid)/getpid() 获取当前线程/进程号strace -tt -T -p tid/pid 获取当前线程/进程运行的系统调用得到的结果可能为:ioctl(237, xxx, xxx)或futex(0x11f4374, xxx, xxx)通过系统调用中第一个参...
2020-01-18 23:41:15 335
原创 OpenCL的简单使用
详情可见:https://github.com/CallonHuang/OpenCL_examples/tree/master/test_hello该例子源于Apple的hello程序,源例子使用clCreateProgramWithSource,后自己增加了clCreateProgramWithBinary的使用放在里面,并使用build.sh和宏进行封装,可以帮助大家简单了解OpenCL的...
2018-09-09 14:18:31 1698
原创 Hi3520D上手过程之Kernel前段学习
目录一、Kernel的入口二、Kernel的启动过程1. head.S过程分析(1)判断内核版本是否支持该CPU(2)保存RAM的起始物理地址到r8寄存器(3)校验参数的合法性(__vet_atags)(4)创建一级页表(5)保存最后的跳转地址,设置处理器和MMU相关寄存器(6)使能MMU(7)head.S的终点一、Kernel的入口在前一篇博客中,...
2018-06-10 22:24:51 1722
原创 Hi3520D上手过程之U-boot学习
目录一、烧写过程初探1. 说明文件2. 编译3. 烧写二、U-boot学习1. u-boot流程(1)u-boot起点(2)u-boot引导过程(3)u-boot终点2. u-boot命令新增-update一、烧写过程初探当拿到SDK时,找到源码路径解压,一般如下所示:运行sdk.unpack即可进行解压,若遇到不可运行的问题,可参考ht...
2018-06-06 21:41:46 2632 2
原创 简易版RaspberryPi人脸识别
详情见https://github.com/CallonHuang/RaspberryPi_faceDetect/tree/master/faceDetect
2017-05-10 10:25:30 1054
转载 【转】TensorBoard 在1.0 版本后的使用
转载自http://blog.csdn.net/yan_joy/article/details/60872685
2017-04-11 14:11:02 1709 1
转载 【转】tensorflow学习使用路线
版权声明:本文为博主hjimce的原创文章,原文地址为http://blog.csdn.net/hjimce/article/details/51899683。
2017-03-04 20:37:00 3317
原创 64位ubuntu16.04搭建嵌入式linux开发环境的奇葩问题
奇葩问题1:选择ubuntu镜像启动安装时,黑屏,使用网上方法去掉3D图形加速也不行宿主机上运行如下命令,重启宿主机netsh winsock reset 奇葩问题2:将交叉编译链路径添加进PATH 后运行arm-none-linux-gnueabi-gcc依然出现:No such file or directorysudo apt-get install lib32ncu...
2017-03-01 21:26:13 1890
转载 【转】Android Studio中Git的配置及协同开发
转载请标明出处: http://blog.csdn.net/xmxkf/article/details/51595096 本文出自:【openXu的博客】
2016-11-30 21:34:55 490
原创 多角度看Binder
学习Linux出于开源和对操作系统的好奇,学了一些源码知识和驱动编写知识,如今面对android,也应该好奇到究其源码的份上,而第一个需要攻克的,是binder。希望可以帮到更多的朋友。
2016-07-30 16:06:39 1022
原创 数据库了解及MySQL学习(持续更新)
数据库通过使用来了解,其中对MySQL的使用学习最多,希望可以帮到不了解数据库和想要学习MySQL的朋友~
2016-07-11 16:49:04 2016 1
转载 【转】【翻译】Android Support Library Features(二)
从开发手册中得到Android Support Library Features的说明,翻译成中文方便理解。
2016-05-19 23:48:10 645 1
转载 【转】【翻译】Android Support Library Features(一)
从开发手册中得到Android Support Library Features的说明,翻译成中文方便理解。
2016-05-19 23:45:14 691
原创 记使用Android SQLite遇到的小问题
之前一直是遇到activity需要保存数据就直接使用SQLite就好,但是有一天突然发现,我需要在其中一个Activity里访问另一个Activity建立的SQLiteDatabase,从而引出了该文。
2016-05-16 21:17:03 841
原创 6410为例的ARM启动linux流程
遇到有很多朋友学习了很久的ARM,会用它的很多功能,却对它的启动流程无从知晓,在此以6410为例,以一幅图总结了这一部分乃至6410启动linux的流程,希望对初学ARM尤其是6410的朋友有所帮助。
2016-05-16 20:57:53 925
原创 Macbook搭建交叉编译工具以及区别
Mac的三种交叉编译链(arm-elf-/arm-none-eabi/arm-none-linux-gnueabi)的安装与使用,并进行了区分.
2016-05-03 23:39:36 8927 2
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人