TI 的AM335X,linux 操作系统,全都是陌生的东东,一点一点来熟悉吧。
拿的TI代理的一开发板,直接看文档。环境由于之前一同事已经装好了,公司条件受限,没法让我们一人一台ubuntu的机子来做开发环境,所以仅仅能共用一台server,大家远程终端在上面开发了。
开发板公司给了我们一些基本文档:
AM335X UBIFS NandFlash Programming Guide v1.1.pdf
AM335x_Linux_擦除 NAND Flash.pdf
AM335x_Linux_改动开机Logo.pdf
AM335x_使用_SD_高速烧录_Nandflash_手冊.pdf
linux SDK for AM335x Ver 1.1.pdf
然后SDK当然使用的是TI官方的SDK了。
略微看了一下,这些文档提供的住息也比較基础,主要怎么安装环境,怎么升级啊,怎么编译啊,这些对于我这样的没有liunx基础的人来说,那是大大实用的啊。命令行的操作不习惯,命令记不住,着实有点痛苦的。
对于NAND的烧写这部分应该是对官方SDK的一些补充,由于官方代码是没有实现这部分的。自己按原厂提供的一些源码改动做了下改动,主要有几个文件:
boot-common.c am335x_evm.h
另外针对这个板子的硬件原厂主要改了几个文件:
board-am335xevm.c da8xx-fb.c evm.c
我以为简单编译一下就OK了,事实上不然,想要从NAND启动还有其他几个点,详见AM335x_使用_SD_高速烧录_Nandflash_手冊.pdf
1制作脚本受了点阻。为什么制作脚本呢,那是由于烧敲代码到NAND,我们须要对NAND格式化啊,分别写入xloader,uboot,image等文件,这些操作当然能够在命令里面一行一行的操作,可是为了简单省事,我们能够做成脚本(就像windows批处理一样),直接顺序执行即可了。am335x_evm.h里的改动就是针对脚本的。按文档里的脚本执行的时候,老是报错,于是我得在命令行里先一步步跑里面的命令,确认命令可行,再改动原脚本,让其通过。详细改动过后的东东我就不贴了,由于自己动手过的东东,才会更了解一些。
2是要制作ubi.img,脚本里有这个文件的大小的參数,与放卡里的文件大小要匹配。对于UBIFN的概念眼下还是处于不明确的层次,眼下的理解就是一种文件系统,不同于Wince的FAT。我们能够决定文件系统里放哪些文件,目录,然后再来制作ubi.img,这样就能够决定设备执行起来后里面所放的内容了。
最终跑起来了,一点点东东也要花上个差点儿相同一天时间。所以大家假设像我一样,对这个环境不懂的话,一定不能太急,文档看细致一点,才不easy出错。边看边梳理一下内容及其关联性。