嵌入式Linux平台C程序交叉编译技术
一、实验目的和任务
- 本实验要求复习和掌握Linux平台的C程序开发过程。
- 本实验要求掌握嵌入式开发板的操作方法。
- 本实验要求掌握Linux平台交叉编译方法和程序运行方法。
二、实验设备介绍
B703实验室是一个综合的硬件开发实验室,基于本门课程主要用到的配置环境如下:
1.软件环境: win7操作系统,VMware workstation,ubuntu12 [配置交叉编译环境]。
2.硬件环境: PC主机与smart210开发板;
三、实验内容和步骤
3.1 Smart210开发板的基本介绍和使用
由于博创开发板历经时久,多数已有功能损坏,使用新版linux开发板,其核心板是Smart210,使用串口线将PC机与703开发板连接,开发板是arm CPU,PC机则是intel CPU。操作开发板最重要的方法就是连接到开发板的串口,串口提供一个超级管理员命令窗口,还支持文件传输。开发板具有丰富的外接接口,PC机通过外接接口控制开发板,传输数据(程序或文件)最常用的是通过串口和网口,如果要使用WiFi需要配备专门的wifi模块。选择串口连接方式首先准备一条质量良好的usb2serial线(质量不好的串口线会浪费很多时间),一端连到PC(win10),一端连接到开发板的COM0口,使用XShell软件连接开发板连接,查看PC机端串口编号为COM5。
如果PC主机只有USB接口没有串口接口,可以用USB转串口的线(9口)连接到开发板的COM口,还有一种4针的usb转ttl的转接方式,与开发板上有对应的(vcc 5v,gnd,TX,RX)针脚相连。
B703PC机的win7使用Xshell软件连接串口,使用菜单:File->New。在对话框中设置连接的名称,协议要选SERIAL,选择SERIAL节点,请使用com2口[指PC主机端],并且波特率设为115200,开发板请接com0。如果能够看到root@FriendlyARM提示符,表示已经可以通过串口操作开发板,可以在这个窗口执行命令,还可以传输文件。
如果线路成功连接到开发板,打开开发板开关,则显示开发板系统启动信息。如果连接不成功,可能连接线断了,换另一条线,B703主机短的是COM1口,长的是COM2口。开发板固定是COM0不变。按下回车后,有root@FriendlyARM提示符则表示串口连接成功。
如果smart210开发板如下图没有显示图形化菜单界面,其实机器是正常运行的,机器没有问题。
开发板启动后是显示学校图标还是显示QT菜单界面的区别,在/etc/init.d/rcS文件中设定了一条指令,该指令内容如下
bin/qtoptia &
这行命令实际是要求开发板运行一个qt程序用来显示一个丰富的菜单。
通过命令行进入开发板上的etc/init.d目录,编辑rcs文件(vi ./rcs)。找到这行代码,在前面加个#将它注释掉,就显示学校图标。保留该行则开机显示qt的菜单界面。
在rcS文件中有一行指令,bin/qtopia & 它显示一个qt界面的菜单,行前加#则只显示学校图标。
3.2 交叉编译工具arm-linux-gcc介绍
在PC平台的ubuntu系统中运行gcc –v命令,编译的目标是x86_64的应用程序。
在arm平台(树莓派)运行gcc –v命令,编译的目标是arm-linux的应用程序。
在不同平台生成的目标文件格式是不同的,file命令可查看可执行文件的平台信息。bg 是在pc平台编译生成的&#