首先遺憾的是: Valgrind要求硬件爲ARMv7 和 VFP, 而Hi353無VFP, 因此valgrind在Hi3535上是不可用的。
移植過程如下:
1. 下載valgrind最新版本,我使用的版本爲valgrind-3.13.0.tar.bz2
http://valgrind.org/downloads/current.html
2. 將下載的valgrind包,放置合適文件夾,並壓文件
tar -jxf valgrind-3.13.0.tar.bz2
3. 切換至解壓後的目錄
cd valgrind-3.13.0
4. 修改configure文件
修改“armv7*”爲“armv7* | arm*”
5. 生成Makefile
./configure --host=arm-hisiv100nptl-linux --prefix=/opt/valgrind CC=arm-hisiv100nptl-linux-gcc CPP=arm-hisiv100nptl-linux-cpp AR=arm-hisiv100nptl-linux-ar CPPFLAGS="-I/opt/hisi-linux-nptl/arm-hisiv100-linux/target/usr/include" LDFLAGS=="-L/opt/hisi-linux-nptl/arm-hisiv100-linux/target/usr/lib" --enable-only32bit
說明:
--prefix: 爲安裝文件夾
6. 編譯
make
7. 安裝
make install
注:安裝文件夾爲系統文件夾時,需切換到root用戶進行
8. 複製安裝文件夾下的bin和lib文件夾,到開發板上的對應位置,驗證
./valgrind ls
9. 定位報錯原因
查看硬件信息
cat /proc/cpuinfo
查看SDK中的readme_cn.txt
至此,確認Hi3535不支持VFP,無法使用valgrind.