在RISC-V64架构的CV1811C开发板上应用perf工具进行多线程程序性能分析及火焰图调试

CV1811C环境编译

SDK目录结构

.
├── build               // 编译目录,存放编译脚本以及各board差异化配置
├── buildroot-2021.05   // buildroot开源工具
├── freertos            // freertos系统
├── fsbl                // fsbl启动固件,prebuilt形式存在
├── install             // 执行一次完整编译后,各image的存放路径
├── isp_tuning          // 图像效果调试参数存放路径
├── linux_5.10          // 开源linux内核
├── middleware          // 自研多媒体框架,包含so与ko
├── opensbi             // 开源opensbi库
├── ramdisk             // 存放最小文件系统的prebuilt目录
└── u-boot-2021.10      // 开源uboot代码

准备编译环境

  • 在虚拟机上安装一个ubuntu系统,或者使用本地的ubuntu系统,推荐Ubuntu 20.04 LTS
  • 安装串口工具: mobarXterm 或者 xshell 或者其他
  • 安装编译依赖的工具
    sudo apt install pkg-config
    sudo apt install build-essential
    sudo apt install ninja-build
    sudo apt install automake
    sudo apt install autoconf
    sudo apt install libtool
    sudo apt install wget
    sudo apt install curl
    sudo apt install git
    sudo apt install gcc
    sudo apt install libssl-dev
    sudo apt install bc
    sudo apt install slib
    sudo apt install squashfs-tools
    sudo apt install android-sdk-libsparse-utils
    sudo apt install android-sdk-ext4-utils
    sudo apt install jq
    sudo apt install cmake
    sudo apt install python3-distutils
    sudo apt install tclsh
    sudo apt install scons
    sudo apt install parallel
    sudo apt install ssh-client
    sudo apt install tree
    sudo apt install python3-dev
    sudo apt install python3-pip
    sudo apt install device-tree-compiler
    sudo apt install libssl-dev
    sudo apt install ssh
    sudo apt install cpio
    sudo apt install squashfs-tools
    sudo apt install fakeroot
    sudo apt install libncurses5
    sudo apt install flex
    sudo apt install bison

    注意:cmake版本最低要求3.16.5,安装cmake=3.16.5参考安装cmake=3.16.5_cmake 3.16-CSDN博客

获取SDK

  • git clone -b 'BranchName' git@github.com:sophgo/sophpi.git //在github上增加ssh key
    cd sophpi
    ./scripts/repo_clone.sh --gitclone scripts/subtree.xml

    在拉取源码之前要先向github中添加秘钥,进去./ssh目录下,找到id_rsa.pud并查看其内容将其添加到github中。如果没有,则在该目录下输入以下命令重新生成

ssh-keygen -t rsa -b 4096  //-t rsa 指定密钥类型为 RSA;-b 4096 指定密钥的位数为 4096 位,这增加了密钥的安全性。

 编译固件

source build/cvisetup.sh
defconfig cv1811c_wevb_0006a_spinand  //要注意板子是nand还是emmc,命令是不一样的
build_all
  • 编译成功后可以在sophpi/install/soc_cv1811c_wevb_0006a_spinand目录下看到生成的image

 SD卡烧录

  • 接好EVB板的串口线
  • 将SD卡格式化成FAT32格式
  • 将install目录下的image放入SD卡根目录
.
├── boot.emmc
├── cfg.emmc
├── fip.bin
├── fw_payload_uboot.bin
├── rootfs.emmc
└── system.emmc
  • 将SD卡插入的SD卡槽中
  • 将平台重新上电,开机自动进入烧录:
  • 烧录成功,拔掉SD卡,重新给板子上电,进入系统

 perf编译与移植

进入到sophpi/linux_5.10/tools目录下可以看到有perf文件夹,修改Makefile.conf文件,添加LIBC_SUPPORT := 1。 请注意,perf 是一个非常强大的工具,其功能可能因内核版本和系统配置的不同而有所差异。

不需要进入,直接在tools中编译。(perf文件一般不需要下载,linux kernel中包含

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/637361.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

#QT获取ONENET云平台数据(草稿)

1.基本目标 (1)查询ONENT云平台的数据 (2)查询网络时间 (3)网络音乐拉取(作为背景音乐),音量可调 2.制作UI界面 (1)串口图标的制作方法 &…

【从浅学到熟知Linux】基础IO第四弹=>动静态库(含第三方动静态的使用、自制动静态库、关于动静态库加载调用原理)

🏠关于专栏:Linux的浅学到熟知专栏用于记录Linux系统编程、网络编程等内容。 🎯每天努力一点点,技术变化看得见 文章目录 静态库静态库的介绍及使用方法自制静态库使用第三方提供的静态库 动态库动态库的介绍及使用方法自制动态库…

大数据Spark--运行环境和架构

文章目录 Spark运行环境Local模式解压缩文件启动 Local 环境命令行工具退出本地模式提交应用 Standalone 模式解压缩文件修改配置文件启动集群提交应用提交参数说明配置历史服务配置高可用(HA Yarn模式解压缩文件修改配置文件启动HDFS 以及YARN集群配置历史服务器 K…

List的介绍

前言~🥳🎉🎉🎉 hellohello~,大家好💕💕,这里是E绵绵呀✋✋ ,如果觉得这篇文章还不错的话还请点赞❤️❤️收藏💞 💞 关注💥&#x1…

python-自动化篇-终极工具-用GUI自动控制键盘和鼠标-pyautogui-键盘

文章目录 键盘键盘——记忆宫殿入门——通过键盘发送一个字符串——typewrite()常规——键名——typewrite()常规——按下键盘——keyDown()常规——释放键盘——keyUp()升级——热键组合——hotkey() 键盘 pyautogui也有一些函数向计算机发送虚拟按键,让你能够填充…

LeetCode-电话号码的字母组合(回溯)

每日一题 今天刷到的是一道利用回溯来解决的题,不过稍微有点复杂,并且我也有一段时间没有做回溯了,所有在解题时也是思考了一段时间。 题目要求 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意…

vue实现文字转语音的组件,class类封装,实现项目介绍文字播放,不需安装任何包和插件(2024-04-17)

1、项目界面截图 2、封装class类方法(实例化调用) // 语音播报的函数 export default class SpeakVoice {constructor(vm, config) {let that thisthat._vm vmthat.config {text: 春江潮水连海平,海上明月共潮生。滟滟随波千万里&#xf…

【每日刷题】Day20

【每日刷题】Day20 🥕个人主页:开敲🍉 🔥所属专栏:每日刷题🍍 🌼文章目录🌼 1. 面试题 17.04. 消失的数字 - 力扣(LeetCode) 2. 189. 轮转数组 - 力扣&#…

AppWizard的软件开发GUI的使用记录

前言 这个软件是针对于EmWin6.0以上的这个软件在emWin的基础上又封装了一层,也只提供的API函数.基于消息事件为核心(个人理解)一些组件的之间的交互可以通过软件界面进行配置,比较方便本次是基于模拟器进行测试记录,观察api 按键和文本之间的关联 通过…

Crypto量化高频体验总结

Crypto量化高频体验总结 人工智能与量化交易算法知识库 2024-04-21 21:02 美国 以下文章来源于Quant搬砖工 ,作者quant搬砖队工头 Quant搬砖工. 稳健的收益要一点一点赚,量化的板砖要一块一块搬! 前言 前两天在翻历史文章的时候&#xf…

Linux--Linux命令使用技巧

Linux命令使用技巧 1、tab键自动补全2、连续连tab键,给出操作提示3、使用上下箭头可以调出曾经使用过的命令4、使用clear命令或者ctrll快捷键实现清屏 1、tab键自动补全 2、连续连tab键,给出操作提示 3、使用上下箭头可以调出曾经使用过的命令 4、使用…

【树莓派】如何刷个系统给树莓派4B,如何ssh登陆到树莓派

文章目录 下载树莓派镜像下载烧写软件烧写编辑设置连接树莓派4B重启ssh查看树莓派IPssh远程连接问询、帮助 下载树莓派镜像 https://www.raspberrypi.com/software/operating-systems/#raspberry-pi-os-64-bit 下载烧写软件 https://www.raspberrypi.com/software/ 烧写 编辑…