Chinaunix首页 | 论坛 | 博客
  • 博客访问: 313291
  • 博文数量: 169
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 12
  • 用 户 组: 普通用户
  • 注册时间: 2013-07-10 12:00
文章分类

全部博文(169)

文章存档

2014年(38)

2013年(131)

我的朋友

分类: LINUX

2014-02-24 22:06:57

ubuntu下开发环境的搭建

  交叉编译器的安装


1:下载arm-linux-gcc-3.4.1.tar.bz2 到任意的目录下
我把它下载到了我的工具文件夹里 /home/zt/tools


2:解压

进入工具目录(视具体情况而定)/home/domyself/tools

# cd /home/domyself/tools

解压
# tar xvf arm-linux-gcc-3.4.1.tar.bz2
解压过程需要一段时间,解压后的文件形成了 usr/local/ 文件夹
进入该文件夹/home/domyself/tools
# cd usr/local/
将arm文件夹考到/usr/local/下

cd /home/domyself/tools/usr/local
# cp -rv arm /usr/local/
现在交叉编译程序集都位于/usr/local/arm/3.4.1/bin下面了



3:修改环境变量

export PATH=/usr/local/arm/3.3.2/bin:$PATH
用此方法添加的环境变量会在掉电后丢失,因此,可以在启动脚本里做手脚,方法如下:

# vim /etc/bash.bashrc
在文件的最后一行添加以下命令
/home/domyself/tools/usr/local


export PATH=/usr/local/arm/3.4.1/bin:$PATH
文件修改后,要使更改环境变量生效一般的做法是重新登录,
运行# source /etc/profile 可以使导出的环境变量马上生效,避免重启


Minicom 的使用


1. 启动 Minicom
    输入minicom启动,或输入minicom –s直接进入设置模式。
2. 设置
    1> 选择串口:在选择菜单中的“Serial port setup”,按回车,再按“A”以设置“Serial Device”
(如果使用串口1,则输入/dev/ttyS0,如果您使用串口2,则输入/dev/ttyS1,注意其中的S是大写),按
回车返回。
    2> 设置波特率:按“E”键进入设置“bps/par/Bits”(波特率)界面,如果按“I”以设置波特率为
115200,按回车返回。
    3> 数据流控制:按“F”键设置“Hardware Flow Control”为“NO”。
    其它为缺省设置 ,然后按回车到串口设置主菜单,,选择“Save setup as dfl”,按回车键保存刚
才的设置(保存到“/etc/minirc.dfl),再选择“Exit”退出设置模式,回到minicom操作模式。
    此时可像Windows下的超级终端一样使用了。
3. 退出 minicom
     按下“Ctrl+A”键,松开后紧接着再按下“Q”键,在跳出的窗口中,选择“Yes”。
4. 其它有用的功能
命令帮助 -- “Ctrl+A”后按 “ Z ”
清屏      -- “Ctrl+A”后按 “ C ”
设置      -- “Ctrl+A”后按 “ O ”
发送文件 -- “Ctrl+A”后按 “ S ”
退出      -- “Ctrl+A”后按 “ Q ”


minicom + nfs实现PC机与arm板共享


注意:minicom只有在pc机与开发板连接好才会正常。(这就是之前一直不能正确显示的原因)

1.首先在PC机上安装minicom.

sudo apt-get install minicom

关于minicom的一些设置:ctrl+A,然后松开,紧接着按Z,开始设置。退出,ctrl+A,然后松开,紧接着按Q。

2.在PC机上安装nfs.

sudo apt-get install nfs-kernel-server nfs-common

3.修改配置文件:

 vi /etc/exports

在里面加入

/home/nfs *(rw,sync,no_root_squash)

/home/nfs 是要共享的目录
4.重启nfs服务

sudo /etc/init.d/portmap restart
sudo /etc/init.d/nfs-kernel-server restart



5.OK!基本设置已经搞定.
现在将板子与pc机的串口线连好,进入minicom.那么现在的这个minicom就相当于arm的终端了,只不过让他显示在我们的PC机上而已.在minicom下挂载PC机的nfs共享目录.在minicom登录了arm开发板后,在minicom的终端输入命令:

mount -t nfs -o nolock 192.168.1.88:/home/nfs   /mnt

或者:
mount -t nfs 192.168.1.88:/home/nfs /mnt -o nolock
即我们将PC机做成nfs服务器,arm开发板作为客户机来访问它.
192.168.1.88是这台PC机的IP地址,/mnt/nfs是这快arm开发板可以共享到的PC机的目录。将192.168.1.88:/home/nfs 下的文件挂载到arm开发板的/mnt目录下.
6.然后我们在我们的PC机上开发,完了之后直接将生成的内容cp到pc机的/home/nfs目录下(或则我们直接在此目录下编译也可以),arm板通过minicom就可以共享了.



ubuntu中安装tftp服务



1、安装相关软件包

apt-get install tftpd (服务端)
apt-get install tftp (客户端)
apt-get install xinetd

2、建立配置文件
cd /etc/xinetd.d/
vi tftp
输入
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
}

存盘退出

3、建立tftp服务文件目录
mkdir /tftpboot

4、从新启动服务
/etc/init.d/xinetd restart

安装完成!测试方法:

切换到/tftpboot目录下,
在/tftpboot (注意这里必须是这个目录,与前面的红色设置相对应)目录下随便放个文件abc
然后在pc机上面运行tftp 192.168.1.230(目标板IP)进入tftp命令行

(如果不正常可以试着把网线插好,或者重启一下开发板)
输入get abc 看看是不是能把文件下下来,如果可以就可以了,也可以put 文件上去。


用ftp上传文件并执行之(测试成功)


 

在经历了几万年的努力之后,我终于把交叉编译之后的二进制文件上传到arm板上面,并运行成功!

其过程如下:

1.pc机上面切换到要上传的目录下,我的是/ftpboot这个目录,hello程序就在这个目录里面

输入:

#ftp 192.168.1.230.

(上面的IP是目标板IPpcip192.168.1.88,二者必须在同一个网段)

 

 

 

2.如果pc机和目标板的连接良好,就会出现Connected to 192.168.1.230的字样。(不会停留很长时间,如果等了半天没反应,就说明没连上,有可能ip不在同一网段,不过有时重启一下目标板就会解决或则个问题)。根据提示依次输入用户名plg,和密码plg。如下:

 

 

 

3.ftp>后面输入bin将改变传输模式为binary。如下:

 

 

 

 

 

4.现在可以用put hello命令将hello文件上传至开发板上面了。上传完后,如下:

 

 

 

 5.输入by退出ftp

6.minicom登陆开发板,切换到/home/plg目录下

7.输入./hello 即可运行之,运行结果如下。

 

8.在等待了几千年之后,我们盼望的画面终于出现了!!!!!

激动不已!

 

9.在编译hello.c源文件的时候,应注意一下问题:

己编写的程序在文件系统上运行必须采用静态编

 

译,否则会报诸如:bin/sh: hello :not found的错误

 

静态编译如:

arm-linux-gcc –static hello.c –o hello

在开发板上直接./hello,便会有你要的惊喜~~~



kermit的安装与使用


1、先到来下载C-Kermit。如果你下载的是cku211.tar.gz的话,执行:

gunzip cku211.tar.gz

tar xvf cku211.tar

rm -rf cku211.tar

make linux

mv wermit /usr/local/bin/kermit

执行以上命令,就可以在终端上输入kermit就可运行了。

2. kermit脚本设置:

# vi ~/.kermrc

set line /dev/ttyS0
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
c

保存后退出即可。然后启动kermit,你会看到:

# kermit
Connecting to /dev/ttyS0, speed 115200
Escape character: Ctrl-\ (ASCII 28, FS): enabled
Type the escape character followed by C to get back,
or followed by ? to see other options.

出现以上提示,则说明串口已经打开。

切换:按下Ctrl + \ ,再按c 就跳回kermit。跳回串口控制,可以输入c,即connect命令

发送文件:

kermit中输入connect后,跳到u-boot串口界面。

输入loadb 0x0c008000 回车

按下 ctrl + \ ,再按c,切换到kermit。

输入命令:send /home/zImage

kermit开始传送数据了,并可以看到传送进度,发送完后,输入c,再回到u-boot界面,然后,再输入:go 0x0c008000

内核开始运行了

kermit在启动时会查找~/.kermrc文件,调用里面的命令来初始化kermit。只要将你所需的命令写到~/.kermrc文件里,启动后就不这么麻烦了











阅读(813) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~