版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、DCP-5000L单元类别内容i.MX6,Linux,CAN,Ethernet,Serial,USB,4G,ESAM摘要DCP-5000L 充电机软件开发指南UM01707121V1.20Date: 2019/06/24用户手册User ManualDCP-5000L单元修订历史用户手册©2019 Guangzhou ZHIYUAN ElectronicsCo.,.i版本日期V0.902016/08/12创建文档V1.002017/07/12正式发布V1.102019/03/20更新文档页眉页脚、“销售与服务网络”内容和新增“免责内容V1.202019/06/24更新 4.7 节 4
2、G 模块使用DCP-5000L单元目录1. DCP-5000L 介绍11.1DCP-5000L 简介.2外观概览1接口简介21.21.3硬件参数3软件参数31.3.1系统和驱动32.系统基本操作52.1开机和登录..4启动选择5串口连接5串口登录6SSH登录关机7查看系统信息8系统设置.2网络设置9时钟设置102.5文件传输102.5.1 SSH 文件传输102.5.2 NFS 文件传输12U 盘使用12SD 卡使用12U-Boot 命令13串口测试2.93.文件系统143.13.
3、23.3支持的文件系统14安装第软件14程序开机自启动154.应用程序开发164.1应用程序开发环境构建..4Linux 开发一般方法16安装操作系统17构建交叉开发环境17NFS 服务器配置Hello 程序19蜂鸣器使用20串口编程.24.4.3串口设备20配置串口接口属性21获得和设置串口信号线状态30用户手册©2019 Guangzhou ZHIYUAN ElectronicsCo.,.1DCP-5000L单元4.5Socket CAN 编程3.24.5.3初始化 CAN 网络接口
4、31socket can 编程31示例程序354.6看门狗使用3.2概述39范例404.74.84G 模块使用41北斗/GPS 使用4.24.8.3获取北斗/GPS 数据43设置北斗/GPS 模块45GPS 数据转换464.9DCP-5000-QC-IO 使用说明4..44.9.5IO 模式切换47DI 的使用47DO 的使用48ESAM 的使用48掉电检测505.系统恢复和更新525.15.2免责制作 SD 卡52烧写 Linux 固件54. 556.用户手册©2019 Guangzhou ZHIYUAN El
5、ectronicsCo.,.2DCP-5000L单元1. DCP-5000L 介绍1.1DCP-5000L 简介DCP-5000L 是广州致远电子开发的基于NXP i.MX6 系列处理器的单元,处理器内核为 800MHz 主频的Cortex-A9。DCP-5000L 采用“件,完成人机显示、数据加板+主板+IO 板”的结构,通过软硬件接口连接相应输入/输出组等功能。DCP-5000L 提供了以太网、CAN、USB Host、SD卡、ESAM、RS-232、RS-485、接口、LVDS 接口、DI、DO、音频等多种功能接口。支持北斗、全网通等无线通信。注:DCP-5000L 是由 DCP-500
6、0L-CORE、DCP-5000L-MAIN 和 DCP-5000L-IO 三块板组成,为了描述方便,下文将“DCP-5000L-CORE”简称“称为“IO 板”。板”,将“DCP-5000L-MAIN”简称“主板”,将“DCP-5000L-IO”简1.1.1 外观概览DCP-5000L 正面外观如图 1.1 所示,侧面接口外观如图 1.2 和图 1.3 所示。图 1.1 DCP-5000L 正面外观图图 1.2 DCP-5000L 侧面接口图 1用户手册©2019 Guangzhou ZHIYUAN ElectronicsCo.,.1DCP-5000L单元图 1.3 DCP-500
7、0L 侧面接口图 2注:图片参考,以实际销售为主。1.1.2 接口简介DCP-5000L 主板各接口简要描述见表 1.1。表 1.1 主板接口描述DCP-5000L IO 板接口简要描述见表 1.2。表 1.2 IO 板接口描述用户手册©2019 Guangzhou ZHIYUAN ElectronicsCo.,.2标号功能备注DIDI 接口共 6 路DODO 接口共 6 路BDGPS模块有源天线,阻抗需为 50 欧,连接到主板的 ttymxc4RS485RS485 接口连接到主板的 ttymxc2 和 ttymxc3RS232RS232 接口连接到主板的 ttymxc0LVDSLV
8、DS 接口接口UART_M0单片机预留串口SWD单片机调试接口标号功能备注POWER电源接口24V 供电DEBUG调试串口DB9 接口USBUSB HostSDSD 卡NET100M/1000M 以太网SD0、SD1BOOT 跳线区SIM1接口CAN双路 CAN 口侧面板标有 CAN1 和 CAN2AUDIO音频输出接口BT1RTC 电池插座J9IO 板接口DCP-5000L单元1.2硬件参数DCP-5000L 硬件参数见表 1.3。表 1.3 DCP-5000L 硬件参数1.3软件参数DCP-5000L 是基于Linux 系统单元。Linux 内核版本为 3.14.28,支持 Qt-5.3.
9、2,支持 tslib-1.4 等。1.3.1 系统和驱动系统包含的基础驱动见表 1.4。表 1.4 系统驱动用户手册©2019 Guangzhou ZHIYUAN ElectronicsCo.,.3系统驱动说明SD/MMC 卡驱动USB Host 驱动CAN-Bus 驱动Socket CAN 接口千兆以太网驱动100M/1000M 自适应4G 全网通通信模块驱动支持 U9501 模块UART 驱动含 RS232 和 RS485RTC 驱动液晶驱动支持 1080P项目描述说明处理器i.MX6DL/Q(Cortex-A9 内核),800MHz内存512MB DDR3电子硬盘4GBeMMC
10、接口1 路串口5 路(包含 1 路调试串口)USB Host2 路,USB 2.0 高速其中 1 路用于 4G 模块,1 路向外提供接口MiniPCIE 插槽1 路插槽1 路支持全网通 4GCAN 接口2 路以太网1 路(1 路 100/1000M 自适应以太网)SD 卡接口1 路音频输出接口1 路RTC1 路蜂鸣器1 个DI6 路DO6 路GPS 模块1 个ESAM1 路DCP-5000L单元用户手册©2019 Guangzhou ZHIYUAN ElectronicsCo.,.4系统驱动说明看门狗驱动音频驱动LED 驱动交流蜂鸣器驱动GPIO 驱动ESAM 驱动北斗 GPS模块驱
11、动DI/DO 驱动掉电检测驱动DCP-5000L单元2. 系统基本操作2.1开机和登录系统默认 IP:41SSH 登录用户名和2.1.1 启动选择均为:rootDCP-5000L 支持从eMMC 或者SD 卡启动,通过主板上的SD1 和 SD2 跳线进行选择。断开 SD1 和SD2 选择从eMMC 启动,短接后从 SD 卡启动。2.1.2 串口连接DCP-5000L 的调试串口为UART1,将调试串口与电脑串口相连,设置串口115200-8N1,无流。在 Windows 环境下,可以使用超级终端或者其它串口软件,下面 putty 为例进行介绍。打开 putty,如图 2.
12、1 所示。Connection type 项选择“Serial”,Speed 项设置为“115200”,Serial line 项输入 PC 当前所使用的串口编号。图 2.1 新建串口连接确认设置无误后点击“Open”,将得到如图 2.2 所示的 putty 串口终端界面。用户手册©2019 Guangzhou ZHIYUAN ElectronicsCo.,.5DCP-5000L单元图 2.2 putty 串口终端界面2.1.3 串口登录接好串口,打开串口软件,给 DCP-5000L 上电,在U-Boot 阶段不要按任何按键,系统将启动并进入Linux 系统,在超级终端可以看到启动信
13、息。系统启动完毕,进入 Linux Shell界面,如图 2.3 所示。图 2.3 通过串口登录 Linux 系统2.1.4 SSH登录DCP-5000L 系统支持 SSH登录,可以使用任何 SSH 软件进行登录。下面以 Putty软件通过 SSH 协议进行登录为例进行介绍。打开Putty,在“Host Name”栏填入工控板的 IP 地址,以 41 为例,选中 SSH协议,如图 2.4 所示。用户手册©2019 Guangzhou ZHIYUAN ElectronicsCo.,.6DCP-5000L单元图 2.4 putty SSH 配置界面点击“Open”,
14、在登录界面输入用户名和“root”,登录 Linux 系统,如图 2.5 所示。图 2.5 通过 SSH 登录 Linux 系统2.2关机一般情况下直接关闭电源即可。如果有数据操作,为了确保数完全写入,可输 sync命令,完成数据同步后关闭电源;或者输入 poweroff 命令,等串口端出现“reboot: Systemhalted”提示后再关闭电源。用户手册©2019 Guangzhou ZHIYUAN ElectronicsCo.,.7rootDCP-5000L:# poweroffINIT: Sending processes the TERM signalC (ttymxc1
15、) (Thu Dec 31 09:28:39 2015) rootDCP-5000L:# Stopping Dropbear SSH server: stopped /usr/sbin/dropbear (pid 559) dropbear.* Stopping Avahi mDNS/DNS-SD Daemon: avahi-daemon* (oprofile-server:607): WARNING *: Avahi error: Daemon connection fail ok Stopping advanced power management daemon: no /usr/sbin
16、/apmd found; none killed apmd.DCP-5000L单元2.3查看系统信息查看系统内核版本,使用uname 命令。查看系统内存使用情况,使用 free 命令。查看系统磁盘使用情况,使用 df 命令。查看CPU 等其它信息。用户手册©2019 Guangzhou ZHIYUAN ElectronicsCo.,.8rootDCP-5000L:# cat /prouinfoprocessor: 0rootDCP-5000L:# df -hFilesystemSizeUsedAvailUse%Mounted on/dev/root3.6G918M2.5G27%/ d
17、evtmpfs87M087M0%/dev tmpfs247M236K247M1%/runtmpfs247M96K247M1%/var/volatilerootDCP-5000L:# freetotalusedfreesharedbufferscached Mem:5046721752363294360276412252-/+ buffers/cache:160220344452Swap:000rootDCP-5000L:# uname-aLinux DCP-5000L 3.14.28+g91cf351 #12 SMP PREEMPT Sun Aug 7 14:06:48 CST 2016 ar
18、mv7l GNU/LinuxStopping system message bus: dbus. stopping mountd: donestopping nfsd: done Stopping OProfileUI serverStopping syslogd/klogd: stopped syslogd (pid 580) stopped klogd (pid 583)donestopping statd: done Stopping Telephony daemonALSA: Storing mixer settings. Stopping rpcbind daemon. done.S
19、topping Linux NFC daemon Deconfiguring network interfaces. done. Sending all processes the TERM signal. logoutSending all processes the KILL signal. Unmounting remote filesystems.Deactivating swap. Unmounting local filesystems.EXT4-fs (mmcblk3p2): re-mounted. Opts: (null)reboot: System haltedDCP-500
20、0L单元的系统信息,请使用相应令进行查看。2.4 系统设置2.4.1 网络设置1.IP 地址临时改变 IP 可以使用 ifconfig 命令进行,如下所示。更详细的网络设置请参考其它资料。2.MAC 地址DCP-5000L更改 MAC 地址,出厂为 MAC 分配了广州致远通过 IEEE 标准购买的合法的MAC 地址(致远的 MAC 地址以 00-14-97 开头),贴在板的上。MAC地址范例:00-14-97 开头的 MAC 地址所属厂商:。用户手册©2019 Guangzhou ZHIYUAN ElectronicsCo.,.9rootDCP-5000L:#ifconfig eth
21、0 41mname: ARMv7 Processor rev 10 (v7l)Features: swp half thumb fastmult vfp edsp neon vfpv3 tls vfpd32 CPU implementer: 0x41Crchitecture: 7 CPU variant: 0x2CPU part: 0xc09 CPU revision10Processor: 1mname: ARMv7 Processor rev 10 (v7l)Features: swp half thumb fastmult vfp edsp neon vfpv3 t
22、ls vfpd32 CPU implementer: 0x41Crchitecture: 7 CPU variant: 0x2CPU part: 0xc09 CPU revision10Hardware: Freescale i.MX6 Quad/DualLite (Device Tree) Revision0000Serial0000000000000000DCP-5000L单元结果如下:2.4.2 时钟设置查看系统时钟,使用 date 命令。设置系统时钟,先使用 date 命令设置好时间,然后使用 hwclock-w 命令将时间写入硬件RTC。例如:设置硬件RTC 时间为 2016-08-
23、08,11:28:00,则可以使用如下命令。使用以下命令可以从硬件RTC时间。2.5 文件传输2.5.1 SSH 文件传输DCP-5000L 支持 SSH登录且支持 SFTP 文件传输协议,可使用带有文件传输功能的 SSH 软件与DCP-5000L 进行文件传输。下面以SshClient 为例进行介绍。打开 SshClient,界面如图 2.6 所示。图 2.6 SshClient 主界面点击左上角的“Quick Connect”按钮,在连接界面相应栏中填入DCP-5000L 的 IP地址和登录所使用的用户名,如图 2.7 所示。用户手册©2019 Guangzhou ZHIYUAN
24、 ElectronicsCo.,.10rootDCP-5000L:# hwclock -rMon Aug 8 11:29:21 2016 0.000000 secondsrootDCP-5000L:# date -s "2016-8-8 11:28:00"Mon Aug 8 11:28:00 UTC 2016rootDCP-5000L:# hwclock -wrootDCP-5000L:# dateMon Aug 8 11:59:02 UTC 2016DCP-5000L单元图 2.7 SSH 登录设置然后点击“Connect”按钮,输入后登录系统,登录后,如图 2.8 所示
25、。图 2.8 SSH 登录然后,点击图 2.8 中菜单栏上的“文件夹图案”的按钮,从而打开 SSH Secure File Transfer的运行界面,如图 2.9 所示为切换到系统/opt 目录下的视图。用户手册©2019 Guangzhou ZHIYUAN ElectronicsCo.,.11DCP-5000L单元图 2.9 SSH Secure File Transfer 运行界面然后可使用鼠标拖拽文件,与DCP-5000L 之间进行文件传输操作。2.5.2 NFS 文件传输DCP-5000L 只能作为 NFS 客户端,可以通过 NFS 方式挂载 NFS 服务器目录,进行文件传
26、输。使用mount 命令,格式如下。例如:NFS 挂载后,可操作挂载目录下的文件,从而对服务器上的文件进行读、写U 盘使用。2.6DCP-5000L 带 1 路USB Host,USB Host 可支持U 盘、USB或者USB 接口的硬盘等移动设备。可用的 U 盘后,系统通常会自动挂载到/media 目录下,具体目录取决于U 盘的分区情况,U 盘通常被识别为SCSI 设备,设备名为/dev/sdaX 或者/dev/sdbX, 挂载为/media/sdaX 或者/media/sdbX。操作完毕,建议使用先 sync 命令完成同步,或者使用 umount 命令卸载 U 盘,确保数据完全写入,再拔取
27、U 盘。2.7SD 卡使用SD 卡,系统会进行 SD 卡自动挂载。一般会挂载在/media/mmcX 目录下。X 数值取决于卡的分区情况,如果只有一个分区,则需要手工挂载,比如:操作完毕,需要使用 umount 命令先卸载 SD 卡后才能将卡拔出。用户手册©2019 Guangzhou ZHIYUAN ElectronicsCo.,.12rootDCP-5000L:# mount -t vfat /dev/mmcblk2 /mntrootDCP-5000L:# mount -t nfs 40:/nfs/dcp5k_dir/mnt -o nolockrootDCP
28、-5000L:#mount -t nfs nfs-server-ip:nfs-share-directorymountpoint -o nolockDCP-5000L单元2.8U-Boot 命令DCP-5000L 采用 U-Boot 做为系统引导程序,在必要的情况下,可以进入 U-Boot,进行一些高级设置。DCP-5000L 为了防止某些意外中止U-Boot 引导进程,设置了保护机制,需要在特定时间段输入特定字符串才能进入U-Boot 命令行。U-Boot 启动后,出现“Autobooting in 1seconds.Enter "zlg" to interrupt Au
29、toboot.”提示后的 1 秒钟内输入“zlg”如图 2.10 所示。U-Boot 命令行,图 2.10 输入“zlg”进入 U-Boot 命令行2.9串口测试DCP-5000L 系统自带一个串口测试软件 microcom,可以很简便快捷的测试串口。microcom 的用法如下。例如,需要测试串口 ttymxc0,波特率为 115200。将 DCP-5000L 的 ttymxc0 的 TX 和RX 引脚短接,然后执行如下命令进试。然后在终端输入字符,如果能回显所的字符说明串口功能正常,反之亦然。如果想结束测试,则可输入 ctrl+x 来microcom 程序。用户手册©2019 G
30、uangzhou ZHIYUAN ElectronicsCo.,.13rootDCP-5000L:#microcoms115200 /dev/ttymxc0Usage: microcom -d DELAY-t TIMEOUT -s SPEED -X TTYDCP-5000L单元3. 文件系统3.1支持的文件系统系统支持多种常见文件系统,如ext2、fat等,具体支持哪些文件系统,可通过查看/proc/filesystem 文件。3.2安装第软件建议用户程序安装在/opt目录下,在/opt 目录下建立合理的程序目录结构,如:用户手册©2019 Guangzhou ZHIYUAN Ele
31、ctronicsCo.,.14/opt/myapp/|- bin#存放用户程序可执行文件|- data#存放数据文件|- doc#存放文档文件|- etc#存放配置等文件|- lib#存放程序所需要的额外的库文件- share#存放共享文件rootDCP-5000L:#cat /proc/filesystemsnodevsysfsnodevrootfsnodevramfsnodevbdevnodevprocnodevcgroupnodevtmpfs nodevdevtmpfs nodevdebugfs nodevsecurityfs nodevsockfsnodevpipefs nodevrp
32、c_pipefs nodevdevpts ext3ext2 ext4 vfatnodev nfsnodevnfs4nodevjffs2nodevautofs fuseblknodevfusenodevfusectl nodevmtd_inodefs nodevubifsDCP-5000L单元/opt 在物理上是一个单独的 MTD 分区,专门用于安装用户程序和存放用户数据。程序开机自启动3.3系统启动过程中会扫描/etc/rc5.d/目录下所有以“S”开头的文件并启动。所以只需在/etc/rc5.d/目录下编写一个文件名为:“S+编号+名称”的可执行即可,在中增加启动某个具体程序的语句即可。文件
33、名必须以“S”开头,编号代表了启动级别,越大越晚运行,取值建议在 9099 之间。例如,需要开机启自动的应用程序为/opt/myapp/bin/myapp,可编写 S90myapp加可执行权限,放到/etc/rc5.d/目录下,文件内容可简单的写为如下内容。并增实际应用中,如果程序启动之前需要设置一些环境变量,或者进行其他初始化,或者加载某些外设驱动或者库等等,最好编写一个的程序启动来完成以上工作,如启动程序的为startmyapp,内容如下(注意,需要可执行权限)。实现开机自启动,只需在/etc/rc5.d/S90myapp 中,调用这个即可。例如,要实现开机启动 QT 演示程序,可在/et
34、c/rc5.d/目录下增加一个S90qt 文件,其中内容如下。用户手册©2019 Guangzhou ZHIYUAN ElectronicsCo.,.15#!/bin/sh/usr/share/zhiyuan/zylauncher/start_zylauncher &#!/bin/sh/opt/myapp/startmyapp &#!/bin/sh insmod.koexport= export YYY=/opt/myapp/bin/myapp&#!/bin/sh/opt/myapp/bin/myapp &DCP-5000L单元4. 应用程序开发4.1
35、应用程序开发环境构建4.1.1Linux 开发一般方法Linux 系统,由于系统的匮乏,通常无法安装本地编译器进行本地开发,而需要在借助一台主机进行交叉开发。一般情况下,主机运行 Linux 操作系统,在主机安装相应的交叉编译器,将在主机编辑好的程序交叉编译后,通过一定方式如以太网或者串口将程序到目标系统运行,或者进行调试。一般的交叉开发流程如图 4.1 所示。图 4.1Linu叉开发一般流程Linux 开发的一般模型如图 4.2 所示。通常需要一台 PC 主机,在其中安装好各种进行交叉编译所需要的软件,通过串口和以太网和目标板相连。在主机上进行程序编辑和编译,得到的可执行文件通过串口或者以太
36、网到目标板中运行或者进行调试。图 4.2Linux 开发模型进行Linux 开发,NFS(Network FileSystem)方式应该是最用的开发方式了。主机开启 NFS 服务,作为 NFS 服务器,目标板作为NFS 客户端,目板通过NFS 方式,将主机 NFS 服务器目录挂载到本地系统,像操作本地文件一样操作的文件。对主机的要求,硬件方面,要求有串口和网口;软方面,操作系统推荐使用主流如 ubuntu 等,还需要安装开发相关的软件,同时还需要其它的软件如交叉编译器等。版,用户手册©2019 Guangzhou ZHIYUAN ElectronicsCo.,.16DCP-5000L
37、单元4.1.2 安装操作系统按照一般方法安装即可。4.1.3 构建交叉开发环境1.工具链和安装工具链安装包:poky-glibc-x86_64-meta-toolchain-qt5-cortexa9hf-vfp-neon-toolchain-1.7.sh 使用 sudo 方式运行工具链安装包,安装完成后会在系统 opt 目录下生成 poky 目录,目录结构如下所示。其中 environment-setup-cortexa9hf-vfp-neon-poky-linux-gnueabi 是编译器相关环境变量设置;sysroots 目录下是编译器工具及库。修改/.bashrc 文件,在此文件中添加如
38、下行。然后运行/.bashrc 文件,或者重新打开终端,使设置生效。运行.bashrc 文件的方法,进入用户主目录,输入. .bashrc 命令(点+空格.bashrc)。在终端输入 arm-poky 并按 TAB 键,如果能够看到很多 arm-poky-linux-gnueabi-前缀的命令,则基本可以确定交叉编译器安装正确。此编译器在使用时需要添加一些参数,否则会因找不到某些库或头文件而报错,具体参数可通过查看 CC 环境变量,此外,我们可以直接使用它已经配置好的$CC 来编译程序。2.测试工具链编写一个简单的应用程序文件如 hello.c,然后通过以下方式编译 hello.c,得到 he
39、llo 程序后,使用file 命令查看其格式。用户手册©2019 Guangzhou ZHIYUAN ElectronicsCo.,.17LinuxUserlinux-compiler:$ $CC hello.c -o helloLinuxUserlinux-compiler:$ file hellohello: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked (uses shared libs), forLinuxUserlinux-compiler:$ echo $CCarm-p
40、oky-linux-gnueabi-gcc -march=armv7-a -mthumb-interwork -mfloat-abi=hard -mfpu=neon-mtune=cortex-a9 -sysroot=/opt/poky/1.7/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabiLinuxUserlinux-compiler:$ arm-poky-linux-gnueabi-arm-poky-linux-gnueabi-addr2line arm-poky-linux-gnueabi-g+ arm-poky-linux-gnueabi-
41、gdb arm-poky-linux-gnueabi-objdumparm-poky-linux-gnueabi-ararm-poky-linux-gnueabi-gcc arm-poky-linux-gnueabi-gprofarm-poky-linux-gnueabi-ranlib arm-poky-linux-gnueabi-asarm-poky-linux-gnueabi-gcc-ararm-poky-linux-gnueabi-ldarm-poky-linux-gnueabi-readelf arm-poky-linux-gnueabi-c+filtarm-poky-linux-gn
42、ueabi-gcc-nm arm-poky-linux-gnueabi-ld.bfd arm-poky-linux-gnueabi-sizearm-poky-linux-gnueabi-cpparm-poky-linux-gnueabi-gcc-ranlib arm-poky-linux-gnueabi-nmarm-poky-linux-gnueabi-stringsarm-poky-linux-gnueabi-elfeditarm-poky-linux-gnueabi-gcovarm-poky-linux-gnueabi-objcopy arm-poky-linux-gnueabi-stri
43、psource /opt/poky/1.7/environment-setup-cortexa9hf-vfp-neon-poky-linux-gnueabiopt poky 1.7 environment-setup-cortexa9hf-vfp-neon-poky-linux-gnueabi site-config-cortexa9hf-vfp-neon-poky-linux-gnueabi sysroots version-cortexa9hf-vfp-neon-poky-linux-gnueabiDCP-5000L单元如果得到如上信息,可知 hello 程序是 ARM 格式的文件,arm
44、-linux-gnueabihf-工具链已经可以正常使用了。4.1.4 NFS 服务器配置NFS 即网络文件系统(Network File-System),可以通过网络,让不同、不同系统之间可以实现文件共享。通过NFS,可以共享目录,就像本地磁盘一样。NFS只是一种文件系统,本身并没有传输功能,是基于 RPC(用 C/S 架构。过程调用)协议实现的,采Linux 开发中,通常需要在主机上配置 NFS 服务器,将某系统特定目录共享给和使用。通过 NFS,目标系统可以直接运行存放于主机上的程序,可以减少目标系统对目标系统FLASH 的烧写,既减少了对 FLASH 损害,同时也节省了烧写 FLASH
45、 所花费的时间。1.添加NFS 目录修改/etc/exports 文件,在其中增加NFS 目录(需要 root 权限,请使用 sudo 命令)并指定主机的 IP 以及权限。如增加/home/LinuxUser/nfs 目录,并增加内容如下:IP 为 192.168.1.*的任何系统进行 NFS,2.启动NFS 服务同样需要 root 权限,执行sudo /etc/init.d/nfs-kernel-server start 或者 restart 命令,可以启动或者重新启动NFS 服务:在 NFS 服务已经启动的情况下,如果修改/etc/exports 了文件,可以重启NFS 服务,刷新 NFS
46、 共享目录,或者输入 exports -rv 命令重新导出 NFS 共享目录。3.测试NFS 服务器首先可以在主机上进行自测,将已经设定好的 NFS 共享目录 mount 到另外一个目录下,看能否。假定主机 IP 为 40,NFS 共享目录为/home/LinuxUser/nfs 可使用如下命令进试:如果指令运行没有出出错,则 NFS 挂载/home/LinuxUser/nfs 目录下的内容。,在/mnt 目录下应该可以看到启动工控板并进入Linux。将目标板接入局域网或者通过交叉网线与机直连,设定目标板的 IP,使之与主机在同一网段,然后进行mount 操作。在进行挂载
47、之前,最好先用 ping 命令检查网络通信是否正常,只有在能 ping 通的用户手册©2019 Guangzhou ZHIYUAN ElectronicsCo.,.18rootDCP-5000L:#ifconfigeth041 rootDCP-5000L:#ping 40rootDCP-5000L:#mount -t nfs 40:/home/LinuxUser/nfs /mnt -o nolockLinuxUserlinux-compiler: $ sudomounttnfs40:/home/L
48、inuxUser/nfs/mntLinuxUserlinux-compiler: $ sudo exportfs-rvLinuxUserlinux-compiler: $ sudo /etc/init.d/nfs-kernel-server start/home/LinuxUser/nfs192.168.1.*(rw,sync,no_root_squash)LinuxUserlinux-compiler: $ sudo vi /etc/exportssudo password for LinuxUser:GNU/Linux 2.6.32, BuildIDsha1=388b9bdfaa06960
49、4f274226d38d2797c71f486dd, not strippedDCP-5000L单元情况下,才能进行正常挂载,否则请检查网络。如果在已经 ping 通的情况下, 现错误,请检查主机和目标机的其它设置。NFS 基于RPC 协议,进行NFS 挂载,客户端需要运行portmap 服务,如果出现“RPC:Timed out”的错误,则有可能是目标板尚未启动 portmap 服务。解决方法是在目标板启动 portmap 服务。挂载出4.2Hello 程序使用熟悉的文本编辑器,在 NFS 目录下,编写一个简单的程序,往端口打印“Hello”字符串,程序4.1 是一个简单范例。程序4.1 H
50、ello 程序启动终端,进入hello 程序文件所在目录,输入编译命令对hello.c 进行编译。编译完毕,将得到hello 文件。启动系统,进行NFS 挂载,并进入 hello 程序所在目录,运行 hello 序。如果需要hello 程序,只需使用 cp 命令将 hello 文件到本地目录即可。这是一个非常简单的程序,并且只有一个文件,所以可以采用直接输入命令进行交叉编译,如果工程较大,文件较多,这种方式就不可取了,通常需要编写 Makefil 文件,通 make程序来进行工程管理。程序4.2 所示是一个简单的 Makefile 文件。程序4.2 应用程序 Makefile 范例用户手册
51、169;2019 Guangzhou ZHIYUAN ElectronicsCo.,.19EXEC=hello OBJS=hello.oCFLAGS=-Wall -g -O2all: clean $(EXEC)$(EXEC):$(OBJS)$(CC) -o $ $(OBJS)$(STRIP) $ clean:-rm -f $(EXEC) *.orootDCP-5000L:/mnt/hello# cp hello/optrootDCP-5000L:#mount -t nfs 40:/home/LinuxUser/nfs /mnt -o nolockrootDCP-5000L
52、:#cd/mnt/hellorootDCP-5000L:/mnt/hello#./hello Hello!LinuxUserlinux-compiler: hello$ $CC hello.c -o hello#include <stdio.h> int main(void)printf("Hello!n"); return 0;rootDCP-5000L:# portmap&DCP-5000L单元有了合适的 Makefile 文件,只需在终端输入make 命令即可编译程序。Makefile 编写有详细规则,请参考其它书籍或者资料。4.3蜂鸣器使用DCP-5000L 板载一个交流蜂鸣器,通过 PWM,设置占空比、频率后可以开启或者关闭蜂鸣器。相关的操作接口在/sys/class/pwm/ pwmchip0/export 目录下,涉及到如下几个文件:ex
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《薄层层析柱层析》课件
- 2025年临汾货物运输驾驶员从业资格考试系统
- 2025年汉中道路货运驾驶员从业资格证考试
- 《行政许可范围制度》课件
- 住宅小区施工备案委托协议
- 排水系统工程合同协议书范本
- 长期购销合同变更问题
- 花卉园艺设备租赁合同
- 舞台表演音响租赁合同范本
- 农药使用安全操作手册
- 备件的ABC分类管理规定法
- 新教材选择性必修第二册人教英语课文语法填空
- 卡簧规格尺寸WORD版
- 统计学专业经典案例分析
- 电梯及电梯配件项目可行性研究报告写作范文
- 电镀生产停电应急程序
- 部编版(统编)小学语文三年级上册期末试卷(含答题卡)
- 岗位标准之铁路工务线路工岗位作业标准
- 一人一档档案模板
- 给税务局的情况说明
- 临时竖井旋喷桩首件施工总结
评论
0/150
提交评论