【OK210试用体验】+第四篇☞Linux环境搭建及led点灯测试(有图有真相) - 在线问答 - 电子技术论坛 - 最好最受欢迎电子论坛!

【OK210试用体验】+第四篇☞Linux环境搭建及led点灯测试(有图有真相)

杨永胜 ( 楼主 ) 2015-8-1 19:46:47  只看该作者 倒序浏览
本帖最后由 iysheng 于 2015-8-2 09:52 编辑

今天终于到达搭建Liunx环境这个步骤了,这一次,主要完成以下几个步骤:
1。VMware的安装
2。在VMware中新建一个Linux的虚拟机(我用的是RHEL6.6 Desktop)
3。在REHEL6.6中,借助cross-ng编译制作arm-cortex_a8-linux-gnueabi-*系列的交叉编译工具链
4。借助自己编译的交叉编译工具链完成u-boot和内核的编译测试
5。编写led电灯程序,并测试运行
接下来,我们细说中间我遇到的问题和解决办法。

1。VMware的安装
2。在VMware中新建一个Linux的虚拟机(我用的是RHEL6.6 Desktop
Desktop是我在安装RHEL6.6时选择的。
这两步骤,可以按照用户手册上的来进行操作,没有什么大问题,要注意的就是我在第三篇已经强调的安装VMware-8.0.2-591240时,要用管理员方式运行


3。这一步比较繁琐,也没什么难的,就是很费时间,主要和我的电脑的运算速度也有一定的关系。
  • 在crosstool-ng.org上下载crosstool-ng-1.18.0.tar.bz2
  • 在用户目录下,创建文件夹arm-linux-tools,接下来很多操作都是在这个文件夹内完成的。
  • 在arm-linux-tools文件夹内创建src,crosstool-build,crosstool-install三个文件夹,并在该文件夹内把crosstool-ng解压缩出来,进入crosstool-ng-1.80.0文件夹
  • 进行依赖检测./configure –prefix/home/ys/arm-linux-tools/crosstool-install
  • 根据对应的错误,安装相应的软件包,本次我的安装主要用到是原RHEL6.6镜像中的软件包,也就是本地源(这种制作本地源的方法网上很多,比较简单的,如果有疑问,可以给我留言,我会及时解答的)
  • 本次我安装了bison,flex,gperf(http://ftp.gnu.org/gnu/gperf/),libtool,expat-devel,textinfo,ncurses-devel,ncurses-term。
  • 上述软件包,出了gperf我是在网站上下载的源码以外,其余都是用的本地源,在顺利安装了以上软件包以后,就可以进行ct-ng的安装了,
  • 首先make然后make install,这样ct-ng就被安装到~/arm-linux-tools/crosstool-install/bin目录中了
  • 把ct-ng的路径加入环境变量中,使系统可以找到该命令,下面就要进行配置了
  • 复制cross-ng-1.18.0/samples/arm-cortex_a8-gnueabi目录到crosstool-build文件夹下,并复制arm-cortex_a8-gnueabi文件夹下的crosstool.config到crosstool-build文件夹下,重命名为.config
  • 在该文件夹下执行ct-ng menuconfig进来配置,主要更改以下内容

      更改第一个图片中内容主要是为了更改路径,Local tarballsdirectoryPrefix        directory,
      更改第二个途中内容的原因是,官方网站上现在只有这个0.15.11版本的,避免麻烦,这样修改。
      还要更改
      
       这是网上教我的办法。很有必要,要不然会报错的。然后就保存。
12。ct-ng build开始编译,我等待了接近两个小时,编译完成,
13。接下来就是加入环境变量,建立arm-linux-*的软连接。至此,交叉编译工具链就住做好了,验证如下:


下面就是按照手册上的介绍自己动手编译u-boot和zImage,其中编译zImage的时候,我遇到了交叉编译工具链路径不对的问题,根据提示我又建立了新的软连接,解决了问题,成功完成了编译。

最后说一下我的led电灯程序,主要是测试一下自己编译的交叉编译工具链是否好用。
代码很简单,直接贴出来了,
  1. start:
  2.     @;output
  3.     ldr r0,=0xe0200340
  4.     ldr r1,=0x11110000
  5.     str r1,[r0]

  6.     @;data  
  7.     ldr r0,=0xe0200344
  8.     ldr r1,=0x30
  9.     str r1,[r0]

  10. halt:
  11.     b halt   
复制代码



编译链接生成bin文件,通过串口下载到开发板
上电出现如下所示时,按任意键,接着按7,进入u-boot


这是我在minicom中,观察串口的数据。
通过我的实验,minicom(本地源安装 yum install minicom)中,以ymodem协议发送数据(输入loady 0x20008000),正常没有问题,我在minicom中用kermit协议没有成功。我重新下载了ckermit的源码,编译 安装 之后,可以用kermit依照kermit协议下载裸机bin文件成功了。
下面附上我的效果图:

kermit下kermit协议的下载

minicom下使用ymodem协议的下载


go 0x20008000命令完成裸机程序的运行
程序效果图两个led灯亮了,如下所示:


好了,今天就写到这里,接下来的几天我想多看看驱动的内容,加油。

6个回复

ycdhonker 发表于 2015-8-7 13:54:30
不错 学习了  赞一个!
杨永胜 发表于 2015-8-7 15:40:55
ycdhonker 发表于 2015-8-7 13:54
不错 学习了  赞一个!

嗯,谢谢支持啊。
ycdhonker 发表于 2015-8-7 19:01:44
iysheng 发表于 2015-8-7 15:40
嗯,谢谢支持啊。

我烧写系统时碰到了问题,sd分区不识别,但是我是按照手册分区的 换了个SD卡还是出现同样的问题
杨永胜 发表于 2015-8-7 21:07:00
ycdhonker 发表于 2015-8-7 19:01
我烧写系统时碰到了问题,sd分区不识别,但是我是按照手册分区的 换了个SD卡还是出现同样的问题

需要用管理员权限,,win7的话xp模式,然后,点击右上角的scan,会出来,
你可以试一试,
ycdhonker 发表于 2015-8-8 13:55:49
我一开始用的 OK210光盘(A)中的bootloader和系统镜像,后来使用了OK210 v1.1光盘里的bootloader和镜像就可以正常烧写系统了,你是用哪个光盘资料啊 可以给我说一下吗 谢谢了 我的qq 603788734
杨永胜 发表于 2015-8-9 08:10:18
ycdhonker 发表于 2015-8-8 13:55
我一开始用的OK210光盘(A)中的bootloader和系统镜像,后来使用了OK210 v1.1光盘里的bootloader和镜像就可以正常烧写系统了,你是用哪个光盘资料啊 可以给我说一下吗 谢谢了 我的qq 603788734

我用的是ok210 v1.1,
您需要登录后才可以回帖 登录 | 注册

本版积分规则


关闭

站长推荐上一条 /7 下一条

小黑屋|手机版|Archiver|电子发烧友 ( 湘ICP备2023018690号 )

GMT+8, 2024-11-13 05:23 , Processed in 0.582397 second(s), Total 72, Slave 52 queries .

Powered by 电子发烧友网

© 2015 bbs.elecfans.com

微信扫描
快速回复 返回顶部 返回列表