主机平台:ubuntu 12.04
目标平台:TI DM8168
开发套件:EZSDK 5.0.5.00
拿到板子,看了看资源,看了看平台的组成,上网看了看这写博客的评价,之后就开始了折腾之路,还是老方法;首先用厂商给的东西,原封不动的启动,摸索认识一番,TI给的是带开发套件的SD卡,按照 【快速开始QSG】;拨马开关-连线上电,启动。一切ok.
接着安装交叉编译工具,配置host主机,安装EZSDK套间,设置开发套件。一切OK。以后是采用NANDflash,所以就开始想把Uboot什么的烧写到nand flash中,首先看了看文档,多种选择,可以通过CCS 或者 SD卡启动Uboot后写到Nandflash中,因为对CCS不是很熟悉,有加上在LInux上不想装CCS。于是就开始从SD卡启动后进行烧写。
手册上的教程:
Flashing TI816X U-Boot to NAND using SD boot
Before proceeding with any of the commands given in this section please make sure that NAND is enabled on the EVM. The switch for enabling NAND on TI8168 EVM is SW4.
Copy the U-Boot image u-boot.noxip.bin built for NAND as described [#U-Boot_for_NAND_boot here] in the FAT partition on the SD card. (The release package contains a pre-built image u-boot.noxip.bin which can be used for this purpose)
Once the second stage of SD boot comes up use the following commands to flash to NAND
TI8168_EVM# mmc rescan 0
TI8168_EVM# fatload mmc 0 0x81000000 u-boot.noxip.bin
TI8168_EVM# nand erase 0x0 0x260000
TI8168_EVM# nand write.i 0x81000000 0x0 0x33800
After this the EVM switch settings can be changed to [#NAND_boot NAND boot mode] if boot out of NAND is required.
问题一:
在使用nand erase 0x0 0x260000 命令时,说没有找到设备,于是我用 nand device察看了下,发现有flash device设备,显示为Device 0: <NULL>, sector size 128 KiB,于是我以为这不就是设备么,怎么没有设备了,于是在网上找呀找,最后找个Ti员工的话,说是nandflash的位宽不对,要在SW3上的CS0BW拨到16bit位宽那边;坑爹呀,官方wiki上怎么就不提一下呢?就说了一句:
“Before proceeding with any of the commands given in this section please make sure that
NAND is enabled on the EVM. The switch for enabling NAND on TI8168 EVM is SW4.”
此时想起了网上流传的那句:多么希望FAE把我当傻子,而他总是把我当神。
问题二:
好不容易将问题一解决,按照wiki上的进行烧写,但是又来了新问题,擦除NAND FLASH的时候出现了七八个badblock,我以为这么什么问题,结果在进行烧写的时候,出来了更多的bad block,感觉不太正常,但是这时后我以为后面的那个WRITE OK,看到这个,我以为真的就像log输出的那样ok了,谁知道这是个坑呀。关机,修改拨码开关,上电,等呀等等呀等,没有输出!/惊讶/惊讶..... 于是上网一遍一遍的搜。半天也没什么收获...一个上午pass...
下午继续,公司买了两套。于是我用另一套来测试了一下,没有一个bad block,奇怪,突然脑子里闪出,nand flash 挂了!! 之后证明,真的挂了。