完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
其实刚开始我对这个开发流程是很不理解的,不自觉地把它与STM32对比,脑子里就会浮现出这样的问题,这又没j-link之类的,代码又是在ubuntu里头写好的,如何下载到开发板呢?而且开发板上面也是有个Linux操作系统的,难道跟普通单片机那样每次都去擦除烧写程序吗?那也太恐怖了。。经过这么几天的摸索和了解,我大概是清楚了这个开发流程:首先是在ubuntu中写好程序,然后通过交叉编译生成可以在NetRouter上运行的可执行文件(因为PC上的架构是x64或者x86的,编译出来的可执行程序只能在本架构的系统上运行,而NetRouter上是MIPS架构,所以需要交叉编译器把程序编译成可在MIPS架构上执行的可执行文件),接着通过CRT或者Xshell之类的(它们通过串口跟开发板连接)把这个可执行文件下载到NetRouter中,最后在Xshell下按照linux命令行的模式执行(直接./+可执行文件名)。这个是我这两天摸索出来的开发流程,感觉应该是不全的,脱离Xshell怎么运行?(额,这么一想有可能是写的程序有指令控制其自动运行吧,或者脚本控制之类的)或者我想的这个流程也有一定问题,希望各位看官指导指导!! 接下来就是在ubuntu上安装NetRouter的交叉编译环境了。试用教程上有它的下载链接(名字叫做buildroot-gcc342.tar.gz),我在这里也贴出来链接: http://pan.baidu.com/s/1hqLobL6 密码: r3xg 大概有六七十兆。单击右键复制,再到ubuntu的桌面上单击右键Paste(粘贴),就可以把它copy到ubuntu的桌面上了。 看后缀,这是个压缩包,我先是利用命令tar –zxvf buildroot-gcc342.tar.gz 将该压缩包解压到桌面,这里利用的tar命令后自带选项-z表示有gzip属性,用gzip解压,-x表示解压缩,v表示显示过程信息,-f表示使用档名,后面就直接接压缩包名了。回车后等一段时间,在桌面上就有了一个文件夹buildroot-gcc342 这里有点儿让我不爽的是tar -v是显示解压过程的详细信息,由于信息太多不停地刷,把terminal都刷得我找不到上一条指令了,然后我就想着有没有什么办法可以看得到之前的记录,网上找了一下,发现这个默认是512行记录,可以修改,我参照的是这个帖子:如何在ubuntu的terminal下查看更多的历史输出 下面是这文件夹里头的东西: 这里我注意到,这个压缩包buildroot-gcc342.tar.gz是绿色的,绿色不是表示可执行文件么?我另外自己的一个压缩包test.tar.gz是红色的,这就是个压缩文件了,不是可执行文件。于是我就想是不是可以直接运行它就解压了,想着就立马尝试了一下,先把之前解压出来的文件夹删掉,再执行./buildroot...(此处省略。。)结果如下: 回头看看试用教程,它上面是这样子做的 于是我也照着它在用户目录下建了一个source文件夹,再执行这个命令,然后去source里头查看,发现什么也没有: 就这么愣了两秒,突然明白这个source只是个文件夹而已。。或许是试用教程的编写者随手建立的,真正的解压后的文件应该是到了/opt下,于是马上跳转过去看了看,果然有。下面是解压后目录下的bin文件夹中的东西,貌似都是些编译器: 然后man tar了一下,查了查,找到了这个-C的作用如下: 看来我应该是悟对了!! 接下来就是要试试这个交叉编译环境了!!命令行输入vi hello_world.c,写一个小小的hello world程序 编译并运行,没问题! 接着就是交叉编译了!然而,这里突然就一盆冷水浇下来,bash提示找不到文件或路径 根据最近几天积累的一点点经验,这个可能是没有设置环境变量,bash找不到路径,按照网上找到的一篇帖子尝试ubuntu设置PATH,然后照他说的reboot一下,把我坑的,感觉重启花了n年那么久,于是就找找看有没有不用重启的方法,感觉应该是有的,不然那些大型服务器应该也会遇到这种问题,修改一下就重启那还得了,还真找到了,用source命令就可以。。当然,这里按照帖子说的并没有成功,于是又找到有人说去/etc/enviroment下去修改,在后面追加上交叉编译器的目录,然后就source /etc/enviroment(刚学的命令马上就用到了。。),结果自然是还不行的,总感觉新手好难~到处都是问题555....................................... 出去上个厕所缓一缓,回来继续搜,找问题,结果发现有人说这个可能是操作系统位数是64位的,而使用的这个交叉编译器是在32位系统上开发的,所以不支持,需要安装32位的支持包,这个帖子的链接 请看第10楼的回复 我突然想到我安装的是ubuntu14.04,是64位版本的,而试用教程有留ubuntu的镜像文件,我没有用这个镜像,或许试用教程的镜像是32位的,我这里走不通也就是这个原因,于是按照他的说法操作,先更新源列表 apt-get update,再安装32位支持包apt-get install ia32-libs,结果自然是也有点问题的(TM就不能让新手好好地入个门么!!) |
|
相关推荐
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
谢谢楼主的帖子,学习了
|
|
|
|
|
|
本帖最后由 danmaishenqiu 于 2016-6-13 18:42 编辑
回帖挣积分 |
|
|
|
|
|
只有小组成员才能发言,加入小组>>
「含关键代码」基于AM3352/AM3354/AM3359的Linux开发案例分享
4902 浏览 0 评论
87423 浏览 0 评论
【高手问答】如何做到精通linux技术?资深工程师带你突破难点
4740 浏览 2 评论
3628 浏览 2 评论
解读Linux :先从创建一个文件夹用来存放jdk压缩文件开始
2489 浏览 0 评论
2014浏览 3评论
1299浏览 1评论
求解:aarch64交叉编译工具已经安装成功,环境变量已经配置,怎么将系统架构切换为ARM的架构
1356浏览 0评论
电脑和虚拟机可以互ping,电脑和开发板也可以互ping,但是虚拟机和开发板ping不通是什么原因
1243浏览 0评论
1181浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-27 17:47 , Processed in 1.491406 second(s), Total 90, Slave 72 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号