一、安装ubuntu
1.Request CDs 官网索取光盘https://shipit.ubuntu.com,寄过来时间较长,建议用iso镜像刻录光盘。
2.下载iso镜像 http://www.ubuntu.com/getubuntu/download
3.本人使用ubuntu最新版本ubuntu10.04,软件方式安装。
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.ncurses库(ubuntu默认是未安装的)
编译内核时makemenuconfig动态配置内核时需要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
进入内核代码根目录下makemenuconfig,正常出现菜单则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
$ wgethttp://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 $你的文件
即可完成烧写
四、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,gpointerdata)
{
g_print ("delete eventoccurred/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 --libsgtk+-2.0`
$ ./gtktest
注:以上是`(和~一个键位)而不是单引号,否则编译出错。
窗体顶端