ubuntu 下使用usb2ram替代windows下的DNW软件

2019-07-13 08:56发布

今天心血来潮,对学习嵌入式linux以来一直没有解决的几个问题进行了一下探索,其实都是在网上找答案,然后自己用开发板去验证它 一个问题是:可不可以在linux下面有这样一个软件,就像在windows下的DNW软件一样,可以下载各种镜像到开发板上,从而可以避免在windows和linux系统之间的切换,那可是一件很让人讨厌的事情。 首先在网上搜了一下,还真有这样的软件,看样子还是得什么都要自己动手去探索才行,要不然的话一直会是个谜 下面是我的解决过程,写给自己看的,也希望给有需要的朋友一点帮助,大家可以共同进步 usb2ram软件下载地址: http://forum.ubuntu.org.cn/viewtopic.php?f=97&t=107504   下载下来的压缩包中解压后是有一个可执行文件的,但是这个可执行文件一般不能执行,需要在自己的系统上重新编译才能用 首先要修改Makefile文件,在第一行之后添加如下这行,用以设定编译器: CC=gcc 修改之后的Makefile文件如下:   #!/usr/bin/make
CC=gcc
LDFLAGS=-lusb -lm

all: usb2ram

clean:
    -rm -f *.o usb2ram

usb2ram: usb2ram.o
    $(CC) $(LDFLAGS) -o $@ $<

boot_usb.o: boot_usb.c
    $(CC) $(CFLAGS) -o $@ -c $<

.PHONEY: all clean   编译前先清除无用的文件,以确保后面能够正常编译,这时执行一下命令: make clean   再次编译前要确保有libusb 和libusb-dev两个库,我是看的网上文章的提示。若是没有,编译时就会提示: cc -lusb -lm -o usb2ram usb2ram.o
/usr/bin/ld: cannot find -lusb
collect2: ld returned 1 exit status
make: *** [usb2ram] 错误 1 于是我就输入命令: sudo apt-get install libusb libusb-dev  进行两个库的安装 这时又有提示: 正在读取软件包列表... 完成
正在分析软件包的依赖关系树      
正在读取状态信息... 完成      
E: 无法找到软件包 libusb 说是找不到libusb,这时我就输入如下命令: sudo apt-get install libusb-dev 只安装libusb-dev这个库,这个库可以找的到,安装好之后再make,就成功生成了usb2ram可执行文件   下面讲讲它的用法: 我用的是TQ2440的开发板,首先确保norflash里面有bootloader,这时选择从norflash启动, 出现如下菜单界面: #####    Boot for Nand Flash Main Menu  #####                                  
[1] Download u-boot to Nand Flash                                              
[2] Download Eboot                                                             
[3] Download Linux Kernel                                                      
[4] Download WinCE NK.bin                                                      
[5] Download CRAMFS image                                                      
[6] Download YAFFS image                                                       
[7] Download to SDRAM & Run                                                    
[8] Boot the system                                                            
[9] Format the Nand Flash                                                      
[0] Set the boot parameters                                                    
[a] Download User Program                                                      
[b] Download LOGO Picture (.bmp) to Nand  Flash                                
[l] Set LCD Parameters                                                         
[r] Reboot u-boot                                                              
[q] quit from menu                                                             
Enter your selection:1 在这里我选择的是1:下载uboot到nandflash 这时终端提示: USB host is connected. Waiting a download. 表示你现在可以使用usb2ram软件下载镜像文件了 这时启动另外一个终端,进入usb2ram可执行文件所在的目录,输入一下命令:  sudo ./usb2ram 30000000 /home/deng/ARM/images/u-boot_W35.bin 这个命令的形式是:sudo ./usb2ram  地址  文件 一开始在命令之前没有加sudo,提示如下错误: Unable to claim usb interface 1 of device: could not claim interface 0: Operation not permitted
加上之后就好了 现在切换到由nandflash启动,启动时按住空格建进入下载模式,这时跟norflash启动效果一样,说明uboot已经下载到了nandflash中 也可以用同样的方法将其他的镜像下载只开发板   我是菜鸟一个,如有不正确的地方,还请各位大牛指正