ubuntu+mini2440平台搭建

在前面的基础上,我们打造了一个优雅的ubuntu环境.为了让它真正的为我们程序员服务,实现嵌入式和桌面应用程序的开发,不得不花了大量的功夫搜集整理资源,所幸苍天不负有心之人,一番艰苦卓绝后终于成功打造这一套嵌入式开发平台.也许当我们能够彻底摆脱windows的那天,我们会成为真正的程序员(嘿嘿,小做下百日梦^_^).

一、安装ubuntu
1.Request CDs 官网索取光盘 https://shipit.ubuntu.com,寄过来时间较长,建议用iso镜像刻录光盘。
2.下载iso镜像 http://www.ubuntu.com/getubuntu/download
3.本人使用ubuntu最新版本ubuntu10.04,软件方式安装。保留windows文件。
4.安装中文语言包和中文输入法(推荐fcitx),具体过程见日志"ubuntu之系统初建"。

二、安装交叉编译环境
  为了简单起见,直接使用网上制作好的工具链。下面给出安装步骤:
1.arm-linux-gcc(使用linux系统)
  终端下输入命令:
  $ wget http://arm9download.cncncn.com/linux/arm-linux-gcc-4.3.2.tgz
  $ tar zxvf arm-linux-gcc-4.3.2.tgz -C /
  $ sudo apt-get install vim
  $ vim ~/.profile
    末行添加 export PATH=$PATH:/usr/local/arm/4.3.2/bin
  $ source ~/.profile                
  $ arm-linux-gcc -v

2.arm-elf-gcc(使用uClinux系统)
  链接:悲剧,没有找到可用的,谁用src包通知下我,我更新下。
  安装步骤同上。
 
3.ncurses库(ubuntu默认是未安装的)
  编译内核时make menuconfig动态配置内核时需要curses库。
  终端下输入命令:
  $ sudo apt-get install build-essential
  $ wget http://ftp.gnu.org/pub/gnu/ncurses/ncurses-5.6.tar.gz
  $ tar zxvf ncurses-5.6.tar.gz  
  $ cd ncurses-5.6
  $ ./configure --prefix=/usr/local       
  $ make
  $ sudo make install       
  进入内核代码根目录下make menuconfig,正常出现菜单则ok
   
三、安装烧写工具,文件传输工具
   1.串口工具(推荐C-kermit)
   安装C-kermit
   $ sudo apt-get install ckermit
   $ gedit ~/.kermrc
   将下面配置信息复制到.kermrc
    set line /dev/ttyS0           //如果为USB转串口,为/dev/ttyUSB0,linux内核本身提供了usb转串口的支持
    set speed 115200                //设置波特率
    set carrier-watch off
    set handshake none
    set flow-control none
    robust
    set file type bin
    set file name lit
    set rec pack 1000
    set send pack 1000
    set window 5
   $ sudo kermit -c 
    从norfalsh启动mini2440就可以看到supervivi的启动画面
    退出串口,先同时按下”Ctrl”和”/”,再按c键,然后输入exit
    
  2.编译安装linux下的烧写工具dnw
    (1)安装libusb-dev
       $ sudo apt-get install libusb-dev
    (2)安装dnw
       $ wget http://c8051f320dev.googlecode.com/files/dnw2_linux_latest.tgz
       $ tar zxvf dnw2_linux_latest.tgz
       $ cd dnw2
       $ gedit dnw2.c
       $ gcc dnw2.c -o dnw -lusb
       $ sudo cp dnw /usr/sbin
          $ sudo  dnw $你的文件
       即可完成烧写

四、源码查看工具(推荐kscope)
将以下内容复制到文件中保存为脚本并执行就可以成功下载kscope.
#!/bin/bash
# This script helps you install Kscope on Ubuntu10.04.
# You can also use it to fix "Kscope doesn't run in KDE4" bug.

echo "Determining machine hardware name... "
MACHINE=`uname -m`
case "$MACHINE" in
  i386 | i586 | i686)
    ARCH="i386"
    ;;
  x86_64)
    ARCH="amd64"
    ;;
  *)
    ARCH="i386"
    ;;
esac

# If Kscope is not installed, install it.
which kscope &> /dev/null
if [ $? -ne 0 ]; then
  echo "Installing kscope..."
  sudo apt-get install kscope || /
  wget http://archive.ubuntu.com/ubuntu/pool/universe/k/kscope/kscope_1.6.0-1_${ARCH}.deb && /
  sudo dpkg -i kscope_*.deb || /
  sudo apt-get -fy install || /
  echo "Oops, some error happens..."
fi

kscope -v &> /dev/null
if [ $? -eq 0 ]; then
  echo "Kscope works fine."
  exit
fi

echo "Downloading KDE3 libraries needed by kscope..."
wget http://ftp.debian.org/debian/pool/main/k/kdebase/kate_3.5.9.dfsg.1-6+lenny1_${ARCH}.deb
dpkg -x kate_3*.deb kate

echo "Installing KDE3 libraries..."
sudo cp kate/usr/lib/libkateinterfaces.so.0.0.0 /usr/local/lib/
sudo cp kate/usr/lib/libkateutils.so.0.0.0 /usr/local/lib
sudo ln -s /usr/local/lib/libkateinterfaces.so.0.0.0 /usr/local/lib/libkateinterfaces.so.0
sudo ln -s /usr/local/lib/libkateutils.so.0.0.0 /usr/local/lib/libkateutils.so.0
sudo ldconfig

echo "Finished."


五、DIY,打造自己的应用程序
  安装GTK/GNOME开发环境
  安装GTK环境只要安装一个libgtk2.0-dev就可以了,而安装gnome开发环境的话,需要装gnome-core-devel,它包含GTK开发包。
  但在一般情况下,我们需要有一个ide开发环境,需要帮助文件,于是我们安装:
  sudo apt-get install gnome-devel gnome-dev-doc
  安装完,写个程序gtkhello.c测试一下:

    #include<gtk/gtk.h>
    void hello(GtkWidget *widget,gpointer data)
    {
        g_print("Hello Ubuntu!/n");
    }
    gint delete_event(GtkWidget *widget,GdkEvent *event,gpointer data)
    {
        g_print ("delete event occurred/n");
        return(TRUE);
    }
    void destroy(GtkWidget *widget,gpointer data)
    {
        gtk_main_quit();
    }
    int main( int argc, char *argv[] )
    {
        GtkWidget *window;
        GtkWidget *button;
        gtk_init (&argc, &argv);
        window=gtk_window_new (GTK_WINDOW_TOPLEVEL);
        gtk_signal_connect (GTK_OBJECT(window),"delete_event",
            GTK_SIGNAL_FUNC(delete_event),NULL);
        gtk_signal_connect (GTK_OBJECT (window), "destroy",
            GTK_SIGNAL_FUNC (destroy), NULL);
        gtk_container_set_border_width (GTK_CONTAINER (window), 10);
        button = gtk_button_new_with_label ("Hello Ubuntu!");
        gtk_signal_connect (GTK_OBJECT (button), "clicked",
            GTK_SIGNAL_FUNC (hello), NULL);
        gtk_signal_connect_object (GTK_OBJECT (button), "clicked",
            GTK_SIGNAL_FUNC (gtk_widget_destroy),GTK_OBJECT (window));
        gtk_container_add (GTK_CONTAINER (window), button);
        gtk_widget_show (button);
        gtk_widget_show (window);   /*显示一个窗口*/
        gtk_main();   /*进入主循环*/
        return(0);
    }
编译
    $ gcc gtkhello.c -o gtktest `pkg-config --cflags --libs gtk+-2.0`
    $ ./gtktest

 注:以上是`(和~一个键位)而不是单引号,否则编译出错。


你可能感兴趣的:(ubuntu+mini2440平台搭建)