天天看點

海思3559A平台SPI NAND flash調試驗證

1. 概述

SPI NAND flash 一般用來存放啟動鏡像,就看使用場景;

也可以直接放到emmc上

2. SPI接口說明

這裡SPI NAND flash使用的SPI接口不是通用SPI接口;

是專用SPI接口【SFC】,不占用SPI通用接口的

3. 修改硬體

為了不和emmc 8bit MODE沖突;

這裡設定成 4 wire模式

海思3559A平台SPI NAND flash調試驗證

4. Uboot制作

make CROSS_COMPILE=aarch64-himix100-linux- hi3559av100_defconfig

【别使用hi3559av100_nand_defconfig, 這個是針對并口NAND】

make CROSS_COMPILE=aarch64-himix100-linux- -j 20

make CROSS_COMPILE=aarch64-himix100-linux- u-boot-z.bin

5. 撥碼開發

啟動媒體撥到SPI NAND啟動

6. Hitool燒寫uboot

啟動正常,驗證ok

描述下之前啟動失敗的問題:

      這個就是上述說的,uboot的config配置使用錯了,導緻uboot編譯的鏡像不對

System startup

Uncompress Ok!

U-Boot 2016.11 (Oct 14 2020 - 17:05:18 +1100)hi3559av100

Relocation Offset is: 176f9000
Relocating to 5fef9000, new gd at 5fe58e00, sp at 5fe58df0
NAND:  hifmc_ip_ver_check(44): Check Flash Memory Controller v100 ...hifmc_ip_ver_check(50):  Found
hifmc100_host_init(916): Error: Flash type isn't Nand flash. reg[0x11822]
Special NAND id table Version 1.40
hifmc100_send_cmd_reset(371): Error: Wait cmd cpu finish timeout!
hifmc100_send_cmd_readid(345): Error: Wait cmd cpu finish timeout!
hifmc100_send_cmd_readid(345): Error: Wait cmd cpu finish timeout!
Nand ID: 0xCA 0x3C 0xB5 0x68 0xCA 0x3C 0xB5 0x68
hifmc100_send_cmd_readid(345): Error: Wait cmd cpu finish timeout!
hifmc100_send_cmd_readid(345): Error: Wait cmd cpu finish timeout!
drivers/mtd/nand/hifmc100_nand/hifmc100_nand.c(786): BUG: Driver does not support. the pagesize(1024) and oobsize(16).
等待boot啟動逾時,單闆上無fastboot或目前fastboot無法啟動。
Failed to download fastboot!
           

繼續閱讀