Hi3798 RS485测试

目录

一、虚拟机测试环境搭建

二、开发板挂载网络文件系统

三、RS485测试

附录


本文档中利用交叉编译工具编译一个app程序用于测试RS485通信,需利用nfs挂载的形式该app下载至开发板中。

一、虚拟机测试环境搭建

  • 安装NFS组件
sudo apt-get install nfs-kernel-server
  • 建立共享文件夹
mkdir /nfs
  • 设置共享目录

修改虚拟机的/etc/exports文件,添加如下代码

/nfs *(rw,sync,no_root_squash)
  • 重启nfs服务器
sudo /etc/init.d/nfs-kernel-server restart

二、开发板挂载网络文件系统

启动开发板进行操作

如果开发板与主机都连接在路由器或者交换机上,即有dhcp主机功能,在/etc/init.d文件夹中的rcS文件末尾添加如下代码自动获取IP。如果采用自动获取IP的形式,最后采用手动的方式挂载网络文件系统。

/sbin/udhcpc &

当然也可以在该文件中添加以下代码是开发板具有一个固定的ip:

sudo ifconfig eth0 XXX.XXX.XXX.XXX
mount -t nfs -o nolock yyy.yyy.yyy.yyy:/nfs /mnt

此处的XXX代表arm开发板的ip,yyy代表主机IP(虚拟机IP)。第二句代码的意思是将主机的/nfs文件夹挂载到开发板的/mnt目录下。

三、RS485测试

在虚拟机上,利用交叉编译工具编译app源码,将RS485测试的app源码、脚本,拷贝至虚拟机内,并编译:

arm-histbv320-linux-gcc uart_app.c -o uart_app

将生成的uart_app、脚本文件拷贝至/nfs文件夹下:

sudo cp uart_app uart_r.sh uart_w.sh /nfs/

开发板中运行./uart_w.sh以便测试485发送,可得到以下结果:

运行./uart_r.sh测试485接收,可得到以下结果:

至此485测试完毕!

附录

uart_r.sh的源代码

#############################################################
#                     Hi3798 RS485 Test                     #
#author     :  TanZhenwen                                   #
#date       :  2018.12.07                                   #
#ver        :  1.0                                          #
#############################################################

########## Baseaddr            0xf8a21000           #########
#############################################################
#Function           GPIO       IO    Offset    Value        #
#485 TX/RX EN       GPIO3_0    24    0x060   0x00002134	    #
#485 RX             GPIO2_5    21    0x054   0x00000132	    #
#485 TX	            GPIO2_6    22    0x058   0x00000132	    #
#############################################################


devmem 0xf8a21060 w 0x00002134
devmem 0xf8a21054 w 0x00000132
devmem 0xf8a21058 w 0x00000132

rm /var/lock/* -r
echo 24 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio24/direction
echo 0 > /sys/class/gpio/gpio24/value
./uart_app /dev/ttyAMA2 -b 19200 -l -r -hex

uart_w.sh的源代码

#############################################################
#                     Hi3798 RS485 Test                     #
#author     :  TanZhenwen                                   #
#date       :  2018.12.07                                   #
#ver        :  1.0                                          #
#############################################################

########## Baseaddr            0xf8a21000           #########
#############################################################
#Function           GPIO       IO    Offset    Value        #
#485 TX/RX EN       GPIO3_0    24    0x060   0x00002134	    #
#485 RX             GPIO2_5    21    0x054   0x00000132	    #
#485 TX	            GPIO2_6    22    0x058   0x00000132	    #
#############################################################

devmem 0xf8a21060 w 0x00002134
devmem 0xf8a21054 w 0x00000132
devmem 0xf8a21058 w 0x00000132
rm /var/lock/* -r
echo 24 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio24/direction
echo 1 > /sys/class/gpio/gpio24/value
./uart_app /dev/ttyAMA2 -b 19200 -l -w "123456" -asc

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
~/SDK/Hi3519DV500_SDK_V2.0.0.2/smp/a55_linux/source/bsp/tools/pc/image_tool ~/SDK/Hi3519DV500_SDK_V2.0.0.2/smp/a55_linux/source/bsp Traceback (most recent call last): File "/home/lkuser/SDK/Hi3519DV500_SDK_V2.0.0.2/smp/a55_linux/source/bsp/tools/pc/image_tool/oem/oem_quick_build.py", line 9, in <module> oem_main.main(['', 'build', 'oem/quick_build_config.json']) File "/home/lkuser/SDK/Hi3519DV500_SDK_V2.0.0.2/smp/a55_linux/source/bsp/tools/pc/image_tool/oem/oem_main.py", line 115, in main build(cfg_file=argv[2]) File "/home/lkuser/SDK/Hi3519DV500_SDK_V2.0.0.2/smp/a55_linux/source/bsp/tools/pc/image_tool/oem/oem_main.py", line 16, in build from oem_build import OemAreaBuilder, OemImageBuilder File "/home/lkuser/SDK/Hi3519DV500_SDK_V2.0.0.2/smp/a55_linux/source/bsp/tools/pc/image_tool/oem/tool/oem_build.py", line 15, in <module> from common.area_tool import PublicKey, AreaTool File "/home/lkuser/SDK/Hi3519DV500_SDK_V2.0.0.2/smp/a55_linux/source/bsp/tools/pc/image_tool/common/area_tool.py", line 9, in <module> import security as sec File "/home/lkuser/SDK/Hi3519DV500_SDK_V2.0.0.2/smp/a55_linux/source/bsp/tools/pc/image_tool/common/security.py", line 351, in <module> from Crypto.PublicKey import RSA ModuleNotFoundError: No module named 'Crypto' ~/SDK/Hi3519DV500_SDK_V2.0.0.2/smp/a55_linux/source/bsp cp /home/lkuser/SDK/Hi3519DV500_SDK_V2.0.0.2/smp/a55_linux/source/bsp/tools/pc/image_tool/image/oem/boot_image.bin /home/lkuser/SDK/Hi3519DV500_SDK_V2.0.0.2/smp/a55_linux/source/bsp/pub/hi3519dv500_emmc_image_glibc/boot_image.bin; cp: cannot stat '/home/lkuser/SDK/Hi3519DV500_SDK_V2.0.0.2/smp/a55_linux/source/bsp/tools/pc/image_tool/image/oem/boot_image.bin': No such file or directory make: *** [Makefile:505: gslboot_build] Error 1
最新发布
06-06

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值