常见12问题以及解决办法
1、如何创建主机与虚拟机之间的共享文件夹?
答:①创建一个空文件夹作为共享文件夹的基础,命名为armshared
②打开虚拟机,找到虚拟机-设置-选项-共享文件夹,将文件夹共享设置为总是启用,并在文件夹中添加预先创建的空文件夹,选择确定。
③之后,我们就能在文件夹-其他位置-计算机-mnt-hgfs目录下找到我们创建的共享文件夹。
正在上传…重新上传取消
在主机内的共享文件夹中添加文件、压缩包、代码等,就可以在虚拟机中打开了。
2、创建了共享文件夹,但是重启之后在mnt下找不到hgfs文件夹怎么办?
答:①首先确定是否将文件夹共享设置为总是启用;
②确定是否安装了vmware_tools。在终端输入vmare-hgfsclient,正常的话会显示之前创建的共享文件夹。
这一步基本不会出错,如果错了上百度重新安装vmware_tools.
③终端输入yum install -y open-vm-tools-devel
④安装成功后,终端输入vmhgfs-fuse .host:/ /mnt/hgfs
⑤如果此时报错,没有/mnt/hgfs的话,说明没有挂载点,使用mkdir mnt/hgfs重新创建一个挂载点就可以了。
参考链接: mnt/hgfs 共享文件夹文件丢失不见_Henry Heng的博客-CSDN博客
3、如何安装交叉编译gcc-4.6.4?
答:①下载好提供的arm-linux-gcc-4.6.4-arm-x86_64.tar.bz2,并将它另存在之前创建的共享文件夹中。
②在虚拟机中打开共享文件夹,将压缩包保存在根目录下的/tmp目录下。
③使用tar命令解压安装包,执行命令sudo tar -xjvf /tmp/arm-linux-gcc-4.6.4-arm-x86_64.tar.bz2 -C /
此命令会将安装包解压在根目录下的opt的TuxamitoSoftToolchains中,找到gcc-4.6.4所在的位置。
一般为/opt/TuxamitoSoftToolchains/arm-arm1176jzfssf-linux-gnueabi
④在/usr/local下创建一个新目录arm,并解放它的全部权限。
命令为:sudo mkdir /usr/local/arm
sudo chmod 777 /usr/local/arm
⑤将gcc-4.6.4目录复制到刚刚建好的arm文件夹中。
可以直接复制粘贴,使用命令的话需要使用命令sudo cp -r gcc-4.6.4 /usr/local/arm
⑥打开/etc/profile配置环境变量和库变量,目的是以后可以在任何位置使用该交叉编译器。
我们找到/etc/profile后发现这是一个只读文件,我们无法直接添加配置环境变量和库变量。因此,要先修改其权限。sudo chmod 777 /etc/profile
然后,使用vi编辑器(或者直接)在profile最后添加:
export PATH=$PATH:/usr/local/arm/gcc-4.6.4/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/arm/gcc-4.6.4/lib
⑦使用source命令重新加载生效该配置文件 source /etc/profile
⑧使用arm-linux-gcc -v命令检测是否安装成功。
以上只是安装交叉编译的其中一种方法,此外,Ubuntu有一个专门用来安装软件的工具apt,我们可以使用它来全自动安装arm-linux-gcc,但是失败率较高。压缩包也可以在主机先解压好再放进虚拟机里。方法有很多,大致流程对了就行,不必拘泥于格式,完全按照我的来。
参考链接:Ubuntu 18.04安装arm-linux-gcc交叉编译器(超简单,附安装包下载地址) - 创造卓越人生 - 博客园
4、makefile代码
led_wtd.bin: start.o
arm-linux-ld -Ttext 0x0 -o led_wtd.elf $^
arm-linux-objcopy -O binary led_wtd.elf u-boot.bin
arm-linux-objdump -D led_wtd.elf > led_wtd_elf.dis
%.o : %.S
arm-linux-gcc -o $@ $< -c
%.o : %.c
arm-linux-gcc -o $@ $< -c
clean:
rm *.o *.elf *.bin *.dis -f
5、makefile代码
.SUFFIXES : .c .o
CC = gcc
ASM =
link =
LIBCC = ar
RM = rm
#----------------------------------------------------------------------------------------------
INCPATH =
LIBPATH =
OBJPATH = .
OUTPATH = .
SOURCEPATH = .
LDFLAGS = -L$(LIBPATH)
#LFLAGS = -lm
ASFLAGS =
ARFLAGS = -ruv
CFLAGS = -o
LIBS =
#---------------------------------------------------------------------------------------
SOURCES = $(OBJECTS:.o=.c)
all:
$(CC) $(CFLAGS) mkbl2 V310-EVT1-mkbl2.c
#---------------------------------------------------------------------------------------
.c.o:
$(CC) $(CFLAGS) -c $< -o $@
dep:
gccmakedep $(SOURCES)
#---------------------------------------------------------------------------------------
clean:
$(RM) -rf sd_fdisk
$(RM) -rf mkbl2
new:
$(MAKE) clean
$(MAKE)
6、make包的安装
答:一般直接输入make命令就会自动下载。
如果下载不了,也可以上网搜索。实在下载不了,可以让同学先执行一遍,然后执行同学执行make之后、下面的批处理命令。
7、SD卡插入之后虚拟机读取不到
答:feroda点开虚拟机-可移动设备,找到你插入的sd卡即可。
Ubuntu右下角有选择连接到本机的按键。
如果还是找不到,建议使用读卡器。
或者更新一下驱动。
8、虚拟机一旦连上SD卡(或读卡器、u盘)崩溃重启了
答:这种情况一般伴随着虚拟机也打不开了,如果你和我一样,我们都太难了QAQ。
先检查自己的虚拟机是否更新到最新版本
读取不了有可能是驱动的问题,更新一下驱动试试
然后重复上面的步骤。
9、找到了sd卡但是,sd卡只读
答:使用“sudo dosfsck -v -a /dev/sdb1”命令,检查并修复文件系统。然后重新插拔SD卡,再执行操作即可。
参考链接:https://blog.csdn.net/bullbat/article/details/7608372?utm_source=blogxgwz5
10、找到了sd卡之后怎么烧入?
答:cd sd_fuse前后各用一次make,我想这个大家应该都会
11、使用./fast_fuse.sh提示找不到命令
答:换用bash fast_fuse.sh试试
12、烧入之后的效果与预期不符,不是流水灯,而是规律的闪烁
答:用文件夹里的代码是这样的,自己修改一下就好了。
或者使用书本上的代码。不过据说显示屏行的影响,要先把显示屏给关掉。
具体操作为:把板子左右两边的开关均关掉,再打开左边的开关即可。右边开关控制显示屏的开关。
自用,大佬请轻喷,欢迎指正。



