ubuntu下配置交叉编译环境

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

操作系统平台 华邦公司建议使用RedHat6.x 以上linux版本,和至少800M的硬盘,这里我们使用Ubuntu 10.04.4LTSLucid Lynxlinux操作系统,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图像,必须安装NcursesNcurses 提供字符终端处理库,包括面板和菜单。所以在命令行中输入“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进行嵌入式程序的开发了。

转载于:https://my.oschina.net/u/138195/blog/89800

你可能感兴趣的:(ubuntu下配置交叉编译环境)