Oprofile 移植到Android

UniApp X 网络请求避坑指南:从 JS 到 UTS 的 JSON 数据处理全解析 摘要:UniAppX开发中处理JSON数据时,UTS强类型特性要求开发者改变JS习惯。本文对比两种主流方案:1)UTSJSONObject通过keypath访问数据,兼容JS但缺乏类型提示;2)type+泛型方案,通过定义数据类型实现强类型校验和智能提示,推荐用于固定数据结构。文章详细演示了两种方式的具体实现、转换方法及实战案例,并提供了类型定义技巧和注意事项,帮助开发者编写更稳定高效的跨平台应用。 阅读详情
Oprofile 移植

工具的编译参考
http://blog.youkuaiyun.com/louieuser/article/details/6152175

工具使用:
1.创建一个AVD,启动模拟器时,用我们编译好的kernel替换SDK自带的kernel
C:\Users\maricoliu>emulator @android2.3 -partition-size 300 -kernel ~\kernel-qemu
注:由于要向系统中push我们的程序,请分配足够的大小,否则会出现no space left on device错误,用-partition-size指定大小

2.安装busybox,Oprofile
将我们编译好的busybox和Oprofile装入模拟器
进入adb shell中,创建两个文件夹
#mkdir /data/busybox
#mkdir /data/oprofile
在控制台执行如下命令:
C:\Users\maricoliu>adb push ~\busybox /data/busybox/
Oprofile工具只要将以op开头的文件装入模拟器就可以:
C:\Users\maricoliu>adb push ~\oprofile\opcontrol /data/oprofile/
C:\Users\maricoliu>adb push ~\oprofile\opannotate /data/oprofile/
……(其余不再列出)
回到shell中,安装busybox,增加Oprofile文件的执行权限
#cd /data/busybox
#chmod 777 busybox
#./busybox –install busybox
#cd /data/oprofile
#chmod 777 op*

3.运行Oprofile
#export PATH=$PATH:/data/busybox
#export PATH=$PATH:/data/oprofile
# mount -o remount rw /
# mount -o rw,remount -t yaffs2 /dev/mtdblock3 /system
#ln -s /proc/mounts /etc/mtab  (建立一个软连接,后面有说明)
# opcontrol --init     //初始化,只需运行一次
# opcontrol --setup --callgraph=2 --session-dir=/result/ --no-vmlinux
# opcontrol --start
opcontrol --start
Using 2.6+ OProfile kernel interface.
Using log file /result/samples/oprofiled.log
Daemon started.
Profiler running.
# opcontrol --status
opcontrol --status
Daemon running: pid 773
Separate options: none
vmlinux file: none
Image filter: none
Call-graph depth: 2

运行你的程序

# opcontrol --dump   //收集采样数据
# opcontrol --stop //停止profiler
Stopping profiling.
#opreport --session-dir=/result/       //查看报告


遇到的问题:
1.出现错误 :

test: not found
id: not found
test: not found
grep: not found
test: not found
grep: not found
test: not found
…………

这是由于 Android 提供的命令过于精简,因此需要移植 busybox ,来运行 opcontrol 。按照上面的步骤安装busybox后,任然出现此错误,google后得知,要修改 opcontrol 文件如下:
BINDIR =”/data/busybox”
PATH 中加入 /data/busybox
查看opcontrol源码后发下未加入/data/busybox,现以加入

2.出现错误
./opcontrol --init
grep: /etc/mtab: No such file or directory
grep: /etc/mtab: No such file or directory
Kernel support not available, missing opcontrol --init as root

# touch /etc/mtab
# ./opcontrol  --init
Kernel support not available, missing opcontrol --init as root ?

通过对 opcontrol 的分析发现它是通过对执行" grep oprofile /proc/modules >/dev/null " 的返回值为判断条件还进行操作的,开始由于 mtab 文件里没有 oprofile 的相关信息,所以要执行 "mount -t oprofilefs nodev /dev/oprofile >/dev/null" 而linux 标准文件系统在执行了此命令之后将会与之相关的 mount 信息写入 /etc/mtab 中,而执行了umount 之后相关信息将从/etc/mtab文件中删除,而通过相关的操作之后发busybox系统中的 mtab 文件并无任何改变,通过google 之后知道原来新的busybox 使用 /proc/mounts 代替了 /etc/mtab,故在/etc 下建一个指 /proc/mounts 名为 mtab 的链接就绕过这个问题    

# ln –s /proc/mounts /etc/mtab
可能会遇到link failed file exists错误,请确保/etc/目录下面没有mtab文件,有的话删除
 
工具在本人csdn上传资源中。
热力学仿真软件:ANSYS CFX_(15).旋转机械仿真 创建旋转域在中选择需要设置为旋转域的区域。选择选项。设置旋转速度在设置中,指定旋转速度(单位为弧度/秒)。也可以选择选项,并输入具体值。设置旋转轴在设置中,指定旋转轴的方向和位置。通常旋转轴的方向可以使用单位向量来表示,例如[0, 0, 1]表示沿Z轴旋转。旋转轴的位置可以通过指定一个点的坐标来确定,例如[0, 0, 0]表示旋转轴通过原点。旋转机械的仿真在ANSYS CFX中是一个复杂但重要的过程。 阅读详情

相关推荐

TensorFlow_PyTorch实战:构建AI人工智能回归模型

回归分析是机器学习的核心任务之一,用于预测连续型目标变量(如房价、股票价格、用户留存时间等)。基础线性回归模型的数学原理与代码实现多项式回归模型的过拟合处理与正则化技巧自定义数据集加载与数据预处理流程动态图(PyTorch)与静态图(TensorFlow)的编程范式对比模型评估指标与可视化分析方法核心概念:对比两大框架的架构设计,解析回归模型核心组件数学原理:推导线性回归的假设函数、损失函数及优化算法算法实现:提供TensorFlow和PyTorch的完整代码示例项目实战。

AI天才研究院 1432

Android 移植oprofil性能监测工具

关于oprofile的移植,在Ubuntu Server 10.04平台上交叉编译,移植到Android,经过实践,以下是交叉编译的正确步骤,不保证在其他环境中能正确运行,以下是编译环境: build: Ubuntu Server 10.04 host: Android-2.2r2 cross compiler: mips-linux-gnu-gcc version...

jishublog 167

基于MATLAB/Simulink与WSL2的ROS2实时联合仿真实践

本文详细介绍了基于MATLAB/Simulink与WSL2的ROS2实时联合仿真实践。通过环境配置、PX4仿真环境搭建、自定义消息生成、Simulink通信实现及实时优化等步骤,提供了完整的无人机位置控制案例,帮助开发者实现高精度的实时联合仿真。

red88的博客 204

Android上oprofile使用说明

Android上oprofile使用说明 1.    目的 本文介绍了oprofile的功能并基于Android 2.1介绍了使用oprofile的基本方法和步骤。本文的读者为软件开发人员和白盒测试人员。 2.    oprofile简介 Oprofile是用于Linux的若干种评测和性能监控工具中的一种,它可以工作在不同的体系结构上,包括IA32、IA64、AMDAthlon系列及ARM

正在學習Android~ 1548

Multisim实现555计时器模拟简易电子琴

一. 元器件介绍 这里用到的元器件有: DIgital power(VCC)数字电源 频率计数器(XFC) 示波器(XSC) ground 数字地 Capacitan 电容器 Resistor 电阻器 555_VIRTUAL 555计时器 触发按键(DIPSW)(DPST)(SPST)

是你呀星途的博客 2万+

数据分析——员工离职预测

员工离职预测一. 题目描述二. 数据说明三. 步骤实现1.导入并查看2.数据探索性分析3.数据处理4.模型分析5.结果分析(1) 可视化的结果分析(2)特征选择结果分析(3)多模型交叉验证结果分析 一. 题目描述 员工是否准备离职是困扰用人单位的问题,其关系到单位业务的开展及新人员的招聘,及时的分析出有离职倾向的员工成为关键的因素。数据主要包括影响员工离职的各种因素(工资、出差、工作环境满意度、工作投入度、是否加班、是否升职、工资提升比例等)以及员工是否已经离职的对应记录。 二. 数据说明 数据分为训练数据

weixin_43925467的博客 1万+

Android移植oprofile性能监测工具

Android移植oprofile性能监测工具 关于oprofile的移植,在Ubuntu Server 10.04平台上交叉编译,移植到Android,经过实践,以下是交叉编译的正确步骤,不保证在其他环境中能正确运行,以下是编译环境: build: Ubuntu Server 10.04 host: Android-2.2r2 cross compiler: mips-lin

gzshun 4890

SPI 协议帧格式深度解析:从 8 位数据到 16 位扩展的 3 种模式

本文深入解析SPI协议的帧格式,涵盖从8位标准到16位扩展的三种模式。通过详细讲解SPI时钟模式、数据宽度配置及实际应用案例,帮助开发者掌握SPI外设的深度定制能力,提升嵌入式系统开发效率。特别适用于连接传感器、存储器和显示器等高速通讯场景。

weixin_34110749的博客 346

Android性能测试工具--Oprofile

<br /> Android应用的性能如何测试?JAVA层面可以用TraceView,可是用NDK开发出来的是so,TraceView跟踪不了怎么办?问了Google大神,答案是OProfile!Oprofile 是Linux系统下一个低开销的系统全局的性能监视工具,利用处理器上所包含的专用的性能监视硬件(若没有性能监视硬件则使用一个基于计时器的代用品)来收集与性能相关的数据样品。它获得关于内核以及系统上的可执行文件的信息,例如内存是何时被引用的;L2缓存请求的数量;收到的硬件中断数量等。Oprofile的

旁门左道 4547

(赛事-2022)[re:Invent 2018]-002:通过分析log多次迭代优化奖励函数后- 最快7.6s / 圈

Deepracer training 流程

Rainbow 4715

Kalibr 安装+制作采集的图片和IMU数据生成 .bag 文件 (坑最全,解决方法最简单,最详细哈哈)

方法一、Kalibr标定工具实现 开源代码连接:https://github.com/ethz-asl/kalibr 1.1 创建工作空间 ——下载程序——编译 mkdir -p ~/kalibr_workspace/src cd /kalibr_workspace/src git clone https://github.com/ethz-asl/Kalibr.git cd .. //返回上一级 catkin_make source devel/setup.bash ......

努力努力努力 6939

android 手机性能测试工具,Android手机系统的性能测试工具

Android手机系统的Android应用的性能如何测试?JAVA层面可以用TraceView,可是用NDKOprofile 是Oprofile的特点如下:l 无需重新编译源代码,如果不进行源代码及分析,连调试信息(-g option to gcc)也不是必须的。l 只在内核中插入一个模块。l 可以分析运行于系统之上的所有代码(禁用中断的代码除外)l 系统的额外开销小,Oprofile会增加1%-...

weixin_35805266的博客 1188

YOLO26改进策略【YOLO和Mamba】| 2024 VM-UNet,高效的特征提取模块VSS block 二次创新提高精度

VM-UNet模型设计的出发点是解决现有CNN-based和模型在医学图像分割中的局限性,利用(SSMs)的优势,提出一种更有效的医学图像分割模型。具体来说,CNN-based模型在捕捉长距离信息方面存在不足,而模型由于自注意力机制的二次复杂度导致计算负担较重。SSMs模型如Mamba不仅在建模长距离依赖方面表现出色,还具有线性计算复杂度,这为VM-UNet的设计提供了理论基础。

Limiiiing的博客 221

附录1:Oprofile移植到intel xscale pxa 255开发板

一、 相关资源 根据Oprofile的官方网站,可知需要安装的库。 Required libraries :These libraries are required : popt, bfd, liberty (debian users: libiberty is provided in binutils-dev package), dl, plus the standard C++ libra

Kasmile的专栏 5455

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

Android的性能分析——contents

  Android的性能分析... 1 一、 基本信息:... 1 二、 实验内容简要描述... 2 1. 实验目的... 2 2. 实验内容... 2 3. 实验条件... 2 三、 实验原理... 2 1. Android相关介绍... 2 2. Dalvik相关介绍... 3 3. Oprofile相关介绍... 4 四、 实验过程与结果

Kasmile的专栏 6406

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

oprofile 在android中的交叉编译及使用方法1

转载 1 oprofile 相关介绍 Oprofile是用于Linux的若干种评测和性能监控工具中的一种。它可以工作在不同的体系结构上,包括IA32、IA64和AMD Athlon 系列。它的开销小,将被包含在(Linux)2.6版的内核中。               Oprofile可以帮助用户识别诸如循环的展开、高速缓存的使用率低、低效的类型转换和冗余操作、错误预测转移等问题。它收集有

王世宏的专栏 801

Android性能测试工具

Android应用的性能如何测试?JAVA层面可以用TraceView,可是用NDK开发出来的是so,TraceView跟踪不了怎么办?问了Google大神,答案是OProfile! Oprofile 是Linux系统下一个低开销的系统全局的性能监视工具,利用处理器上所包含的专用的性能监视硬件(若没有性能监视硬件则使用一个基于计时器的代用品)来收集与性...

weixin_33841722的博客 63

Oprofile在Android中的应用

分类: Android2010-08-13 16:00 1428人阅读 评论(0) 收藏 举报 1 oprofile 相关介绍 Oprofile 是用于 Linux 的若干种评测和性能监控工具中的一种。它可以工作在不同的体系结构上,包括 IA32 、 IA64 和 AMD Athlon 系列。它的开销小,将被包含在( Linux ) 2.6 版的内核中。

xiayu98020214的专栏 1282

oprofle在android中的交叉编译及使用3

转载 Android应用的性能如何测试?JAVA层面可以用 TraceView,可是用NDK开发出来的是so,TraceView跟踪不了怎么办?问了Google大神,答案是OProfile! Oprofile 是Linux系统下一个低开销的系统全局的性能监视工具,利用处理器上所包含的专用的性能监视硬件(若没有性能监视硬件则使用一个基于计时器的代用品)来 收集与性能相关的数据样品。它获得关于内核

王世宏的专栏 316
上一篇: How to get root privileges?
下一篇: ubuntu下搭建NDK环境
code_farmer
博客等级 码龄22年 9粉丝 23原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值