栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

实验一Linux开发环境搭建与LED点亮

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

实验一Linux开发环境搭建与LED点亮

常见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、烧入之后的效果与预期不符,不是流水灯,而是规律的闪烁

答:用文件夹里的代码是这样的,自己修改一下就好了。

       或者使用书本上的代码。不过据说显示屏行的影响,要先把显示屏给关掉。

具体操作为:把板子左右两边的开关均关掉,再打开左边的开关即可。右边开关控制显示屏的开关。

自用,大佬请轻喷,欢迎指正。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/511319.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号