海思AI芯片(Hi3519A/3559A)方案学习(四)如何在3519A板子上运行sample code
sample code编译
先解压缩SDK(Hi3519AV100_SDK_V2.0.1.0.tgz)得到Hi3519AV100_SDK_V2.0.1.0文件夹。其sample源代码藏在Hi3519AV100_SDK_V2.0.1.0\smp\a53_linux\mpp\sample下面。如下所示,每个目录对应一个小功能。
Install cross toolchain后(见前文),就直接在sample下面make,就会对所有子目录中源代码进行编译,然后对应每个子目录分别生成一个可执行文件sample_xxx。
当然,上面一系列操作都是在linux服务器上,比如ubuntu等进行的。
安装nfs文件系统
在开发调试过程中,我们需要在linux服务器上安装nfs,以便开发代码可以mount到板子来运行。
sudo apt-get install nfs-kernel-server //install sw
sudo apt-get install nfs-common //install sw
sudo /etc/init.d/service nfs-kernel-server restart // Start service
使nfs目录生效
sudo mkdir xx/xx/nfs //创建一个目录
路径以及nfs目录名由自己指定
这个目录下的内容将来会被mount到板子上
sudo vi /etc/exports 并且添加一行:/home/tt/nfs *(rw,sync,no_root_squash)
exportfs -rf来使得上面nfs目录设置生效。
板子网络配置
板子插上网线,上电后,在板子的shell里面输入ifconfig
如果显示eth0 192.168.1.100,说明kernel已经将板子自动配置成一个IP了
这时,一定要输入 ping linux服务器ip来验证板子和服务器网络通信是否正常。我这边服务器ip是192.168.0.121,它们不在一个网段,是ping不通的。我这里将板子ip进行了修改(比如ifconfig eth0 192.168.0.100)就能ping通了。
回到第二步,如果ifconfig完后,啥也没有显示,可以考虑下面的命令来进行配置:
ip link set eth0 up
ip addr add 192.168.1.40/24 dev eth0
ip route add default via 192.168.1.1
ip route show
将服务器上的nfs目录mount到板子上
mount -t nfs 192.168.0.121:/xx/xx/nfs /nfsroot -o nolock
该命令就是将前面步骤中服务器上创建的目录mount到板子的/nfsroot。
运行sample
sample里面小功能绝大多数和sensor相关,但是目前新sensor还没点亮,所以就运行一个叫tde的最简单sample,它不需要sensor输入, 直接由芯片内部生成二维图形并渲染,最后经hdmi输送到屏幕。
在linux服务器上,将tde sample目录拷贝到xx/nfs下
cp -a xx/xx/mpp/sample/tde /xx/xx/nfs
在板子上,直接运行该可执行文件即可
cd /nfsroot
./sample_tde 1 (后面这个参数1表示hdmi output)