Chinaunix首页 | 论坛 | 博客
  • 博客访问: 120851
  • 博文数量: 19
  • 博客积分: 50
  • 博客等级: 民兵
  • 技术积分: 140
  • 用 户 组: 普通用户
  • 注册时间: 2012-03-08 23:04
文章分类

全部博文(19)

文章存档

2016年(1)

2015年(1)

2014年(4)

2013年(10)

2012年(3)

我的朋友

分类: 嵌入式

2013-12-17 21:16:34

嵌入式开发的ubuntu配置  
一、Ubuntu基本配置 
 (参看:)  
 1.添加桌面图标 
执行gconf-editor,选择/apps/nautilus/desktop  
 2、安装中文语言支持和配置输入法:去掉繁体等不用的输入法,否则切换太麻烦; 
    3、将应用程序-附件-终端拖放一个副本到桌面,方便使用; 
    4、设置软件源: 
        不 同情况连接以下源的速度不同。建议在添加前手动验证以下源的连接速度(ping下就行)。比如说北京网通用户连接cn99就非常慢,而 ftp.sjtu.edu.cn是相对较快的源。选择最快的源可大大节省下载时间,请根据自己网络环境设置更新服务器,以达到最快的速度。 
        注 意,你可以同时加入几个源。尽量选择一组官方的源(也就是下面的Archive.ubuntu.com的条目)直接加在文件的最后,以避免非官方源软件包 不全时出现 404 Not Found 文件未发现的错误。建议电信用户使用cn99和台湾大学的源,网通用户使用欧洲官方源或台湾大学的源,教育网用 户使用教育网的源。   
然后更新一下数据库 
  sudo apt-get update
随便升一下级 
  sudo apt-get upgrade
 5、一些别名设置,在你的用户目录中找到.bashrc文件,在最后加入下面一行: 
  alias ll='ls -l'
  alias rm='rm -i'
  alias cp='cp -i'
  alias mv='mv -i'
 6、安装一些开发相关的软件:  
装基本开发环境 
  sudo apt-get install build-essential gcc make
装编辑器 
  sudo apt-get install vim-full emacs
装基本开发库 
  sudo apt-get install libc6 libc6-dev
装manpage, 装了之后可以直接用 man printf 查阅printf的详细用法 
  sudo apt-get install manpages-dev
安装minicom串口工具 
  sudo atp-get install minicom
然后配置: 
  sudo minicom -s
安装ncurse 
编译kernel 或vivi的时候,运行make menuconfig会提示ncurses找不到,这是因为menuconfig 用到了ncurses库。解决办法如下: 
  sudo apt-get install ncurses-dev
添加tree命令 
  apt-get install tree
安装samba 
  apt-get install samba system-config-samba
安装telnet服务器 
  apt-get install telnetd
安装安装图形界面ddd 调试器 
  apt-get install ddd ddd-doc
安装系统缺少的开发包 
  apt-get install libncurses5-dev libreadline5-dev  libglib2.0-dev libdbus-glib-1-dev libqt4-dev libqt3-mt-dev
 7、增强vi功能 
  apt-get install vim-full
  vi ~/.vimrc
加入如下内容: 
 "在行前显示行号.关闭显示请用"set nonu" 
  set nu
 "启用语法高亮 
  syntax on
 " 根据文件类型启用缩进 
  filetype indent on
  set autoindent
  set cindent
 " 查找时忽略大小些 
  set ic
 " 查找文本高亮 
  set hls
  " Wrap text instead of being on one line
  set lbr
 " 更改缺省配色方案为delek 
  colorscheme delek
 " 设置跳格距离 
  set tabstop=4
  set softtabstop=4
 " 设置自动缩进格数 
  set shiftwidth=4
二、安装交叉编译环境  
 1、准备文件 
  cross-2.95.3.tar.bz2
  arm-linux-gcc-3.3.2.tar.bz2
  arm-linux-gcc-3.4.1.tar.bz2
 2、安装 
将压缩包解压到/usr/local/arm下: 
  tar jxvf cross-2.95.3.tar.bz2 -C /usr/local/arm/
 3、设置环境变量: 
把交叉编译器的路径加入到PATH,以方便使用: 
  sudo vi ~/.bashrc
在后面加入如下代码: 
  if [ -d /usr/local/arm ] ; then
  PATH=/usr/local/arm/2.95.3/bin:"${PATH}"
 fi  然后重新打开一个终端或者用source命令: 
  source ~/.bashrc
三、配置nfs  
首先确认已经在Linux操作系统上安装好了nfs软件,并确保NFS服务正常启动运行。  
 1、备份nfs配置文件: 
     cd /etc/
  sudo mv exports exports.bak
    2、修改配置文件  
     sudo vi /etc/exports
   加入如下内容:  
  /armnfs/root *(rw,sync,no_root_squash)
  /armnfs/nfs *(rw,sync,no_root_squash)
  /armnfs/nfs和/armnfs/root是代表要作为ARM2410的根文件系统的共享目录;                 
     *  代表所有的客户机都可以挂接此文件系统;     
     rw 代表客户机以读写许可来挂接它们的根文件系统;                     
  no_root_squash 选项允许客户机以主机上的root身份挂接根文件系统。请阅读exports的手册获取更详细的信息。  
    3、启动nfs 
        切换到超级用户下,启动nfs 
  service nfs start
 4、设置自动启动  
     在系统-管理-服务器设置-service中选择nfs后台服务; 
     或者用下面的命令: 
  chkconfig --level 5 nfs on
四、TFTP安装配置 
 1. 确保系统中已经安装了 tftp server 应用包,例如执行下面命令: 
  rpm -qa | grep tftp-server
  tftp-server-0.32-4    <=== 表示已安装 tftp-server 应用  
     否则用以下命令进行安装: 
  apt-get install tftp-server
       2. 编辑 /etc/xinetd.d/tftp 文件,确保其 disable 选项设为 no,如下为示例配置: 
  service tftp
 {          socket_type            = dgram 
  protocol               = udp
  wait                   = yes
  user                   = root
  server                 = /usr/sbin/in.tftpd
  server_args            = -s /tftpboot
  disable                = no
  per_source             = 11
  cps                    = 100 2
  flags                  = IPv4
 } 此外,确保/tftpboot目录存在,而且有访问权限(至少应该"dr-xr-xr-x")。  
 3.将需要下载的文件拷贝到/tftpboot下:  
 4. 重新启动 xinetd 服务: 
  /etc/init.d/xinetd restart
五、配置minicom或超级终端  
为了在主机上“控制”开发板,最常用的就是串口通讯工具,windows下是超级终端,linux下是minicom。 
超级终端的原理并不复杂,它是将用户输入随时发向串口(采用TCP协议时是发往网口,这里只说串口的情况),但并不显示输入。它显示的是从串口接收到的字符。所以,嵌入式系统的相应程序应该完成的任务便是: 
 “将 自己的启动信息、过程信息主动发到运行有超级终端的主机”和“将接收到的字符返回到主机,同时发送需要显示的字符(如命令的响应等)到主机”。这样在主机 端看来,就是有输入命令,又有命令运行状态信息。超级终端成了嵌入式系统的显示器。 如果要在超级终端显示汉字,嵌入式系统只需将汉字编码(每个汉字2个 字节)发到主机,主机便会直接显示汉字。  
 1、配置windows超级终端 
超级终端是一个通用的串行交互软件,很多嵌入式应用的系统有与之交换的相应程序,通过这些程序,可以通过超级终端与嵌入式系统交互,使超级终端成为嵌入式系统的“显示器”。 
我们可以用以下步骤配置和启动windows: 
(1)在开始——程序——附件——通讯中找到并打开超级终端; 
(2)设置超级终端:此处可以设置为:115200 8N1 
(3)发送文件时,可以选择菜单中的发送,xmodem,然后选择相应的目录找到映像文件。然后可以看到发送进度。  
 2、配置minicom 
  minicom是一个串口通信工具,就像Windows下的超级终端。可用来与串口设备通信,如调试交换机和Modem等。 
可以按照以下步骤配置minicom: 
(1)以root身份运行 minicom. sudo minicom -s 
(2)然后 Ctrl + A 后 o (先按Ctrl +A 再按 O)来配置 minicom. 
(3)从菜单中选择 Serial port setup, 按回车. 以配置为 115200 8N1为例。 
(4)按 E 键, 然后按I和Q键, 确认 current显示为115200 8Nl, 按回车.再按 A键, 在Serial Device 下输入名(如果选择串口1,输入/dev/ttyS0. 如果选择串口2,输入/dev/ttyS1),然后回车. 
(5)按下F键,修改Hardware Flow Control 为 No. 
(6)从菜单中选择Modem and Dialing,键入 A, 删除Init Sring中的内容,按回车. 
(7)键入B,删除Reset String中的内容,按回车. 然后按回车键返回上级菜单. 
(8)从菜单中选择Save setup as dfl回车.然后选择Exit退出配置菜单. 
(9)Ctrl + A 然后按 Q退出minicom.  
六、配置vsftp 
 1、安装 
  $ sudo apt-get install vsftpd
 2、设置 vsftpd.conf文件(查找对应项,去掉注释#,或更改成自定义值)  
备份vsftpd.conf文件 
  $ sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.old
编辑vsftpd.conf文件 
  $ sudo vim /etc/vsftpd.conf
 #匿名用户设置 
 #匿名用户访问权限,YES 允许访问,NO  拒绝访问 
  anonymous_enable=NO
 {//以下只针对anonymous_enable=YES生效,建议关闭匿名访问 
 #匿名用户上传权限,YES允许,NO拒绝。FTP匿名用户对某个目录有写权限。 
  anon_upload_enable=NO
 #匿名用户创建新目录权限,YES允许,NO拒绝。FTP匿名用户必需对新目录的上层目录拥有写权限。 
  anon_mkdir_write_enable=NO
 #匿名用户下载权限,YES允许浏览及下载,NO 只允许浏览 
  anon_world_readable_only=NO
 }   #本地用户设置 
 #控制vsftpd所在的系统的用户是否可以登录vsftpd 
  local_enable=YES
 # 将 本地用户锁定在自家目录中。YES 锁定,NO 不锁定。chroot_list_file所指定文件中的用户将不被锁定在自家目录。本参数被激活后,可 能带来安全上的冲突,特别是当用户拥有上传、 shell访问等权限时。因此,只有在确实了解的情况下,才可以打开此参数。默认值为NO。 
  chroot_local_user=NO
 #锁定某些用户在自家目录中。即当这些用户登录后,不可以转到系统的其他目录,只能在自家目录(及其子目录)下。具体的用户在chroot_list_file参数所指定的文件中列出。默认值为NO。 
  chroot_list_enable=YES
 #指出被锁定在自家目录中的用户的列表文件。文件格式为一行一用户。 
  chroot_list_file=/etc/vsftpd.chroot_list
注意: 当chroot_local_user=NO、chroot_list_enable=YES时,vsftpd.chroot_list中用户为锁定用户,即他们除了自己的目录,不可以访问其他目录。 
当chroot_local_user=YES、chroot_list_enable=YES时,vsftpd.chroot_list中用户为非锁定用户,他们可以访问任何其他目录。 
 #定义所有本地用户的根目录。当本地用户登入时,将被更换到此目录下。(注释则访问该用户自己目录) 
  local_root=/var/www/web (路径自定义) 
 #控制是否允许使用任何可以修改文件系统的FTP 的指令,比如STOR、DELE、RNFR、RNTO、MKD、RMD、APPE 以及SITE。 
  write_enable=YES
 #FTP服务器最大承载用户 
  max_clients=100
 #限制每个IP的进程 
  max_per_ip=5
 #最大传输速率(b/s) 
  local_max_rate=256000
 #是否隐藏文件的所有者和组信息。YES,当用户使用"ls -al"之类的指令时,在目录列表中所有文件的拥有者和组信息都显示为ftp。 
  hide_ids=YES
 #空闲(发呆)用户会话的超时时间,若是超出这时间没有数据的传送或是指令的输入,则会强迫断线。单位为秒,默认值为300。 
  idle_session_timeout= 3000
 3、配置vsftpd.chroot_list 
  $ sodu vim /etc/vsftpd.chroot_list
 #增加需要锁定/非锁定目录的用户(根据自己情况添加) 
 user1 
 user2  
 4、删除vsftp默认访问路径 
  $ sudo rmdir /home/ftp
 5、重启vsftp服务 
  $ /etc/init.d/vsftpd restart
阅读(3025) | 评论(0) | 转发(0) |
0

上一篇:device_create 函数详细分析

下一篇:cgic移植

给主人留下些什么吧!~~