本文主要是介绍在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中包含
这篇关于在RISC-V64架构的CV1811C开发板上应用perf工具进行多线程程序性能分析及火焰图调试的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!