操作系统平台 华邦公司建议使用RedHat6.x 以上linux版本,和至少800M的硬盘,这里我们使用Ubuntu 10.04.4LTS(Lucid Lynx)linux操作系统,20G的文件系统空间。
我们这里使用华邦提供的软件包
1:)μclinux-4.20
2:)arm-elf-gcc-3.0开发工具
3:)基于μclinux 环境的示例程序代码
4:)用于C++ 开发的 arm-elf-gcc-3.3.4
1、登陆系统,打开超级终端
2、按照文档,将W90p710.tar.gz解压到开发目录,这里强烈建议使用本用户工作目录,不然等以后使用make命令时会报错,而且由于用户权限的问题,解压到其他目录需要使用超级权限,操作起来极其不方便。执行在终端输入tar xzvf W90P710.tar.gz解压文件至开发目录。
3、使用root账户权限下输入sh intall.sh安装开发工具。
4、配置开发环境
这里不仅要在终端上输入export PATH=/usr/local/arm_tools/bin:$PATH。一般来讲,这时候执行make操作或者在以后配置系统的话会说“exit 1make[1]:arm-elf-gcc:命令未找到“还需要用超级权限在/etc/environment文件里把开发目录加进去/usr/local/arm_tools/bin。这里的开发环境配置不能出一点错误,否则会在接下来的make时会报错说找不到arm-elf-gcc文件。
经过以上步骤,我们已经成功的构建了交叉编译环境。基于自己的经验,上面两点建议来之不易,是笔者经过几个昼夜的反复调试得来的教训,至于网上有说只需经过export
PATH=/usr/local/arm_tools/bin:$PATH命令就能配置成功的说法,笔者试过基本不能成功,需要在/etc/environment里面加入开发目录。
配置与重建内核
1、安装“make menuconfig”必要工具“libncurses”
经过上述步骤我们配置好了开发环境,接下来就需要配置令人头疼的系统内核配置了。首先要在命令行中输入“make linux_menuconfig”或者“make menuconfig”进入配置内核的设置。make menuconfig 是执行makefile里面的menuconfig目标。因为在默认的ubuntu里面是没有某些必须软件的,因此在进行这一步的第一步在命令行中输入“make linux_menuconfig”或“make menuconfig”时会报错,注意这里输入的命令要以root用户来运行,否则会报错说权限不够。
make[1]:正在进入目录 `/home/test/W90P710-uClinux/uClinux-dist/config/scripts/lxdialog'/usr/bin/ld:
cannot find -lncurses collect2: ld returned 1 exit status
-e >> Unable tofind the Ncurses libraries.
>>>> You must have Ncurses installed in order
>> to use 'make menuconfig'
这里原因是终端是基于文本的,若要显示基于gui图像,必须安装Ncurses,Ncurses 提供字符终端处理库,包括面板和菜单。所以在命令行中输入“sudo apt-get install libncurses* ”来安装nucurses,然后选择安装最新版本的“libcurses-dev5”。
2、在终端用root权限输入“sudo make menuconfig”命令运行菜单配置工具。具体置按照《W90P710 uClinux BSP User Manual》中的提示进行。
请注意,因为嵌入式接口的问题,有几个功能会因公用同一接口会发生冲突。另外,笔者在调试过程中发现如果选用network时在接下来的make内核时会因为找不到一个net.o文件会报错。也许因为在配置过程中有软件产生了冲突,原因这里就不得而知了。
接下来的过程就是按照指导文档进行了。这里提醒的是,每次配置好内核后构建内核前都要使用“make dep”
电脑与开发板的连接
电脑与开发板的连接方法有两种,一种是通过网线连接,另一种是通过串口接口进行连接。
1、我尝试过这两种连接,首先尝试的是通过网线的连接。
可能是因为开发板的网络设置问题而没有成功。虽然手动设置电脑的ip 地址为各种资料里面查找到的192.168.0.***,其网络掩码设为255.255.255.0,使电脑和开发板同处一个局域网内,但一直都是连接的上却ping不通。后来曾经用minicom软件以串口通信方式连接目标板才发现开发板的ip地址为0.0.0.0,也就是说,需要先以串口方式设置好目标板本地ip地址后才能连接。而通过说明文档《W90P710 Bootloader Users Manual》里面提供的方法,在minicom命令行里面输入ifconfig手动设置开发板ip地址没有成功,因此从此再也没有想过用网络连接了。
2、通过串口接口连接开发板。
串口是嵌入式开发使用最多的通信方式。Linux系统提供了一个串口工具minicom,可以完成复杂的串口通信工作。在ubuntu Linux系统shell下输入“$sudo apt-get install
minicom”回车后即可安装minicom软件。软件安装好后,第一次使用之前需要配置minicom。[2] 在终端输入sudo minicom –s 进入设置的图形用户界面,找到设置端口的选项 Serial
port setup,把波特率设置为115200:设置奇偶校验位为无奇偶校验位,设置数据位为8 位,设置停止位为 1 。也可以直接按 Q 键,是数据位为
8 ,奇偶位为无,停止位为1。
3、进入minicom连接开发板
设置完成后保存并退出,这里,我们用的是笔记本电脑,需要USB转串口线连接目标板,且将设置设置为“ttyUSB0”。将串口转USB接口在终端中输入minicom进入modem。
至此,我们可以使用电脑的arm-elf-gcc进行嵌入式程序的开发了。