android
文章平均质量分 83
checode
android,arm,linux,gpu
展开
-
匿名页反向映射得建立
参考链接: https://www.cnblogs.com/tolimit/p/5398552.htmlhttp://www.wowotech.net/memory_management/reverse_mapping.html链接1.匿名页创建建立匿名线性区有两种情况,一种是通过mmap建立私有匿名线性区,另一种是fork时子进程克隆了父进程的匿名线性区,这两种方式有所区别,首先mmap建立私有匿名线性区时,应用层调用mmap时传入的参数fd必须为-1,即不指定映射的文件,参数flags必须有原创 2020-06-21 22:21:45 · 437 阅读 · 0 评论 -
通过ramdump 分析匿名页导致的TASK_UNINTERRUPTIBLE
在分配内存时长时间处于不可打断得状态,通过crash 工具解析ramdump 查找block 得原因crash> ps -u |grep UN 10457 1 7 ffffffea80bb2f40 UN 6.2 8856372 646112 provider@2.4-se 10515 673 5 ffffffeb71240000 UN 1.4 2069416 146256 azeroth-api-thrprovider 是当前正在使用得任.原创 2020-06-30 11:51:07 · 1353 阅读 · 0 评论 -
以高通camera 申请ion内存看dma-buf
1 fd 与ion buffer, file绑定 简单总结就是申请一个buffer,再创建一个dmabuf 结构体然后将,然后将dmabuf中得指针指向buffer,dmabuf 再传递给一个匿名的inode,获取到一个file,这样file和dmabuf绑定起来,也就和buffer关联上。然后再从进程中分配一个空闲的fd,将fd 和file囊绑定。这样就能通过fd 快速查找到buffer。file 是个全系统的,他和进程无关,但是fd 是每个进程都是自己独立的,所以再跨进程传输时只需要保证fd ...原创 2020-06-26 17:57:27 · 5273 阅读 · 0 评论 -
qcom camera smmu 学习(3)
iommu_dma_alloc_iova 已经成功获取到了虚拟地址,iommu_map_sg 将把虚拟地址和物理散列表中的物理地址进行映射。 iommu_map_sg 在4.19 以后的内核这个接口已经删除了 size_t iommu_map_sg(struct iommu_domain *domain, unsigned long iova, struct scatterlist *sg, unsigned in...原创 2020-05-30 23:22:32 · 1126 阅读 · 0 评论 -
qcom camera smmu 学习(2)
上一篇中提到了cam_smmu_alloc_iova 通过从已经构建好的内存池中获取虚拟地址然后调用iommu_map_sg 去建立映射关系。 dma_buf_map_attachment 建立映射关系时也需要获取虚拟地址。虚拟地址的其实地址,大小也是在设备树中设置好的,需要一个地方从设备树中读取然后保存起来,在使用的时候从其中去分配。1.获取虚拟地址初始化的流程: of_dma_configure->arch_setup_dma_ops→arm_iommu_setup_dma_ops→原创 2020-05-30 23:19:38 · 1747 阅读 · 0 评论 -
android native c++ 打印调用栈
编译文件中加入:LOCAL_SHARED_LIBRARIES += libutilscallstack源代码中加入:#include <utils/CallStack.h>android::CallStack cs("test");原创 2020-05-30 23:02:31 · 549 阅读 · 0 评论 -
qcom camera smmu学习(1)
camera 有很多isp 中包含了ife ipe bps 等需要使用smmu 1.分配内存并映射到smmu(1)分配内存 分配内存在内核中使用的函数是 cam_mem_mgr_alloc_and_map,主要是通过dma_buf 分配一个内存并且将获得fd 映射到smmu。分配内存使用cam_mem_util_get_dma_buf_fd 分配,主要调用一下三个函数: ion_alloc ,dma_buf_fd,dma_buf_get 第一个函数是ion 分配, 后面...原创 2020-05-30 22:42:20 · 3374 阅读 · 1 评论 -
android 看门狗引起crash分析
文章参考:https://blog.csdn.net/juS3Ve/article/details/79428049在进入橙屏ramdump 后在高通平台高通有专门的脚本配合crash 工具去解析dump 出来的bin 文件。 在解析bin 文件之前必须先转被好vmlinux 文件,也就是内核的符号表。解析完成后会在out 文件夹里生成一些信息。这些信息会在一个html 网页中被统计进来。...原创 2019-12-27 17:44:57 · 1562 阅读 · 0 评论 -
高通gpu信息获取
查看高通的gpu 和cpu的实时状态,高通的Snapdragon Profiler 工具是个不错的选择,可以实时查看相关的信息。也可以通过命令查看。在/sys/class/kgsl/kgsl-3d0 目录下可以看到高通gpu的信息里面的信息太多,很多节也不知道代表啥意思,在power文件下如下:autosuspend_delay_ms runtime_active_time run...转载 2019-09-13 23:00:13 · 5407 阅读 · 1 评论 -
android ion --system heap(个人理解,不确定完全对)
android 在linux 4.12 内核对ion驱动的api 进行了修改,原来的一部分ioctl命令已经不存在了。谷歌的ion 我个人觉的还是挺大的,system heap 内存分配的方式,其他的还有使用cma 分配等,不同的分配方式会调用linux不同的接口。这篇文章值只写下自己对system heap 的个人理解。ion相关代码在内核kernel\msm-4.14\drivers\st...原创 2019-08-11 21:59:11 · 5294 阅读 · 2 评论 -
Android studio 设置函数功能悬浮提示(鼠标放到上班提示参数和功能)
有时候需要查看API函数的功能和参数,在把鼠标放上去会提示,在Android studio 菜单栏选择 file 选择 setting然后设置那个500代表500ms 。这样就完成了设置原创 2016-10-23 10:55:37 · 2824 阅读 · 0 评论 -
Error running app: Instant Run requires 'Tools | Android | Enable ADB integration' to be enabled.
原文http://blog.csdn.net/u014544193/article/details/50947718昨天还是可以运行的,今天运行Android Studio,一直提示:Error running app: Instant Run requires 'Tools | Android | Enable ADB integration' to be enabled转载 2016-10-25 17:15:03 · 342 阅读 · 0 评论 -
android studio 中禁用一个插件功能
在Android studio 中有安装插件功能,比如写OpenGL的着色语言的时候的GLSL插件 系统有时会自动提示你下载对应的插件。如果有时候不想用这个插件可以在菜单file 选择setting 把勾取消就可以不用这个插件。我把bash脚本这个插件给取消了使用了原创 2016-10-25 18:53:39 · 3156 阅读 · 0 评论 -
opengl es3.0游戏开发学习笔记1-绘制旋转的三角形
前段时间一直在看opengl es2.0游戏开发的知识 ,这几天买了本opengl es3.0游戏开发的书 打算一边学习一边整理学习笔记,我的开发环境是Android studio 2.1.3,不过有个问题是Android studio自带的模拟器只能支持es2.0 无法使用es3.0 所以3.0只能在真机上调试,手机必须是4.3或者是以上系统,我试过4.3的三星s3和 6原创 2016-11-13 22:06:45 · 2546 阅读 · 3 评论 -
opengl es3.0游戏开发学习笔记2--绘制地月星系
下面是效果图,是旋转的的照片看不出旋转效果,可以运行源码点击打开链接我的开发环境是Android studio 2.1.3 自带的模拟器不支持opengl es3.0 只能在真机上调试各个类Celestial 类实现的是绘制星星,原理是绘制一个大的球并且在一个打球随机产生亮点,这样在内部看起来就实现天空中星星的效果Constantl类实现的一个是存放了一些原创 2016-11-15 22:39:41 · 2520 阅读 · 10 评论 -
高通camx clock配置
在内核msm-4.14/arch/arm64/boot/dts/qcom存放这高通的内核设备树的配置文件。其中其中 *--camera.dtsi为camera 相关的配置。如下图:sdmmagpie-camera.dtsi 是sm7150,以此文件为例首先查看jpeg 相关设置这里可以看到高通的clock 配置分等级的 jpeg只设置了一个等级说明不会降低频率。 cloc...原创 2019-06-30 22:38:30 · 1847 阅读 · 2 评论 -
android camera 拍照流程图
原图下载链接:链接 ,包含了svg格式的图,放大后不会看不清楚。图是通过puml软件画的拍照时序图:拍照返回时序图原创 2019-07-21 12:15:39 · 1426 阅读 · 0 评论 -
android opengl 图像同步fence创建
链接:链接原创 2019-07-21 17:06:54 · 412 阅读 · 0 评论 -
解决android Studio 安装完运行提示failed to find build tools revision 24.0.2
这几天安装了下android studio 想写点安卓程序,按着网上的安装教程安装完成后,运行项目时提示failed to find build tools revision 24 这个问题在网上找了下‘下面是自己的解决办法,如果项目的指定的版本不是android studio 已经存在的就会出现这个问题’打开这个文件会看到sdk的版本号然后点击原创 2016-09-15 15:23:58 · 33314 阅读 · 0 评论