参考文档
搭建ARM DS-5 Streamline
编译Mainline_U-boot_and_Linux
在介绍具体的安装步骤之前先列举一下开发环境相关参数,这样做是为了避免忽略因为开发环境不一致导致的错误
芯片:Allwinner H3(Nano pi neo )
目标器件Linux发行版本:Ubuntu core 16.04.2
目标器件Linux内核版本:4.11.2
工具链版本:arm-cortexa9-linux-gnueabihf-4.9.3
DS-5版本:5.27.0
主机操作系统版本:Ubuntu14.04 64位
Streamline是DS-5内置的一个
性能分析器性能分析器 ,属于DS-5的付费功能,所以在使用DS-5附带的streamline功能前需要购买DS-5旗舰版本的软件许可或者申请试用30天有效期的试用许可
安装DS-5
获取软件许可证
设置交叉编译链
export ARCH=arm
export PATH=/opt/toolchain/arm-cortexa9-linux-gnueabihf-4.9 .3 /bin/:$PATH
export CROSS_COMPILE=arm-cortexa9-linux-gnueabihf-
export CC=/opt/toolchain/arm-cortexa9-linux-gnueabihf-4.9 .3 /bin/arm-cortexa9-linux-gnueabihf-gcc
export CXX=/opt/toolchain/arm-cortexa9-linux-gnueabihf-4.9 .3 /bin/arm-cortexa9-linux-gnueabihf-g++
export LD=/opt/toolchain/arm-cortexa9-linux-gnueabihf-4.9 .3 /bin/arm-cortexa9-linux-gnueabihf-ld
export AR=/opt/toolchain/arm-cortexa9-linux-gnueabihf-4.9 .3 /bin/arm-cortexa9-linux-gnueabihf-ar
export AS=/opt/toolchain/arm-cortexa9-linux-gnueabihf-4.9 .3 /bin/arm-cortexa9-linux-gnueabihf-as
export RANLIB=/opt/toolchain/arm-cortexa9-linux-gnueabihf-4.9 .3 /bin/arm-cortexa9-linux-gnueabihf-ranlib
重新编译Linux内核
进入linux源代码目录
make sunxi_defconfig ARCH= arm CROSS_COMPILE= arm-cortexa9 -linux -gnueabihf -
make menuconfig ARCH= arm CROSS_COMPILE= arm-cortexa9 -linux -gnueabihf -
这里需要先通过make sunxi_defconfig
来加载全志的默认参数,然后在这个基础上实用menuconfig界面进行修改
通过menuconfig界面确认开启如下选项:
CONFIG_PROFILING
CONFIG_PERF_EVENTS
CONFIG_FTRACE
CONFIG_HIGH_RES_TIMERS
CONFIG_HW_PERF_EVENTS
CONFIG_LOCAL_TIMERS
CONFIG_CPU_FREQ
CONFIG_TRACING
确认开启上述选项之后重新编译内核
从DS-5的安装目录下获取gator驱动程序,ds-5 5.27.0相应的位置是
DS-5_v5.27.0/sw/streamline/gator/driver
,将driver目录重命名为gator复制到linux源码树的
driver
目录下。
修改/linux/driver/Kconfig
source "drivers/gator/Kconfig"
修改/linux/driver/Makefile
obj-$(CONFIG_GATOR) += gator/
为了让gator生效,修改/linux/driver/gator/Kconfig
depends on LOCAL_TIMERS || !(ARM && SMP)
depends on LOCAL_TIMERS || (ARM && SMP)
完成内核编译之后会生成如下文件:
arch/arm/boot/zImage
arch/arm/boot/dts/sun8i--nanopi- .dtb
编译gator驱动
修改/linux/Makefile
KBUILD_CFLAGS := -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs
-fno-strict-aliasing -fno-common
-Werror-implicit-function-declaration
-Wno-format-security
-std=gnu89 $(call cc-option,-fno-PIE)
KBUILD_CFLAGS := -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs
-fno-strict-aliasing -fno-common
-Wno-format-security
-std=gnu89 $(call cc-option,-fno-PIE)
编译
make ARCH=arm CROSS_COMPILE=arm-cortexa9-linux-gnueabihf- modules M=drivers/gator
编译完成之后会生成
编译Gatord
cd DS-5 _v5.27.0 /sw/streamline/gator/daemon
make -j8
编译完成之后会生成
Streamline使用
在目标板上启动gatord
cd /opt
./gatord
启动streamline并连接到目标板
开始收集性能信息
分析性能信息