版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、M3352-128LI&LC工控板类别内容AM3352,Linux,CAN,Ethernet、RS232、LCD,USB摘要M3352-128LI&LC 工控板使用指南广州致远电子UM2014120101V1.00Date: 2014/12/01用户手册User ManualM3352-128LI&LC广州致远电子工控板修订历史用户手册©2013 Guangzhou ZHIYUAN Electronics Stock Co.,.i版本日期V0.902014/11/20创建文档V1.002014/12/01正式发布M3352-128LI&LC广州致远电子
2、工控板目录1. M3352-128 工控板简介11.11.2M3352-128板1EPC-9200I 工控主板11.2.11.2.21.2.31.2.4简介1主板主要接口2硬件参数2软件参数32.系统基本操作42.1开机和登录42.1.12.1.22.1.32.1.4启动选择4串口连接设置4串口登录6SSH登录62.22.32.4关机7Qt 演示程序8输入设备82.4.12.4.22.4.3触摸屏8USB 鼠标8USB 键盘82.52.6查看系统信息8系统设置92.6.12.6.2网络设置9系统时钟102.7文件传输102.7.12.7.2SSH 文件传输10NFS 文件传输112.82.92
3、.102.112.122.13U 盘使用12TF 卡使用12U-Boot 交互12待机设置13LCD 背光调节13串口测试133.文件系统143.13.23.33.43.5分区描述14支持的文件系统14安装第软件15程序开机自启动15修改文件系统164.应用程序开发174.1应用程序开发环境构建174.1.1Linux 开发一般方法17用户手册©2013 Guangzhou ZHIYUAN Electronics Stock Co.,.1M3352-128LI&LC广州致远电子工控板4.1.24.1.34.1.4安装操作系统18构建交叉开发环境18NFS 服务器配置194.2
4、4.34.44.54.6Hello 程序20GPIO 使用21蜂鸣器使用23LED 使用23串口编程244.6.14.6.24.6.3串口设备24配置串口接口属性25获得和设置串口信号线状态354.7Socket CAN 编程364.7.14.7.24.7.3初始化 CAN 网络接口36socket can 编程36示例程序404.8看门狗使用454.8.14.8.2概述45范例455. QT 4 编程485.15.2背景知识48Qt 介绍485.2.15.2.2Qt 简介48Qt/E 简介485.3编译环境的搭建485.3.15.3.2编译Qt-4.7.3 源码包48编译环境的设置485.4
5、Hello world495.4.15.4.2编译 hello 程序49在目标板上运行 hello 程序505.5qmake 与 pro 文件515.5.15.5.2pro 文件例程51pro 文件常见配置525.6桌面版本的 Qt SDK 使用简介535.6.15.6.25.6.35.6.45.6.5桌面版本Qt SDK 简介53桌面版本Qt SDK 的安装54Qt Creator 配置54Qt Creator 使用例程55移植 hello world585.7zylauncher 图形框架586. 系统恢复和更新646.16.26.36.4制作TF 卡64烧写 Linux 固件64升级某个
6、固件65全自动升级65用户手册©2013 Guangzhou ZHIYUAN Electronics Stock Co.,.2M3352-128LI&LC广州致远电子工控板6.56.6免责其它66Tera Term 使用说明66. 697.用户手册©2013 Guangzhou ZHIYUAN Electronics Stock Co.,.3M3352-128LI&LC广州致远电子工控板1. M3352-128 工控板简介1.1M3352-128M3352-128板板分 M3352-128LI 和 M3352-128LC 两个型号,两者仅在温度范围上有所差异
7、,在硬件接口和软件上完全相同,板外观如图 1.1 所示。图 1.1 M3352-128板外观1.2 EPC-9200I 工控主板1.2.1 简介EPC-9200I 是广州致远电子开发的基于 AM3352 处理器的工控主板,采用“板+底板”的结构,板为 M3352-128LI 工控板,该主板可做为 M3352-128 核心板的开发板或者前期验证板使用(下文无特殊情况,均已 EPC-9200I 来进行描述)。EPC-9200I 板载 6 路UART,2 路USB Host 2.0 接口,1 路 10/100M 以太网接口、2 路CAN 接口、1 路 TF 卡接口,1 路位 16 位 LCD 接口和
8、 4 线电阻式触摸屏接口。主板外观如图 1.2 所示。扩展接口1蜂鸣器 RTC电池接口5V电源以太网LCD接口 (带触摸)USB HostM3352板USB OTGTF卡(背面)复位按键扩展接口2功能跳线和调试串口用户手册©2013 Guangzhou ZHIYUAN Electronics Stock Co.,.1M3352-128LI&LC广州致远电子工控板图 1.2 EPC-9200I 工控主板【重要说明】:(1) 功能跳线区的 JP2,断开选择从 NAND 启动(默认),短接选择从 TF 卡启动。(2) 功能跳线区的 JP5,断开使能看门狗(默认),短接看门狗。1.2
9、.2 主板主要接口EPC-9200I 主板各接口简要描述如表 1.1 所列。表 1.1 EPC-9200I 工控主板接口描述1.2.3 硬件参数EPC-9200I 主板硬件参数如表 1.2 所列。表 1.2 EPC-9200I-L 主板硬件参数用户手册©2013 Guangzhou ZHIYUAN Electronics Stock Co.,.2项目描述说明处理器AM3352(Cortex-A8 内核),800MHz内存128MB DDR3电子硬盘256MB SLC NAND显示接口16 位 LCD 接口触摸屏接口4 线电阻式触摸屏接口串口6 路(包含 1 路调试串口)USB Hos
10、t2 路,USB 2.0 高速USB OTG1 路,USB 2.0 高速标号功能备注CON1电源接口5V 供电CON210/100M 自适应以太网CZ1USB HostCZ2USB HostJ4USB OTGJ516 位 LCD 接口带 4 线电阻式触摸屏接口J6扩展接口 2串口、CAN 等J7扩展接口 1GPIO 等J9功能跳线区、调试串口U4(背面)TF 卡M3352-128LI&LC广州致远电子工控板1.2.4 软件参数EPC-9200I-L 运行 Linux-3.2.0,包含如下驱动程序:llllllllllllllNAND Flash 驱动程序;显示驱动程序(调整分辨率需要修
11、改源码);LCD 背光驱动; 触摸屏驱动程序;SD/MMC 卡驱动程序;USB Host 驱动程序,支持USB 键盘、USB 鼠标和U 盘;CAN-Bus 驱动程序(Socket CAN 接口);10/100M 自适应以太网驱动程序;RS-232C 接口驱动程序;RTC 驱动程序; 看门狗驱动程序; LED 驱动;交流蜂鸣器驱动;GPIO 驱动。用户手册©2013 Guangzhou ZHIYUAN Electronics Stock Co.,.3CAN 接口2 路以太网1 路,10/100M 自适应TF 卡接口1 路RTC1 路蜂鸣器1 个指示灯2 个M3352-128LI&
12、;LC广州致远电子工控板2. 系统基本操作2.1 开机和登录系统默认 IP:192.168.1.136SSH 登录用户名和均为:root2.1.1启动选择EPC-9200I 支持从 NAND 或者 TF 卡启动,通过 JP2 跳线进行选择。断开 JP2 选择从NAND 启动,短接后从 TF 卡启动。2.1.2串口连接设置EPC-9200 的调试串口为 UART0,从 DUART 接口引出,为 TTL 电平为 TTL 电平,需要转换成 RS232 电平,才能与 PC 通讯。图 2.1 所示是一个 RS232-TTL 模块,通过接到主板即可。线图 2.1 RS232-TTL 模块具体接法:将模块的
13、 TXD 和RXD 信号分别接到主板DUART 的DUTX 和DURX 引脚,GND 对接,5V 信号可以接到主板的 5V,也可以接 3.3V。通过串口延长线将调试串口与电脑串口相连,设置串口 115200-8N1,无流。在 Windows 环境下,可以使用超级终端或者其它串口软件,下面以超级终端为例进行介绍。选择【开始】à【程序】à【附件】à【通讯】à【超级终端】,打开“新建连接”的界面,在“名称”一栏填写连接的名称如“Linux”,如图 2.2 所示。图 2.2 新建连接用户手册©2013 Guangzhou ZHIYUAN Electro
14、nics Stock Co.,.4M3352-128LI&LC广州致远电子工控板点击“确定”,在如图 2.3 所示的界面,选择正确的串口。图 2.3 选择串口点击“确定”进入串口属性设置界面,在这里设定串口的波特率、数据位等参数,具体设置为“115200,8N1,无流”,如图 2.4 所示。图 2.4 串口属性设置确认设置无误后点击“确定”,将得到如图 2.5 所示的超级终端界面。用户手册©2013 Guangzhou ZHIYUAN Electronics Stock Co.,.5M3352-128LI&LC广州致远电子工控板图 2.5 设定完成的超级终端界面2.1
15、.3串口登录接好串口,打开串口软件,给工控板上电,在 U-Boot 阶段不要按任何按键,系统将启动并进入 Linux 系统,在超级终端可以看到启动信息。系统启动完毕,进入 LinuxShell 界面,如图2.6 所示。图 2.6 通过超级终端登录 Linux 系统2.1.4SSH登录EPC-9200I-L 系统支持 SSH登录,可以使用任何 SSH 软件进行登录。下面以Putty用户手册©2013 Guangzhou ZHIYUAN Electronics Stock Co.,.6M3352-128LI&LC广州致远电子工控板软件通过 SSH 协议进行登录为例进行介绍。EPC
16、-9200I-L 有 1 路以太网,默认 IP 为 192.168.1.136,要进行 SSH主机设置或者添加一个 192.168.1.x 的 IP 地址。登录,需要为启动Putty 软件,在“Host Name”栏填入工控板的 IP 地址 192.168.1.136,选中 SSH 协议,如图2.7 所示。图 2.7 选中使用 SSH 协议点击“Open”,在登录界面输入用户名和“root”,登录 Linux 系统,如图 2.8 所示。图 2.8 通过 SSH 登录 Linux 系统2.2 关机一般情况下直接关闭电源即可。如果有数据操作,为了确保数据完全写入,可输入sync 命令,完成数据同步
17、后关闭电源;或者输入poweroff 命令,等串口终端出现“System halted”提示后再关闭电源。用户手册©2013 Guangzhou ZHIYUAN Electronics Stock Co.,.7rootEPC-9200 # poweroffThe system is going down NOW! Sent SIGTERM to all processesM3352-128LI&LC广州致远电子工控板2.3 Qt 演示程序EPC-9200I-L 包含支持 Qt 4.7.3,默认启动演示程序。最终实际应用可能不需要该演示程序,可以删除Qt 的启动/etc/ini
18、t.d/S90qt 文件:2.4 输入设备系统支持触摸屏输入,也支持 USB 键盘和鼠标等设备。2.4.1触摸屏如果在启动 Qt 演示程序之前没有过触摸屏可进行相关操作。USB 鼠标,则默认使用触摸屏作为输入设备,通触摸屏校准。如果使用了触摸屏,则需要进行校准,可删除校准文件/etc/pointercal,然后重启系统:或者在启动 GUI 程序之前,输入 wr ts_calibrate 命令进行校准。2.4.2 USB 鼠标如果了 USB 鼠标后启动 QT,则可同时使用触摸屏和 USB 鼠标进行操作。2.4.3USB 键盘插上USB 鼠标后启动演示界面,即可以使用USB 键盘进行操作。2.5
19、查看系统信息查看系统内核版本,使用uname 命令:查看系统内存使用情况,使用 free 命令:查看系统磁盘使用情况,使用 df 命令:用户手册©2013 Guangzhou ZHIYUAN Electronics Stock Co.,.8rootEPC-9200 # dfFilesystemSizeUsedAvailable Use% Mounted onubi0 rootfs56.1M46.6M9.6M83%/tmpfs123.9M80.0K123.8M0%/tmprootEPC-9200 # freetotalusedfreesharedbuffers Mem:12391634
20、7528916400-/+ buffers:3475289164Swap:000rootEPC-9200 # uname aLinux EPC-9200 3.2.0 #16 Fri Aug 8 17:13:17 CST 2014 armv7l GNU/LinuxrootEPC-9200 # wr rm /etc/pointercalrootEPC-9200 wr rm /etc/init.d/S90qtSent SIGKILL to all processesRequesting system poweroff System halted.M3352-128LI&LC广州致远电子工控板
21、查看CPU 等其它信息:的系统信息请使用相应令进行查看。2.6 系统设置2.6.11.网络设置IP 地址临时改变 IP 可以使用 ifconfig 命令进行,如:更详细的网络设置请参考其它资料。改变网卡设置可使用 eeprom 命令进行更改:2.MAC 地址EPC-9200I-L更改 MAC 地址,出厂为 MAC 分配了广州致远通过 IEEE 标准购买的合法的MAC 地址(致远的 MAC 地址以 00-14-97 开头),贴在板的上。如果有需要,可以用以下命令修改网卡的 MAC 地址,如果不修改则系统将使用 TI 分配的 MAC 地址(也是合法地址)。MAC 地址范例:00-14-97 开头的
22、 MAC 地址所属厂商:。用户手册©2013 Guangzhou ZHIYUAN Electronics Stock Co.,.9rootEPC-9200 # ifconfig eth0 hw ether 00:14:97:0f:00:00rootEPC-9200 # eeprom net set ip <ip-addr>rootEPC-9200 # ifconfig eth0 192.168.1.136rootEPC-9200 # cat /prouinfo Processor: ARMv7 Processor rev 2 (v7l) BogoMIPS: 795.44F
23、eatures: swp half thumb fastmult vfp edsp thumbee neon vfpv3 tls CPU implementer : 0x41Crchitecture: 7 CPU variant: 0x3CPU part: 0xc08 CPU revision2Hardware: EPC-9200Revision0000Serial0000000000000000tmpfs123.9M48.0K123.8M0%/vartmpfs123.9M0123.9M0%/mediaubi1:opt162.4M20.0K157.6M0%/optM3352-128LI&
24、;LC广州致远电子工控板结果如下:2.6.2系统时钟查看系统时间,使用 date 命令:设置系统时钟,先使用 date 命令设置好时间,然后使用 hwclock -w 命令将时间写入硬件RTC。例如:设置硬件RTC 时间为 2014-08-28,15:34:00,则可以使用如下命令:2.7 文件传输2.7.1SSH 文件传输EPC-9200I-L 支持 SSH登录,如果所使用的 SSH 软件带有文件传输功能,还可以通过 SSH 进行文件传输。下面以带文件传输的 SSH Secure File Transfer 为例进行介绍。SSH Secure File Transfer 的运行界面如图2.9
25、 所示。图 2.9 SSH Secure File Transfer 运行界面用户手册©2013 Guangzhou ZHIYUAN Electronics Stock Co.,.10rootEPC-9200 # date 2014.08.28-15:34:00rootEPC-9200 # hwclock -wrootEPC-9200 # dateMon Jan 28 15:35:12 UTC 2014M3352-128LI&LC广州致远电子工控板点击界面的“Quick Connect”按钮,在连接界面相应栏中填入 EPC-9200I-L 的 IP地址和登录所使用的用户名,如
26、图 2.10 所示。图 2.10 填写主机和用户名最后点击“Connect”按钮,登录系统,并可进行文件传输。图根目录(/)下的视图。2.11 所示为切换到系统图 2.11 SSH 文件按浏览视图通过 SSH Secure File Transfer 可以进行文件传输,由于系统保护机制,只有/opt 目录可写,所以进行文件传输需要先在 SSH 中将目录切换到/opt 目录。2.7.2NFS 文件传输工控板只能作为 NFS 客户端,可以通过NFS 方式登录到 NFS 服务器,进行文件传输。使用 mount 命令,格式如下:例如:NFS 挂载后,可以使用 cp 命令将NFS 服务器的文件到系统本地
27、目录。例如:用户手册©2013 Guangzhou ZHIYUAN Electronics Stock Co.,.11rootEPC-9200 # mount -t nfs 192.168.1.138:/home/chenxibing/nfs /mnt -o nolockrootEPC-9200 # mount -t nfs nfs-server-ip:nfs-share-directory /mountpoint -o nolockM3352-128LI&LC广州致远电子工控板2.8 U 盘使用EPC-9200I-L 带 2 路 USB Host,可支持 U 盘、USB或者
28、 USB 接口的硬盘等移动设备。可用的 U 盘后,系统通常会自动挂载到/media 目录下,具体目录取决于 U盘的分区情况,U 盘通常被识别为 SCSI 设备,设备名为/dev/sdaX 或者/dev/sdbX,挂载为/media/sdaX 或者/media/sdbX。操作完毕,建议使用先 sync 命令完成同步,或者使用 umount 命令卸载 U 盘,确保数据完全写入,再拔取U 盘。2.9 TF 卡使用TF 卡,系统会进行 TF 卡自动挂载。一般会挂载在/media/mmcX 目录下。X 数值取决于卡的分区情况,如果只有一个分区,则需要手工挂载:操作完毕,需要先卸载然后才能将卡拔出。2.1
29、0 U-Boot 交互EPC-9200I-L 采用 U-Boot 做为系统引导程序,在必要的情况下,可以进入 U-Boot,进行一些高级设置。EPC-9200I-L 为了防止某些意外中止 U-Boot 引导进程,设置了保护机制,需要在特定时间段输入特定字符串才能进入 U-Boot 交互界面。U-Boot 启动后,出现“Autobooting in 1seconds. Enter "zlg" to interrupt Autoboot.”提示后的 1 秒钟内输入“zlg”交互界面。U-Boot此时输入“zlg”进入如下菜单界面(输入的“zlg”无):各菜单功能都比较明了,不再
30、介绍。输入“q”将进入传统命令行模式,可进行操用户手册©2013 Guangzhou ZHIYUAN Electronics Stock Co.,.12e Erase NAND Flasha Burn all imagesb Burn bootloaderk Burn kernell Burn logor Rebootq exit to cmdlineU-Boot 2011.09-00000-gc32c12a-dirty (Aug 26 2013 - 11:09:04)I2C:ready DRAM: 128 MiBWARNING: Caches not enabledNAND: HW
31、 ECC Hamming Code selected 256 MiBMMC:OMAP SD/MMC: 0Net:cpswAutobooting in 1 seconds. Enter "zlg" to interrupt Autoboot.rootEPC-9200 # mount -t vfat /dev/mmcblk0 /mntrootEPC-9200 # cp /mnt/hello/hello /rootM3352-128LI&LC广州致远电子工控板作。2.11 待机设置默认待机时间为 10 分钟。如果需要待机模式,可进行如下操作:在非待机状态下想立即进入待机模
32、式,可进行如下操作:不进入待机模式,则需要修改内核启动参数,进入 U-Boot,在内核启动如果需要参数中增加:consoleblank=0 即可,例如:实际操作方法。系统启动后,进入U-Boot 命令行。输入如下指令:然后重启即可。2.12 LCD 背光调节EPC-9200I-L 支持 PWM 背光调节, 可根据实际需要进行调整。操作接口为/sys/class/backlight/pwm-backlight/brightness。往 brightness 文件写入背光空比,有效范围 0100),即可实现调节。例如,将亮度设置为 70%:的值(PWM 占2.13 串口测试EPC-9200I-L
33、系统自带一个串口测试软件 microcom,可以很简便快捷的测试串口。Microcom 的用法如下:例如,需要测试串口 ttyO1,波特率为 38400。将 EPC-9200I-L 的 ttyO1 通过 TTL-232转换模块和延长线与PC 的某个串口相连,PC 上打开串口软件。在 EPC-9200 的终端输入如下命令:然后在终端输入字符,在PC 的串口软件可以看到所的字符,反之亦然。-t 3000 表示在 3000ms 内没有输入,程序就自动。用户手册©2013 Guangzhou ZHIYUAN Electronics Stock Co.,.13rootEPC-9200 # mi
34、crocom -t 3000 -s 38400 /dev/ttyO1Usage: microcom -d DELAY -t TIMEOUT -s SPEED -X TTYrootEPC-9200 # echo 70 > /sys/class/backlight/pwm-backlight/brightnessU-Boot# setenv optargs consoleblank=0U-Boot# run ubiargsbootargs=ubi.mtd=5 root=ubi0 rootfs rootfstype=ubifs console=ttyO0,115200n8 mem=128M c
35、onsoleblank=0rootEPC-9200 echo "0" > /sys/class/graphics/fb0/blankrootEPC-9200 echo "4" > /sys/class/graphics/fb0/blankM3352-128LI&LC广州致远电子工控板3. 文件系统3.1分区描述系统板载 256MB 字节 NAND Flash,一共分为 7 个MTD 分区,查看/proc/mtd 文件可看到各 MTD 分区信息:各分区的大小和用途等如表 3.1 所列。表 3.1 NAND Flash 分区和说明建议用户
36、将应用程序或者程序数据存放在/opt 分区,而不要放在用户文件系统中,以免对文件系统造成破坏。3.2 支持的文件系统系统支持多种常见文件系统,如 ext2、fat 等,具体支持哪些文件系统,可通过查看/proc/filesystem 文件。用户手册©2013 Guangzhou ZHIYUAN Electronics Stock Co.,.14rootEPC-9200 # cat /proc/filesystems rootEPC-9200 # cat /proc/filesystems nodev sysfsnodev rootfsnodevbdevnodevprocnodevtm
37、pfs分区大小用途SPL0.5MBSPL 区域U-Boot2MBU-BootKernel4MBLinux 内核Kernel24MBLinux 内核(备份)Logo1MB内核 LOGOFile System64MB用户文件系统区域Opt剩余空间/opt 分区,可存放用户数据或者程序rootEPC-9200 # cat /proc/mtd dev:sizeerasesize name mtd0: 00080000 00020000 "SPL"mtd1: 00200000 00020000 "U-Boot"mtd2: 00400000 00020000 &qu
38、ot;Kernel"mtd3: 00400000 00020000 "Kernel2"mtd4: 00100000 00020000 "Logo"mtd5: 04000000 00020000 "File System"mtd6: 0b480000 00020000 "Opt"M3352-128LI&LC广州致远电子工控板3.3 安装第软件建议用户程序须安装在/opt 目录下,在/opt 目录下建立合理的程序目录结构,如:/opt 在物理上是一个单独的 MTD 分区,专门用于安装用户程序和存放用户
39、数据。3.4 程序开机自启动系统启动过程中会扫描/etc/init.d 目录下所有以“S”开头的文件并启动。所以只需在/etc/init.d 目录下编写一个文件名为:“S+编号+名称”的可执行即可,在中增加启动某个具体程序的语句即可。文件名必须以“S”开头,编号代表了启动级别,越大越晚运行,取值建议在 9099 之间。例如,需要开机启自动的应用程序为/opt/myapp/bin/myapp,可编写 S90myapp并增用户手册©2013 Guangzhou ZHIYUAN Electronics Stock Co.,.15/opt/myapp/|- bin#存放用户程序可执行文件|-
40、 data#存放数据文件|- doc#存放文档文件|- etc#存放配置等文件|- lib#存放程序所需要的额外的库文件- share#存放共享文件nodevbinfmt_misc nodevdebugfsnodevsockfsnodevusbfsnodevpipefsnodevanon_inodefs nodevrpc_pipefs nodevdevptsext3 ext2 cramfsnodevramfs vfat msdosnodevnfsnodevnfs4nodevmqueue nodevmtd_inodefs nodevoprofilefs nodevubifsM3352-128LI
41、&LC广州致远电子工控板加可执行权限,放到/etc/init.d 目录下,文件内容可简单的写为:实际应用中,如果程序启动之前需要设置一些环境变量,或者进行其他初始化,或者加载某些外设驱动或者库等等,最好编写一个序的为startmyapp,内容如下(注意,的程序启动来完成以上工作,如启动程需要可执行权限):实现开机自启动只需在/etc/init.d/S90myapp 中调用这个即可:例如,要实现开机启动 QT 演示程序,可在/etc/init.d 目录下增加一个S90qt 文件,其中内容如下:3.5修改文件系统出厂的文件系统,除了/opt 和临时目录/tmp 可写之外,其余目录都是只读系
42、统,防止系统受到意外损坏。但是系统不可避免的需要进行某些修改,系统提供了这样的操作机制。在进行文件、修改等命令前加上 wr,即可修改系统的只读目录和文件,例如:这样就可以将S90qt 文件到本来只读的/etc/init.d 目录。要编辑修改某个文件,可在文件,则可以这样操作:vi前加上 wr,实现对文件的修改。例如要修改/etc/inittab用户手册©2013 Guangzhou ZHIYUAN Electronics Stock Co.,.16rootEPC-9200 # wr vi /etc/inittabrootEPC-9200 # wr cp S90qt /etc/init
43、.d#!/bin/sh/usr/share/zhiyuan/zylauncher/start_zylauncher &#!/bin/sh/opt/myapp/startmyapp &#!/bin/sh insmodkoexport= export YYY=/opt/myapp/bin/myapp#!/bin/sh/opt/myapp/bin/myapp &M3352-128LI&LC广州致远电子工控板4. 应用程序开发4.1 应用程序开发环境构建4.1.1Linux 开发一般方法Linux 系统,由于系统的匮乏,通常无法安装本地编译器进行本地开发,而需要在借助一
44、台主机进行交叉开发。一般情况下,主机运行 Linux 操作系统,在主机安装相应的交叉编译器,将在主机编辑好的程序交叉编译后,通过一定方式如以太网或者串口将程到目标系统运行,或者进行调试。一般的交叉开发流程如图 4.1 所示。序开始调试应用程序发布应用程序图 4.1Linu叉开发一般流程Linux 开发的一般模型如图 4.2 所示。通常需要一台PC 主机,在其中安装好各种进行交叉编译所需要的软件,通过串口和以太网和目标板相连。在主机上进行程序编辑和编译,得到的可执行文件通过串口或者以太网到目标板中运行或者进行调试。图 4.2Linux 开发模型Linux 开发,NFS(Network FileS
45、ystem)方式应该是最常用的开发方式了。进行主机开启 NFS 服务,作为 NFS 服务器,目标板作为 NFS 客户端,目标板通过 NFS 方式,将主机 NFS 服务器目录挂载到,像操作本地文件一样操作的文件。对主机的要求,硬件方面,要求有串口和网口;软方面,操作系统推荐使用主流版,用户手册©2013 Guangzhou ZHIYUAN Electronics Stock Co.,.17将应用程序放到目标系统运行在主机上编译应用程序在主机编写应用程序代码M3352-128LI&LC广州致远电子工控板如 ubuntu 等,还需要安装开发相关的软件,同时还需要其它的软件如交叉编译
46、器等。4.1.2安装操作系统按照一般方法安装即可。4.1.3构建交叉开发环境1.工具链和安装工具链压缩包:arm-2011.03-41-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2安装工具链只需将压缩包进行解压,并设置环境变量即可。解压后生成arm-2011.03 目录,其中 bin 里面包含工具链如 arm-none-linux-gnueabi-gcc、arm-none-linux-gnueabi-g+的可执行文件。设置工具链路径,将 arm-2011.03/bin 目录添加到系统PATH 环境变量中即可,假如工具链 安 装 在 /home
47、/ctools/arm-2011.03 目 录 , 则 需 要 指 定 交 叉 编 译 目 录 到/home/ctools/arm-2011.03/bin。具体设置方法:修改/.bashrc 文件,在 PATH 变量中增加交叉编译工具链的安装路径, 然后运行/.bashrc 文件,使设置生效。运行.bashrc 文件的方法,进入用户主目录,输入. .bashrc 命令(点+空格.bashrc)。在终端输入 arm-none-并按 TAB 键,如果能够看到很多 arm-none-linux-gnueabi-前缀的命令,则基本可以确定交叉编译器安装正确。2.测试工具链编写一个简单的应用程序文件如
48、hello.c,然后在终端输入 arm-none-linux-gnueabi-gcchello.c -o hello,编译hello.c,得到 hello 程序后,使用 file 命令查看其格式。如果得到如上信息,可知 hello 程序是 ARM 格式的文件,arm-none-linux-gnueabi-工具链已经可以正常使用了。用户手册©2013 Guangzhou ZHIYUAN Electronics Stock Co.,.18chenxibinglinux-compiler: $ arm-none-linux-gnueabi-gcc hello.c -o hello chen
49、xibinglinux-compiler: $ file hellochenxibinglinux-compiler: hello$ file hellohello: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.16, not strippedchenxibinglinux-compiler: $ arm-none-linux-gnueabi-arm-none-linux-gnueabi-addr2linearm-none-l
50、inux-gnueabi-elfeditarm-none-linux-gnueabi-gdbtui arm-none-linux-gnueabi-ranlibarm-none-linux-gnueabi-ararm-none-linux-gnueabi-g+ arm-none-linux-gnueabi-gprofarm-none-linux-gnueabi-readelfarm-none-linux-gnueabi-as arm-none-linux-gnueabi-gccarm-none-linux-gnueabi-ldarm-none-linux-gnueabi-size arm-non
51、e-linux-gnueabi-c+arm-none-linux-gnueabi-gcc-4.5.2arm-none-linux-gnueabi-nm arm-none-linux-gnueabi-spritearm-none-linux-gnueabi-c+filtarm-none-linux-gnueabi-gcov arm-none-linux-gnueabi-objcopyarm-none-linux-gnueabi-stringsarm-none-linux-gnueabi-cpp arm-none-linux-gnueabi-gdbarm-none-linux-gnueabi-ob
52、jdumparm-none-linux-gnueabi-strip# User specific environment and startup programsPATH=$PATH: /home/ctools/arm-2011.03/bin ç 增加交叉编译器安装路径M3352-128LI&LC广州致远电子工控板4.1.4NFS 服务器配置NFS 即网络文件系统(Network File-System),可以通过网络,让不同、不同系统之间可以实现文件共享。通过NFS,可以共享目录,就像本地磁盘一样。NFS只是一种文件系统,本身并没有传输功能,是基于 RPC(过程调用)协议实现的,采用 C/S 架构。Linux 开发中,通常需要在主机上配置 NFS 服务器,将某系统特定目录共享给目标系统和使用。通过 NFS,目标系统可以直接运行存放于主机上的程序,可以减少对目标系统FLASH 的烧写,既减少了对 FLASH 损害,同时也节省了烧写
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年房地产开发商物业托管协议范本版B版
- 2024年度农业化肥生产技术改造与升级合同2篇
- 2024年建筑施工现场安全监管技术服务合同2篇
- 2024年品牌总监聘用协议3篇
- 2024年度民间借贷农产品抵押贷款合同示范文本3篇
- 现代计算力学知到智慧树章节测试课后答案2024年秋北京理工大学
- 机械工程控制基础知到智慧树章节测试课后答案2024年秋湖北工程学院
- 2024年度热力设施租赁合同及供暖服务3篇
- 2024年安装维修合同2篇
- 2024年度家务助理与雇主及家政服务平台三方服务协议3篇
- 幼儿游戏行为观察量表
- 小学语文人教六年级上册古诗复习课件
- 餐饮消防安全培训课件
- 特选2023年河南省高考对口升学医科类中医专业课试题卷
- 毕业设计(论文)-青皮核桃去皮机结构设计
- 《多项式》教学设计
- 调试记录【可编辑范本】
- 根本死亡原因判定课件
- 中国古钱币课件
- 北京市广渠门中学2022年七年级数学第一学期期末质量检测试题含解析
- 中职《金属加工与实训-基础常识与技能训练》 第4章 金属热加工基础(上) 云天课件
评论
0/150
提交评论