tf卡传输可执行程序至linux开发板

2018-07-28 06:09:53来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

本人小白,使用的是MYB-Y335X开发板,基于TI推出的Cortex A8内核的AM3352b处理器芯片。

开发板自带的开发手册写的异常简单,对于初学者来说上手比较困难,但是也间接的提高了自己解决问题的能力。

1、首先需要在linux主机中编译想要运行的程序,这里以led.c程序为例,进入led程序目录下输入make,如果程序已经编译过会出现

make: Nothing to be done for `all'.

编译器默认程序没有改动,就不会再进行任何操作,如果想要重新编译需要make clean

root@ubuntu:/home/rsn/AM3352/Examples/led# make clean
rm -f *.o led_test

这样编译器就会删除编译生成的可执行代码,之后再编译

root@ubuntu:/home/rsn/AM3352/Examples/led# make
arm-linux-gnueabihf-gcc -o led_test led.c main.c

就会生成可执行代码。

2、将生成的可执行文件(led_test.o)拷至tf卡的根目录中。

3、将tf卡插入开发板中,启动开发板。在win7系统下需要下载使用HyperTerminal超级终端来调试开发板

4、启动成功后首先进入root权限,之后需要首先进入开发板的根文件系统

# cd /
# ls
bin      etc      lib32    mnt      root     sys      var
boot     init     linuxrc  opt      run      tmp
dev      lib      media    proc     sbin     usr

5、 之后需要挂载tf卡至mnt目录,mnt目录下首先需要新建一个文件夹,这里我给他起名叫做tfcard

# mount /dev/mmcblk0p1 /mnt/tfcard 

至于为什么需要挂载,如何挂载参考的这篇文章,写的很好https://www.cnblogs.com/ma5on/p/4357625.html

6、 挂载之后就可以通过/mnt/tfcard访问tf卡中的资源和内容。

在这里本人遇到了一个非常严重的问题,就是在断电之前没有对挂载的tf卡进行反挂载,导致了出现了如下问题

Volume was not properly unmounted. Some data may be corrupt. Please run fsck. 

意思就是说tf卡有某些数据已经损坏,请运行fsck,所以这里先说明一下,挂载tf卡使用完成之后一定要运行反挂载语句,相当于Windows系统下的“弹出u盘”

# umount /mnt/tfcard

一旦出现上述问题,解决方法是使用读卡器插入另一个linux主机,使用fsck进行修复。具体步骤如下

1. 安装dosfstools(apt-get install dosfstools)
2. 使用fdisk -l命令来确定是哪个分区,也就是确定tf卡的路径。
3. 执行修复命令fsck.vfat -v /刚刚查到的路径
4. 执行修复命令fsck.vfat -a /刚刚查到的路径

7、 最后就可以使用cp命令将编译好的可执行文件复制到根目录的/usr/bin下运行了。

 

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Tmux 使用教程 on Fedora 28

下一篇:ubuntu查看ip,DNS