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

本人小白,使用的是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下运行了。

 

转载于:https://www.cnblogs.com/RenShuaiNan/p/9378131.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值