Reset vector address and loading u-boot

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Reset vector address and loading u-boot

Jump to solution
2,240 Views
noufalp90
Contributor III

Hi all,

We are working on a custom board with T2081 SOC. I am new to the Tseries chip and when I go through the RM, I came across following section, "Boot Space Translation" where it is mentioned that 

```

When each core comes out of reset, its MMU has one 4 KB page defined at
0x0_FFFF_Fnnn. Each core begins execution with the instruction at effective address
0x0_FFFF_FFFC. To get this instruction, the core's first instruction fetch is a burst read
of boot code from effective address 0x0_FFFF_FFC0

```

 

So my question is, If I flash u-boot binary in NOR flash, how the core knows about the exact address of NOR flash to load u-boot image from NOR flash address and load to DDR.

Is there any register or configuration which instructs PC to jump to u-boot vector address and starts loading u-boot from NOR address when core begins execution at 0x0_FFFF_FFFC?

T2080RDB T2080 

Thanks,

Noufal P

0 Kudos
Reply
1 Solution
2,182 Views
yipingwang
NXP TechSupport
NXP TechSupport

For boot from NOR flash, the system always fetches the first instruction from the end of NOR flash.

You need to build u-boot image to configure reset vector at the end of NOR flash. For example:

#ifndef CONFIG_RESET_VECTOR_ADDRESS
#define CONFIG_RESET_VECTOR_ADDRESS 0xeffffffc
#endif

#define CONFIG_SYS_FLASH_BASE 0xe8000000

View solution in original post

1 Reply
2,183 Views
yipingwang
NXP TechSupport
NXP TechSupport

For boot from NOR flash, the system always fetches the first instruction from the end of NOR flash.

You need to build u-boot image to configure reset vector at the end of NOR flash. For example:

#ifndef CONFIG_RESET_VECTOR_ADDRESS
#define CONFIG_RESET_VECTOR_ADDRESS 0xeffffffc
#endif

#define CONFIG_SYS_FLASH_BASE 0xe8000000

%3CLINGO-SUB%20id%3D%22lingo-sub-1942208%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3EReset%20vector%20address%20and%20loading%20u-boot%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1942208%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%20all%2C%3C%2FP%3E%3CP%3EWe%20are%20working%20on%20a%20custom%20board%20with%20T2081%20SOC.%20I%20am%20new%20to%20the%20Tseries%20chip%20and%20when%20I%20go%20through%20the%20RM%2C%20I%20came%20across%20following%20section%2C%20%22Boot%20Space%20Translation%22%20where%20it%20is%20mentioned%20that%26nbsp%3B%3C%2FP%3E%3CP%3E%60%60%60%3C%2FP%3E%3CP%3EWhen%20each%20core%20comes%20out%20of%20reset%2C%20its%20MMU%20has%20one%204%20KB%20page%20defined%20at%3CBR%20%2F%3E0x0_FFFF_Fnnn.%20Each%20core%20begins%20execution%20with%20the%20instruction%20at%20effective%20address%3CBR%20%2F%3E0x0_FFFF_FFFC.%20To%20get%20this%20instruction%2C%20the%20core's%20first%20instruction%20fetch%20is%20a%20burst%20read%3CBR%20%2F%3Eof%20boot%20code%20from%20effective%20address%200x0_FFFF_FFC0%3C%2FP%3E%3CP%3E%60%60%60%3C%2FP%3E%3CBR%20%2F%3E%3CP%3ESo%20my%20question%20is%2C%20If%20I%20flash%20u-boot%20binary%20in%20NOR%20flash%2C%20how%20the%20core%20knows%20about%20the%20exact%20address%20of%20NOR%20flash%20to%20load%20u-boot%20image%20from%20NOR%20flash%20address%20and%20load%20to%20DDR.%3C%2FP%3E%3CP%3EIs%20there%20any%20register%20or%20configuration%20which%20instructs%20PC%20to%20jump%20to%20u-boot%20vector%20address%20and%20starts%20loading%20u-boot%20from%20NOR%20address%20when%20core%20begins%20execution%20at%26nbsp%3B0x0_FFFF_FFFC%3F%3C%2FP%3E%3CP%3E%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fc-pwmxy87654%2FT2080RDB%2Fpd-p%2FT2080RDB%22%20class%3D%22lia-product-mention%22%20data-product%3D%223402-1%22%20target%3D%22_blank%22%3ET2080RDB%3C%2FA%3E%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fc-pwmxy87654%2FT2080%2Fpd-p%2FT2080%22%20class%3D%22lia-product-mention%22%20data-product%3D%221766-1%22%20target%3D%22_blank%22%3ET2080%3C%2FA%3E%26nbsp%3B%3C%2FP%3E%3CP%3EThanks%2C%3C%2FP%3E%3CP%3ENoufal%20P%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1945379%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20Reset%20vector%20address%20and%20loading%20u-boot%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1945379%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EFor%20boot%20from%20NOR%20flash%2C%20the%20system%20always%20fetches%20the%20first%20instruction%20from%20the%20end%20of%20NOR%20flash.%3C%2FP%3E%0A%3CP%3EYou%20need%20to%20build%20u-boot%20image%20to%20configure%20reset%20vector%20at%20the%20end%20of%20NOR%20flash.%20For%20example%3A%3C%2FP%3E%0A%3CP%3E%23ifndef%20CONFIG_RESET_VECTOR_ADDRESS%3CBR%20%2F%3E%23define%20CONFIG_RESET_VECTOR_ADDRESS%200xeffffffc%3CBR%20%2F%3E%23endif%3C%2FP%3E%0A%3CP%3E%23define%20CONFIG_SYS_FLASH_BASE%200xe8000000%3C%2FP%3E%3C%2FLINGO-BODY%3E