本人小白,使用的是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



至于为什么需要挂载,如何挂载参考的这篇文章,写的很好

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下运行了。