- 论坛徽章:
- 0
|
1. DNW 学习了linux一段时间后,大多都知道在linux宿主机上可以用minicom nfs服务器 FTP服务器 乃至U盘等向目标机传我们需要的文件。这几种方法各有各的好处。但是,以上方法都是在目标机已经安装了操作系统或者无操作系统但Uboot支持以上功能(实际上Uboot本身也可以说是一个操作系统了)。但是我们拿到一款没有操作系统的板子时,首先就是要给他装系统。
在windows下可以使用DNW来传我们但bootloader 内核 以及文件系统很方便。但是在linux有没有类似这样但工具呢?厂家提供但工具包里没有。事实上linux的用USB更简单。下面是一位网络雷人做的linux下的DNW。
这个不需要加载内核模块,省去了编译内核模块的麻烦,不过需要libusb的支持,安装libusb和libusb-dev这两个包就可以了,详见包里面的README 我在qq2440上测了下,烧写kernel时下载速度有250 KB/s,应该比较快了。 http://c8051f320dev.googlecode.com/files/dnw2_linux_latest.tgz
【如果没有安装以上两个包先执行yum安装,我的已经安装。所以结果如下:】 [root@MyFedora13 下载]# yum install libusb libusb-devel 已加载插件:presto, priorities, refresh-packagekit 设置安装进程 包 libusb-0.1.12-23.fc13.i686 已安装并且是最新版本 包 libusb-devel-0.1.12-23.fc13.i686 已安装并且是最新版本 无须任何处理
【下载完成后执行解压命令】 [root@MyFedora13 下载]# tar -xzvf dnw2_linux_latest.tgz 【运行tree命令看看里面有什么文件】 [root@MyFedora13 下载]# tree dnw2 dnw2 |-- dnw2.c `-- README
0 directories, 3 files 【下面看看README就知道了】 [root@MyFedora13 dnw2]# vim README
Build: You need libusb installed to build this tool. Please install libusb and libusb-dev before building. To build this tool, just:
gcc dnw2.c -o dnw2 -lusb //安装方法
Use: Make sure you have root privilege. Use following command to download a file:
./dnw2 <filename> //使用方法
BUG? Please feel free to report it to hulifox008@163.com.
Fox <hulifox008@163.com> 【按照以上方法安装】 [root@MyFedora13 dnw2]#gcc dnw2.c -o dnw2 -lusb 到此安装完成,运行即可。也可以把这个可执行文件cp到/bin或者/sbin等目录。或者配置以下环境变量等都可以。以方便下次使用时在任意目录下都能找到这个命令。有兴趣的还可以看看别人是怎么实现的。
2.jlink的问题。 之前网上很多人说jlink只能用在windows下,自己买板子的时候那个卖家甚至也是这么对我说的。 幸亏我一次在 帖子“请教JLINK V7支持Linux下用openOCD吗(http://www.ourdev.cn/bbs /bbs_content.jsp?bbs_sn=3263282&bbs_page_no=1&search_mode=4& search_text=crifan&bbs_id=9999)?”里看到 网友 jordonwu的话 ,顺着他的话,找到了 segger 网站(http://www.segger.com/cms/jlink-software.html ),其中Beta software version for Linux 是也! 我在ubuntu下试了下,用起来除了jlnkGDBserver是command界面,其他和 windows版的无异。
发生的问题:按照README的步骤,还是要装libusb,之前dnw安装的时候没装看来还是躲不掉的,欠债总归要还得。没办法下了 源代码进行编译。一路成功,但是运行的时候发生了 如下错误: ./JLinkExe: error while loading shared libraries: libjlinkarm.so.0: cannot open shared object file: No such file or directory。 我一开始以为是 动态加载库没有进去的关系,所以把当前路径也加到 了LD_LIBRARY_PATH这个变量中去,发现还是不行。(参考:http://blog.csdn.net/wwwsq/archive/2006/09/21/1256577.aspx [Linux] 如何让linux加载当前目录的动态库) 因为原来提供的文件 里没有 libjlinkarm.so.0,倒是有 libjlinkarm.so.0.0. 又怀疑是 要做个软连接libjlinkarm.so.0,好像还是不行。 最后网上查了查,按照 http://www.segger2.com/index.php?page=Thread&postID=1032 帖子里的说法,把后者改名为前者就ok了。 这个网址也是讲这个问题:http://www.droidream.com/
3.KScope安装 windows 上有source insight 。好用啊。最近发现linux也有这样的工具---KScope,简直就是linux上的source insight 。它用的也是基于Cscope引擎来做的,但比同样基于它的chrowser好用很多,要么是我不会用的关系。KScope的用法就不说了,因为和 source insight是一样的。 安装的时候倒是出现了如下错误: kscope: error while loading shared libraries: libkateinterfaces.so.0: cannot open shared object file: No such file or directory。 怎么办,还是放狗。呵呵。 从http://packages.debian.org/lenny/i386/kate/download下载kate_3.5.9.dfsg.1-6_i386.deb。 然后: $ar x kate_3.5.9.dfsg.1-6_i386.deb $tar xzf data.tar.gz $cp usr/lib/libkateinterfaces.so.0.0.0 /usr/local/lib/libkateinterfaces.so.0 $cp usr/lib/libkateutils.so.0 /usr/local/lib/libkateutils.so.0 $ldconfig不过好像还会出现如下问题 /sbin/ldconfig.real: /usr/lib/libjlinkarm.so.4 不是符号连接
不过Kscope仍能打开了。
|
|