This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

关于DSP_nand_ecc_patch_OMAP-L138.out的正确使用

Other Parts Discussed in Thread: TMS320C6748, OMAP-L138

TI官方文档《TMS320C6748 Fixed Float DSP Silicon Errata (Silicon Revisions 2.1,2.0,1.1 and 1.0) (Rev. G)》中描述到

This workaround is implemented using a software patch that is loaded in device RAM at
boot time and is designed to change the default behavior of the ECC Correct and Read
functions in the RBL. The patch binary replaces function pointers to the ECC Correct
and Read functions in the ROM function table, (defined in device internal memory),
during boot. The patch binary will reside in page0 of the NAND block and so will be
applied only after the page0 of a good block has been read.


该补丁可以替换RBL中默认的Ecc校正和读取函数,解决Ecc数据错误导致的UBL启动失败的问题。

以下是我的NandFlash.ini配置文件:

; General settings that can be overwritten in the host code
; that calls the AISGen library.
[General]

; Can be 8 or 16 - used in emifa
busWidth=8

; SPIMASTER,I2CMASTER,EMIFA,NAND,EMAC,UART,PCI,HPI,USB,MMC_SD,VLYNQ,RAW
BootMode=NAND

; 8,16,24 - used for SPI,I2C
;AddrWidth=8

; NO_CRC,SECTION_CRC,SINGLE_CRC
crcCheckType=SECTION_CRC

; This section can be used to configure the async chip selects
; of the EMIFA (CS2-CS5). The fields required to do this
; are given below.
; |------24|------16|-------8|-------0|
; A1CR: | A1CR |
; A2CR: | A2CR |
; A3CR: | A3CR |
; A4CR: | A4CR |
; NANDFCR: | NANDFCR |
[EMIF25ASYNC]
A1CR = 0x00000000
A2CR = 0x*****124(具体是什么值忘了)
A3CR = 0x00000000
A4CR = 0x00000000
;NANDFCR = 0x0000002
NANDFCR = 0x00003222

; Get the NAND ECC patch for the ARM
[INPUTFILE]
FILENAME=DSP_nand_ecc_patch_OMAP-L138.out

; Alter the hEccInfo pointer in the NAND_InfoObj structure
; to patch the NAND ECC handling routine
[AIS_Jump]
LOCATION=_NAND_ECC_patchApply

其中,A2CR = 0x*****124(具体是什么值忘了)配置了EMIFA的CE3CFG ,NANDFCR = 0x00003222配置了NandFlash的Ecc功能。

[INPUTFILE]
FILENAME=DSP_nand_ecc_patch_OMAP-L138.out

[AIS_Jump]
LOCATION=_NAND_ECC_patchApply

往AIS文件中打入了补丁。但下载到NandFlash上,UBL没有正常引导起来,把上面打补丁的几语句屏蔽掉,UBL可以正常运行。

跪求TI大神帮忙!