ubuntu 嵌入式开发环境建立(完整版)
- 格式:doc
- 大小:50.50 KB
- 文档页数:8
在windowns下开发stm32刚开始学最烦的就是创建工程模板,都不知道为什么要那样设置,而且步骤繁多。
现在我告诉大家一个好消息,在linux下配置stm32开发环境包括创建工程,使用JLink仿真简单到我都不知道怎么写教程了,什么固件库,OPENOCD,都成了浮云。
先上我自己整理软件,包括eclipse, arm-none-eabi-gcc, stm32 m3 3.5固件库(备用),stm32 for eclipse插件, JLink 4.78驱动,JLink固件(在 JLink 4.78驱动下不丢固件,但要下进去以后在windowns下面升个级),还有stlink驱动,以及串口下载软件都是linux下的,足够让玩stm32的linux用户爽一阵了。
下载地址/s/1c0GJiLE1.安装arm-none-eabi-gcc:直接解压复制到自己的安装目录下。
我是在用户目录下建了一个software文件夹,直接放到里面就可以了。
设置好路径:Ctrl+Alt+T键入命令 sudo gedit ~/.profile在password:输入自己的密码,不显示。
在打开的文件最后面添加自己的路径。
我的是/home/godsend/software/arm-none-eabi-gcc/bin所以我自己的路径就是exportPATH=$PATH:"/opt/microchip/xc8/v1.21/bin:/home/godsend/software/arm-none-eabi-gcc/bin:/home/godsend/sof tware/opt/FriendlyARM/toolschain/4.4.3/bin:/home/godsend/software/jdk1.7.0/bin:/home/godsend/software/s tlink-master:/home/godsend/software/stm32flash"由于我的软件比较多就是这样,在这要注意一下,不同路径之间用冒号隔开。
Ubuntu下嵌入式Qt开发环境配置全攻略本文以友善之臂的Mini6410嵌入式开发板为目标板,介绍ubuntu 12.04系统下,配置嵌入式Qt开发工具的过程。
本文中介绍的工具、大部分步骤和脚本来自开发板附带资料光盘,但其默认配置环境为老旧的Fedora 9.0,在ubuntu中配置过程已需要修正。
一、背景众所周知Qt是一个跨平台的开发工具,与本文相关的分支有3个,分别是Linux下的Qt桌面版(基于X Window),嵌入式桌面环境Qtopia(Qt Extended)和嵌入式基础类库Qt Embedded。
嵌入式桌面版拥有集成开发工具Qt Creator,方便进行Qt 程序的设计,默认配置用于开发桌面程序,进行交叉编译设置(有时间待后文详述)后,可以直接编译嵌入式程序。
Qt Embedded也称Qt/E,是运行于嵌入式Linux的Qt基础类库,目前最高版本为4.8(不确定)。
它的图形界面直接工作于Frame Buffer 上,绕过了窗口管理系统,具有较高的效率,适于嵌入式环境。
Qtopia是一个嵌入式桌面环境,以Qt Embedded(在某些版本中称Qtopia Core)为基础,在后期改名为Qt Extended。
它提拥有一个桌面,并供了手机/PDA中常用的基本功能软件(如电话本等等),在4.4.3后官方停止开发(或改由开源社区维护)。
不同的开发目标应当选择不同的开发工具和环境,如果读者不开发桌面程序,也不需要Qt Creator(自己写makefile),可以不用安装桌面版,但装上对后续配置还是有一定方便作用的。
对嵌入式开发者来说,如果仅仅开发单独的图形界面程序,不需要嵌入式桌面的话,只使用Qt/E即可,没必要使用过时的Qtopia。
友善之臂开发板默认的Qtopia环境是2.2,已经与4.x的Qt/E库不兼容,除了演示自带程序外,对开发而言几乎不堪用。
开发板还提供了Qt Extended 4.4.3,但这个环境提供的是一个诺基亚功能机的界面,基本上也只能供学习研究使用了。
ubuntu安装及android源码编译环境搭建为了能够编译和运行 Android 源码,我们需要在 Ubuntu 系统中搭建相应的开发环境。
下面是 Ubuntu 安装及 Android 源码编译环境搭建的详细步骤:一、Ubuntu 系统的安装2.将ISO文件写入USB或DVD中,制作启动盘。
3.在计算机上将系统引导到USB活动盘或DVD上,并启动系统。
4. 在启动菜单中选择安装 Ubuntu,按照提示完成安装过程。
二、系统更新和软件安装1.安装后,运行系统更新以获取最新的软件包和安全修复程序。
可以在终端中运行以下命令:```sudo apt updatesudo apt upgrade```2.安装开发工具和编译器。
可以在终端中运行以下命令:```sudo apt install build-essentialsudo apt install openjdk-8-jdksudo apt install pythonsudo apt install gitsudo apt install curlsudo apt install gnupg```1. 配置 Git 个人信息,可以在终端中运行以下命令:```git config --global "Your Name"``````chmod a+x ~/bin/repo```3. 配置 PATH 环境变量,这样在终端中就可以使用 Repo 了。
打开`~/.bashrc` 文件,并在末尾添加以下内容:```export PATH=~/bin:$PATH```4.执行以下命令使配置生效:```source ~/.bashrc```1. 创建一个空文件夹作为 Android 源码存放的目录,并在终端中进入该目录。
```repo init -u <URL> -b <branch>````````````repo sync```5.开始编译。
在Ubuntu上建立Arm Linux 开发环境来源:未知作者:电子电路【大中小】我使用的是友善2410的板子,以前都是用Fedora,现在家里的电脑被我转为Linux专用的了,装的是Ubuntu。
但是嵌入式还是要玩的,在装载过程中也遇到一些小麻烦。
在此记录一下,一来自己比较健忘,二来也希望能给一些没弄过的人一点启示。
目的:把ARM linux的交叉开发环境,kernel, filesystem, bootloder安装,并配置,使其可以编译bootloder, kernel, 可以nfs更新文件系统;资源:arm-linux-toolchains.tgzmatrix5-kernel-v5.5.tgzvivi.tar.gzJflash.tgzroot-for-nfs-v5.5.tgz规划:交叉编译器装在:/usr/local/kernel, bootloder放在: /home/volans/arm/用于启动的nfs文件系统放在:/home/armnfs/准备工作:sudo mkdir /home/armnfssudo chmod 777 /home/armnfsmkdir ~/arm上面前两句的目的是在/home下建立armnfs目录,为了开发的方便,把这个目录设成所有用户可rwx。
然后把上面提到的资源全部拷贝到~/arm/下。
安装配置:安装标准的C开发环境,由于Ubuntu安装默认是不安装的,所以需要先安装一下:sudo apt-get install gcc g++ libgcc1 libg++ make gdb安装交叉编译器cd /sudo tar zxvf /home/volans/arm/arm-linux-toolchains.tgz请在执行完成后查看是否存在/usr/local/arm文件夹。
把交叉编译器的路径加入到PATH,以方便使用:sudo vi /etc/bash_bashrc在后面加入如下代码:if [ -d /usr/local/arm ] ; thenPATH=/usr/local/arm/2.95.3/bin:"${PATH}"fi解压bootloader, kernel和flash烧写工具Jflashcd ~/armtar zxvf matrix5-kernel-v5.5.tgztar zxvf vivi.tar.gztar zxvf Jflash.tgz解压用于启动的NFS文件系统cd /home/armnfstar zxvf /home/volans/root-for-nfs-v5.5.tgz启动NFS服务请参照我前几篇文章,关于启动NFS服务器的相关内容。
我的博客/liang890319乐于和对嵌入式和php感兴趣的你交流本节主要包括:一------minicom配置(linux下的串口)二-------nfs配置(可以读写开发板里面的文件)三------ftp配置(传递文件)四------arm-linux-gcc/gdb等配置(交叉编译工具)五----automake,automake autoconf autogen工具(帮助我们生成makefile)---------------------------------------------------------------------------------------一------minicom配置linux下的串口,可以和开发板通过串口通信显示安装:sudo apt-get install minicom配置:1 . 在终端中输入minicom以启动minicom;2. 先按下Ctrl + a, 放开, 再按o, 出现配置菜单.3. 选择Serial port setup, 此时所示图标在―Change which setting‖中,键入―A‖,此时光标移到第A项对应处:串口COM1对应ttyS0, COM2对应ttyS1. (注意选择)具体的配置信息如下所示:Serial port setup [Enter]+-------------------------------------------------------------+| A - Serial Device : /dev/ttyUSB0 || B - Lockfile Location : /var/lock || C - Callin Program : || D - Callout Program -: || E - Bps/Par/Bits : 115200 8N1 || F - Hardware Flow Control : No || G - Software Flow Control : No || || Change which setting? |+-------------------------------------------------------------+注意:如果没有使用USB转串口,而是直接使用串口,那么Serial Device要配置为/dev/ttyS0(如果使用USB转串口,则需要查看dev下是否存在ttyUSB0,若没有,则创建一个:mknod /dev/ttyUSB0 c 188 0)对波特率,数据位和停止位进行配置,键入―E‖,波特率选为115200 8N1 (奇偶校验无, 停止位1),硬/软件流控制分别键入―F‖―G‖并且都选NO.在确认配置正确之后,可键入回车返回上级配置界面,并将其保存为默认配置。
实验一Ubuntu系统的安装主要内容:1.1vmware的安装1.2建立vmware虚拟机1.3使用vmware安装ubuntu1.4Linux命令练习1.1 vmware的安装本文档介绍在 Windows xp/Win7 系统上使用 VMWare 虚拟机进行开发,如果你直接使用的是 Linux 系统,请忽略此章。
本开发是在ubuntu 11.04下进行的,用户也可以在 Fedora 9下进行开发,用法与ubuntu11.04类似,网上资料比较多,在此不再赘述。
1) 安装光盘目录下的虚拟机VMware-7.1 的目录下的 VMware-7.1.exe文件如图:双击安装:初始化完成后会出现:2)点击 Next:3)选择 Typical,然后点击Next:4)点击 Next:5)点击 Continue:7) 稍等几分钟完成安装:8)为了保证能正常运行可以点击Restart Now ,然后运行 VMware,如下图所示:点击 Help 下面的“Enter License Key”:点击Enter License Key:这时打开光盘目录下的虚拟机下 VMware-7.1 注册机下的 VM7.1KeyGen.exe 如图:首先点击 Generate 然后点击 Copy 最后点击Exit,复制到上面我们打开的License Key中:点击 OK,再点击 Close 即可完成安装。
1.2 建立vmware虚拟机1)打开VMWare:用户安装镜像选择光盘目录下的ubuntu-iso下面的ubuntu-11.04-desktop-i386.iso文件。
2)填写用户信息:3)选择安装目录:4)设置虚拟硬盘大小:5)完成设置:1.3 使用vmware安装ubuntu点击Finish后系统会自动重新启动, 如果系统直接开始就进入了安装界面如图:这时点击界面左上角的红色正文形图案,然后点击power off:此时回到开始界面:双击 CD/DVD 2(IDE)将其改成 autoinst.iso,将 CD/DVD(IDE)里面的路径设置成 ubuntu ,镜像文件路径如图:如果 CD/DVD 2(IDE)的 Browse 中没有 autoinst.iso 选项,可以直接将 autoinst.iso 复制到里面去,如图:点击 OK,重新启动:如果此时还是无法进入,重新启动虚拟机请注意会出现这样一个界面:按F2进入SETUP:按键盘上的->右方向键到Boot选项:(如果鼠标无法移出请按 Ctrl+Alt 键)将 CD-ROM Drive 的启动级别高于 Hard Drive(上下键选择,增减级别),然后按 F10:选择 Yes 然后回车,此时会重新启动进入:选择中文(简体),然后选择安装 Ubuntu:勾选相关选项,然后点击前进:选择自动分区还是手动分区,这里我们选择自动分区,然后点击前进:点击现在安装格式化完成后会出现:选择地区,这里我们选择默认的就可以了,你也可以选择上海,点击前进:选择键盘两边都选USA就可以了,点击前进:设置用户信息,点击前进:开始安装:安装完成,重启,点击现在重启后:会出现一个提示,回车即可:用刚才设置的用户名登录:此时会出现这样的警告,点击关闭.进入主界面:切换用户成 root 用户:(为了避免因为权限问题产生的错误这里我们直接用root用户登陆)打开终端:此时我们可以用 root 用户登陆了:点击注销 work:、点击切换用户:点击其它:用户名:root密码为上面我们设置的:登陆成功1.4 Linux命令(1)文件和目录命令练习cd /home 进入 '/home' 目录'cd .. 返回上一级目录cd ../.. 返回上两级目录cd 进入个人的主目录cd - 返回上次所在的目录pwd 显示工作路径ls 查看目录中的文件ls –l 显示文件和目录的详细资料ls -a 显示隐藏文件mkdir dir1 创建一个叫做 'dir1' 的目录'mkdir dir1 dir2 同时创建两个目录mkdir -p /tmp/dir1/dir2 创建一个目录树rm -f file1 删除一个叫做 'file1' 的文件' rmdir dir1 删除一个叫做 'dir1' 的目录'rm -rf dir1 删除一个叫做 'dir1' 的目录并同时删除其内容rm -rf dir1 dir2 同时删除两个目录及它们的内容mv dir1 new_dir 重命名/移动一个目录cp file1 file2 复制一个文件cp dir/* . 复制一个目录下的所有文件到当前工作目录cp -a /tmp/dir1 . 复制一个目录到当前工作目录cp -a dir1 dir2 复制一个目录(2) 文件搜索find / -name file1 从 '/' 开始进入根文件系统搜索文件和目录find / -user user1 搜索属于用户 'user1' 的文件和目录whereis halt 显示一个二进制文件、源码或man的位置which halt 显示一个二进制文件或可执行文件的完整路径(3)文件权限使用 "+" 设置权限,使用 "-" 用于取消ls -lh 显示权限chmod ugo+rwx directory1 设置目录的所有人(u)、群组(g)以及其他人(o)以读(r )、写(w)和执行(x)的权限chmod go-rwx directory1 删除群组(g)与其他人(o)对目录的读写执行权限(4)压缩和解压tar -cvfz archive.tar.gz dir1 创建一个gzip格式的压缩包tar -xvfz archive.tar.gz 解压一个gzip格式的压缩包(5)练习任务①在/home下创建目录test并在其下面用gedit编辑器或VI编辑器新建文件hello.c,修改文件hello.c属性为755。
嵌入式开发环境搭建实验报告实验报告:嵌入式开发环境搭建实验目的:本实验旨在通过搭建嵌入式开发环境,使学生对嵌入式系统的开发流程和环境有更深入的了解,并能够进行简单的嵌入式开发实践。
实验材料:1. 一台支持嵌入式开发的电脑2. 开发板(如Arduino、Raspberry Pi等)3. USB数据线4. 开发软件(如Arduino IDE、Raspbian等)5. 软件安装包(如果需要单独安装)实验步骤:1. 准备开发环境软件:根据使用的开发板选择相应的开发软件,并从官方网站下载安装包。
将安装包保存到电脑上指定的路径。
2. 安装开发软件:运行安装包,按照安装向导的提示进行软件的安装。
完成安装后,打开软件,检查是否安装成功。
3. 连接开发板:使用USB数据线将开发板连接到电脑上,并确保连接良好。
4. 配置开发环境:打开开发软件,进入设置或配置界面。
根据使用的开发板,选择正确的开发板型号,并设置串行端口。
保存设置。
5. 编写并调试代码:使用开发软件创建一个新的代码文件或打开一个现有的示例代码文件。
编写嵌入式程序代码,并进行调试与测试。
根据需要,可以使用调试器、仿真器等进行代码调试。
6. 上传程序到开发板:完成代码编写和调试后,将程序通过USB数据线上传(烧录)到开发板上。
等待上传过程完成。
7. 运行程序:断开USB数据线,将开发板与目标设备(如传感器、电机等)连接。
开启目标设备的电源,观察目标设备的动作与反应。
8. 实验结果分析:根据实验结果,对比设计预期和实际观测,分析代码的执行情况,查找问题并提出解决方案。
实验总结:通过本实验,我们成功搭建了嵌入式开发环境,并进行了基本的嵌入式开发实践。
通过编写代码、调试和运行程序,我们能够控制目标设备进行特定的操作。
在实验过程中,我们对嵌入式系统的开发流程和环境有了更深入的了解,并具备了一定的嵌入式开发能力。
需要注意的是,在实际的嵌入式开发中,可能还需要考虑更多的因素,如硬件接口、通讯协议、资源管理等。
基于VirtualBox虚拟机-Ubuntu操作系统的ARM嵌入式平台搭建花费了两台的时间,终于把这个开发平台搭建完毕了。
现在做一下总结,以后当作笔记试用。
平台主要包括PC机、VirtualBox虚拟机、ARM开发板三个主要部分,其中PC机和开发板有同一个路由器接入网,是它们在同一个网段内,不但可以实现PC机、虚拟机、开发板的三方互通,而且能够边开发边访问互联网。
前提:你要知道自己开发板的IP地址。
下面根据搭建顺序进行分析。
一、PC机下安装虚拟机PC机安装虚拟机的过程很简单,我是在windows xp系统下实现的,如果你的系统是windows 7的话,该文档仅作参考。
首先下载最新版本的VirtualBox虚拟机,这款虚拟机的特点是操作界面简单方便,占用内存少,网络接入设置简单。
下载后会见到如下安装图标:现在最新版本的应该是4.2.4的,但是如果你下载的不是最新版本,可以在帮助菜单栏里面进行检查更新升级软件。
点击上面图标,会进入安装向导:welcome to the oracle vm virtualbox *.*.* setup wizard,然后点击next,选中I accept···这一项(不选中next会是灰色的),然后点击next进入下一个设置页面。
点击browse,会出来一个让你选择安装路径的对话框,根据你的情况选择好后点击ok,然后再点击next进入下一个设置页面。
该页面默认选择了在桌面创建快捷方式和快速启动栏创建图标,如果希望这样就勾选上,然后点击next就开始安装了。
安装的过程比较长,因为虚拟机会自己配置本地网络,所以请耐心等待。
安装好后,本地桌面上会出现Vbox软件的快捷方式,同时你右击网上邻居,点击属性,会发多出一个网络连接的表示,这个就是虚拟机自己设定的虚拟网卡(默认情况下Vbox的接入网络采用NAT方式,及地址转换方式,意思就是本地网卡相当于路由器,虚拟网卡通过它接入因特网)。
在最起初的时候,我刚刚接触linux上单片机的开发,最喜欢的就是eclipse + arm-plug-in + arm-none-eabi 的开发环境,因为这是在Linux上最接近于windows下keil、IAR等IDE 的开发方式,然而那是由于对eclipse亦或是makefile等编译过程中的工具的不甚了解,很多时候会遇到一些莫名的错误,也导致了那是觉得这样的环境很鬼畜,现在看来多是一些很浅显的问题,直到最近我再一次的尝试了eclipse开发环境的搭建和使用,我才很顺利的完成了程序的配置。
现在也把这个方法推荐给大家,不过在使用这个方式前,还是建议大家先把之前的文章内容看懂了,否则很多时候遇到问题都会不知道怎么解决。
安装java与CubeMX一样,eclipse也是运行在java环境下的,所以我们首先要在环境下安装Java库。
方式在上一篇中已经介绍过了,这里就不再做更多阐述了。
还有就是eclipse在显示readme时会自动的加载markdown格式的预览,需要系统安装libwebkitgtk-1.0-0才能使用。
$ sudo apt-get install libwebkitgtk-1.0-0安装eclipse在eclipse的官网上下载系统eclipse安装包。
注意一定下载CDT 版本的就是Eclipse IDE for C/C++ Developers版本,这个才是给C/C++语言开发用的版本,里面已经预装好了CDT的插件。
https:///downloads/eclipse-packages/安装时出现问题度娘回答:按照此网址提示作业:/Dylansuns/p/6974272.html/***************************************************************************** Linux安装JDK完整步骤1、检查一下系统中的jdk版本[root@localhost software]# java -version显示:java version "1.6.0_43"Java(TM) SE Runtime Environment (build 1.6.0_43-b01)Java HotSpot(TM) 64-Bit Server VM (build 20.14-b01, mixed mode)2、检测jdk安装包--->>>我电脑试了没反应?忽略[root@localhost software]# rpm -qa | grep java3、卸载openjdk[root@localhost jvm]# yum remove *openjdk*之后再次输入rpm -qa | grep java 查看卸载情况:[root@localhost software]# rpm -qa | grep javapython-javapackages-3.4.1-11.el7.noarchjavapackages-tools-3.4.1-11.el7.noarch4、安装新的jdk首先到jdk官网上下载你想要的jdk版本,下载完成之后将需要安装的jdk安装包放到Linux系统指定的文件夹下,并且命令进入该文件夹下:解压 jdk-8u131-linux-x64.tar.gz安装包[root@localhost software]# cd /home/qiuhui/applications[root@localhost software]# tar -zxvf jdk-8u161-linux-x64.tar -C /opt 5、设置环境变量[root@localhost software]# vim /etc/profile在最前面添加:export JAVA_HOME=/opt/jdk1.8.0_161export PATH=$JAVA_HOME/bin:$PATHexport CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar 6、执行profile文件[root@localhost software]# source /etc/profile这样可以使配置不用重启即可立即生效。
【前言:由于我也是第一次搭建这个环境,整个所用时间不止一周,以及以前用java觉得还要配置环境变量,好麻烦,但那不过是几分钟的事,后来手动配置php,最快半天,一般我都要用一天的时间,个人比较笨;现在配置个嵌入式qt环境的时间不止一周的时间,真的是整个人都被整疯了,而且到此刻,我还不确定我的环境是否已经配置的完全正确,以下是一些环境搭建过程中碰到的问题,稍微整理了一下,建议在配环境的时候,多看几篇比较完整的环境搭建的文章,准备好前期工作(很多与编译有关的软件包提前装好),对比着做,然后出现错误了再上百度或谷歌去找答案,不要急,慢慢来,一周时间不算很长(经常错了从头再来)】首先,去QT的官网(/downloads)下载文件:直接下载Qt SDK for Linux/X11 32-bit** (422 MB)(这样比较简便,虽然可能占的空间要大一点)2,第二步就是安装刚刚下载的二进制文件:chmod u+x qt-sdk-linux-x86-opensource-2010.05.1.bin./qt-sdk-linux-x86-opensource-2010.05.1.bin(这一步需要注意已经安装了gcc,g++,并且版本足够高,因为我一开始在red hat9的系统里装完之后,发现red hat自带的gcc版本太低,导致了很多麻烦,最终也没有解决好)3 下载coss tools包:/crosstool/crosstool-0.43.tar.gz4。
安装cross toolsmkdir ~/downloads 在用户主目录下建立一个下载文件夹,之后安装过程中下载的包都会自动放到这个文件夹下sudo apt-get install bisonsudo apt-get install flex以下4步是必须的,gcc的版本既不能太高也不能太低,只能是3.4;因为要用这个版本来编译内核。
sudo apt-get install gcc-3.4cd /usr/binsudo ln -s gcc-3.4 gccsudo rm gcc正式安装sudo mkdir /opt/crosstoolsudo chown 当前登录的用户名 /opt/crosstooltar -zxvf crosstool-0.43.tar.gzcd crosstool-0.43vi demo-arm.sh注释掉#eval `cat arm.dat gcc-4.1.0-glibc-2.3.2-tls.dat` sh all.sh --notest在其后,加上eval `cat arm.dat gcc-4.1.1-glibc-2.3.2.dat` sh all.sh --notest注意:cat arm.dat gcc-4.1.1-glibc-2.3.2.dat而不是默认的gcc-4.1.1-glibc-2.3.6-tls.dat修改linux内核版本,linux内核可以自己选择,我的linux内核是linux-2.6.24(前面下载的那个) lingd@ubuntu:~/downloads/crosstool-0.43$ vi gcc-4.1.1-glibc-2.3.2.datBINUTILS_DIR=binutils-2.16.1GCC_CORE_DIR=gcc-3.3.6GCC_DIR=gcc-4.1.1GLIBC_DIR=glibc-2.3.2LINUX_DIR=linux-2.6.28LINUX_SANITIZED_HEADER_DIR=linux-libc-headers-2.6.12.0GLIBCTHREADS_FILENAME=glibc-linuxthreads-2.3.2GDB_DIR=gdb-6.5修改交叉编译工具前缀vi arm.datKERNELCONFIG=`pwd`/arm.configTARGET=arm-linux(该名称为目标名称,我是觉得默认(arm-unknow-linux-gnu)的太长所以修改了,修改了后要注意了相关目录的权限)TARGET_CFLAGS="-O"执行下一个命令,系统将开始编译,并下载下面的包:binutils-2.16.1gcc-3.3.6gcc-4.1.1glibc-2.3.2linux-2.6.24linux-libc-headers-2.6.12.0glibc-linuxthreads-2.3.2gdb-6.5这个工程很长需要n小时的时间来可以ls一下看看里面的文件,里面有一些脚本文件,具体功能可以到/crosstool 上查看FAQ./demo-arm.sh (会执行很漫长)执行完后,最后一行提示:Done!执行完毕,修改环境变量安装完成后,默认的安装目录就是开始创建的那个/opt/crosstools/1.添加环境变量vi ~/.bashrc在最后添加如下if [ -d /opt/crosstool/gcc-4.1.1-glibc-2.3.2/arm-linux ]; thenPATH=/opt/crosstool/gcc-4.1.1-glibc-2.3.2/arm-linux/bin:$PATHfi就是把安装的工具bin目录添加到PATH变量中。
我的博客/liang890319乐于和对嵌入式和php感兴趣的你交流本节主要包括:一------minicom配置(linux下的串口)二-------nfs配置(可以读写开发板里面的文件)三------ftp配置(传递文件)四------arm-linux-gcc/gdb等配置(交叉编译工具)五----automake,automake autoconf autogen工具(帮助我们生成makefile)---------------------------------------------------------------------------------------一------minicom配置linux下的串口,可以和开发板通过串口通信显示安装:sudo apt-get install minicom配置:1 . 在终端中输入minicom以启动minicom;2. 先按下Ctrl + a, 放开, 再按o, 出现配置菜单.3. 选择Serial port setup, 此时所示图标在―Change which setting‖中,键入―A‖,此时光标移到第A项对应处:串口COM1对应ttyS0, COM2对应ttyS1. (注意选择)具体的配置信息如下所示:Serial port setup [Enter]+-------------------------------------------------------------+| A - Serial Device : /dev/ttyUSB0 || B - Lockfile Location : /var/lock || C - Callin Program : || D - Callout Program -: || E - Bps/Par/Bits : 115200 8N1 || F - Hardware Flow Control : No || G - Software Flow Control : No || || Change which setting? |+-------------------------------------------------------------+注意:如果没有使用USB转串口,而是直接使用串口,那么Serial Device要配置为/dev/ttyS0(如果使用USB转串口,则需要查看dev下是否存在ttyUSB0,若没有,则创建一个:mknod /dev/ttyUSB0 c 188 0)对波特率,数据位和停止位进行配置,键入―E‖,波特率选为115200 8N1 (奇偶校验无, 停止位1),硬/软件流控制分别键入―F‖―G‖并且都选NO.在确认配置正确之后,可键入回车返回上级配置界面,并将其保存为默认配置。
(即save setup as dfl),之后重启minicom是刚才配置生效,在连上开发板的串口线后,就可在minicom中打印正确的串口信息了。
这时候可以打印串口的信息了,但是在通过串口用xmodem协议烧写内核时会提示没有xmodem协议。
所以还必须安装软件包:lrzszsudo apt-get install lrzsz这时候就可以正常地用minicom通过串口烧写内核了。
下次在输入minicon 即可直接进入。
命令minicom是进入串口超级终端画面,而minicom -s为配置minicom。
说明/dev/ttyS0 对应为串口0 为你连接开发板的端口。
注意:非正常关闭minicom,会在/var/lock下创建几个文件LCK*,这几个文件阻止了minicom 的运行,将它们删除后即可恢复组合键的用法是:先按Ctrl+A组合键,然后松开这两个键,再按Z键。
另外还有一些常用的组合键。
(1)S键:发送文件到目标系统中;(2)W键:自动卷屏。
当显示的内容超过一行之后,自动将后面的内容换行。
这个功能在查看内核的启动信息时很有用。
(3)C键:清除屏幕的显示内容;(4)B键:浏览minicom的历史显示;(5)X键:退出mInicom,会提示确认退出。
3、配置文件所在目录Ctrl + A --> O+-----[configuration]------+| Filenames and paths || File transfer protocols -|| Serial port setup || Modem and dialing || Screen and keyboard || Save setup as dfl || Save setup as.. || Exit |+--------------------------+选择"Filenames and paths"+-----------------------------------------------------------------------+| A - Download directory : /home/crliu || B - Upload directory : /tmp || C - Script directory : || D - Script program : runscript || E - Kermit program : || F - Logging options || || Change which setting? |+-----------------------------------------------------------------------+(1)A - download 下载文件的存放位置(开发板---> PC)开发板上的文件将被传输到PC机上的/home/crliu目录下。
(2)B - upload 从此处读取上传的文件(PC ---> 开发板)PC机向开发板发送文件,需要发送的文件在/tmp目录下(PC机上的目录)。
做了此项配置后,每次向开发板发送文件时,只需输入文件名即可,无需输入文件所在目录的绝对路径。
二-------nfs配置按这个主要是为了linux之间的文件共享,我们可以在电脑上的linux直接看读写嵌入式开发板里面linux 的文件1 安装NFSDebian/Ubuntu上默认是没有安装NFS服务器的,首先要安装NFS服务程序:$ sudo apt-get install nfs-kernel-server(安装nfs-kernel-server时,apt会自动安装nfs-common和portmap)2 配置/etc/exportsNFS挂载目录及权限由/etc/exports文件定义将我的home目录中的/home/zp/share目录让192.168.2.*的IP共享, 则在该文件末尾添加下列语句:/home/zp/share 192.168.2.*(rw,sync,no_root_squash)或者:/home/zp/share 192.168.2.0/24(rw,sync,no_root_squash)运行$ sudo exportfs -r 更新3 运行$ sudo /etc/init.d/nfs-kernel-server restart($ sudo nfs-kernel-server restart)重启nfs服务4 测试NFS可以尝试一下挂载本地磁盘(假设本地主机IP地址为:192.128.2.1,将/home/zp/share挂载到/mnt)$ sudo mount -t nfs 192.168.2.1:/home/zp/share /mnt运行$ df 看看结果$ sudo umount /mnt可以使用一定的参数:mount -o nolock,rsize=1024,wsize=1024,timeo=15 192.168.2.130:/tmp/ /tmp/5 客户端挂载远程共享mount -t nfs 192.168.0.***:/home/***/share /mnt/share三------ftp配置ftp的软件有好多种:google一下:各种的一些大致特点:wu-ftp:比较老牌,但针对它的攻击比较多,设置比较麻烦,但功能比较强大。
proftpd:能实现wu-ftp以及server-U的所有功能。
安全性也较高,但比起vcftpd配置稍显复杂。
vsftpd:功能强大,配置也比较简单ftp也可以选vsftod是因为它安全、速度快选proftpd偶尔看到webmin支持他,所以就用了,因为方便。
选Serv-U理由windows普遍,Serv-U方便,但最大问题是盗版,所以现在不大用了vsftpd是大多是linux系统下自带的ftp软件,而且像FREEBSD等网站都是采用,而且配置起来简单很多,所以我们也采用了vsftpd安装:sudo apt-get install vsftpd配置:备份一下源文件:sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.backup然后修改sudo vi /etc/vsftpd.confanonymous_enable=yes (允许匿名登陆)dirmessage_enable=yes (切换目录时,显示目录下.message的内容)local_umask=022 (FTP上本地的文件权限,默认是077)connect_form_port_20=yes (启用FTP数据端口的数据连接)*xferlog_enable=yes (激活上传和下传的日志)xferlog_std_format=yes (使用标准的日志格式)ftpd_banner=XXXXX (欢迎信息)pam_service_name=vsftpd (验证方式)*listen=yes (独立的VSFTPD服务器)*功能:只能连接FTP服务器,不能上传和下传注:其中所有和日志欢迎信息相关连的都是可选项,打了星号的无论什么帐户都要添加,是属于FTP的基本选项开启匿名FTP服务器上传权限在配置文件中添加以下的信息即可:Anon_upload_enable=yes (开放上传权限)Anon_mkdir_write_enable=yes (可创建目录的同时可以在此目录中上传文件)Write_enable=yes (开放本地用户写的权限)Anon_other_write_enable=yes (匿名帐号可以有删除的权限)开启匿名服务器下传的权限Anon_world_readable_only=no注:要注意文件夹的属性,匿名帐户是其它(other)用户要开启它的读写执行的权限(R)读-----下传(W)写----上传(X)执行----如果不开FTP的目录都进不去Local_enble=yes (本地帐户能够登陆)Write_enable=no (本地帐户登陆后无权删除和修改文件)功能:可以用本地帐户登陆vsftpd服务器,有下载上传的权限注:在禁止匿名登陆的信息后匿名服务器照样可以登陆但不可以上传下传用户登陆限制进其它的目录,只能进它的主目录设置所有的本地用户都执行chrootChroot_local_user=yes (本地所有帐户都只能在自家目录)设置指定用户执行chrootChroot_list_enable=yes (文件中的名单可以调用)Chroot_list_file=/任意指定的路径/vsftpd.chroot_list注意:vsftpd.chroot_list 是没有创建的需要自己添加,要想控制帐号就直接在文件中加帐号即可限制本地用户访问FTPUserlist_enable=yes (用userlistlai 来限制用户访问)Userlist_deny=no (名单中的人不允许访问)Userlist_file=/指定文件存放的路径/ (文件放置的路径)注:开启userlist_enable=yes匿名帐号不能登陆安全选项Idle_session_timeout=600(秒) (用户会话空闲后10分钟)Data_connection_timeout=120(秒)(将数据连接空闲2分钟断)Accept_timeout=60(秒)(将客户端空闲1分钟后断)Connect_timeout=60(秒)(中断1分钟后又重新连接)Local_max_rate=50000(bite)(本地用户传输率50K)Anon_max_rate=30000(bite)(匿名用户传输率30K)Pasv_min_port=50000 (将客户端的数据连接端口改在Pasv_max_port=60000 50000—60000之间)Max_clients=200 (FTP的最大连接数)Max_per_ip=4 (每IP的最大连接数)Listen_port=5555 (从5555端口进行数据连接)查看谁登陆了FTP,并杀死它的进程ps –xf |grep ftpkill 进程号配置的时候注意文件权限的问题,开启匿名和本地后,关键是文件权限的设置,为了给不同的用户分配不同的权限,可以生成一个组,例如ftpuser,然后赋予它何时的权限例如755,chroot()设置可以使得本地用户限制在登录时的目录,这对于安全很重要,可以这是local_root指定本地用户登录时的目录,负责为/home下相应目录。