210 likes | 391 Views
Dual-OS Project. Second Stage Loader. ─ for BF561. Presenter: Tang-Hsun Tu. National Taiwan University, Graduate Institute of Networking and Multimedia Tang-Hsun Tu. ◇ Multi-DXE Loader. ◇ Loader Format. ◇ Second Stage Loader. ○ Loader. ○ Environment. ○ Conclusion.
E N D
Dual-OS Project Second Stage Loader ─ for BF561 Presenter: Tang-Hsun Tu National Taiwan University, Graduate Institute of Networking and Multimedia Tang-Hsun Tu
◇ Multi-DXE Loader ◇ Loader Format ◇ Second Stage Loader ○ Loader ○ Environment ○ Conclusion ○ Further Work • Outlines ○ Boot Method National Taiwan University, Graduate Institute of Networking and Multimedia Tang-Hsun Tu
Boot Method Boot Method National Taiwan University, Graduate Institute of Networking and Multimedia Tang-Hsun Tu
Boot Method Boot Mode National Taiwan University, Graduate Institute of Networking and Multimedia Tang-Hsun Tu
Boot Method File Format • *.doj , 由Visual DSP++編譯*.s, *.c產生的object檔案 • *.dxe , 由Linker連結產生執行檔 • *.ldr , 透過Loader轉換dxe成ldr • *.bin, 由Blackfin提供的cross-compiler編譯出的二元檔 • *.hex , 由Blackfin提供的轉換程式轉換成bf561可load檔案 National Taiwan University, Graduate Institute of Networking and Multimedia Tang-Hsun Tu
Boot Method Compiler / Linker / Loader National Taiwan University, Graduate Institute of Networking and Multimedia Tang-Hsun Tu
Boot Method Loader and Flash National Taiwan University, Graduate Institute of Networking and Multimedia Tang-Hsun Tu
Loader File Loader File National Taiwan University, Graduate Institute of Networking and Multimedia Tang-Hsun Tu
Loader File Loader File (*.ldr) National Taiwan University, Graduate Institute of Networking and Multimedia Tang-Hsun Tu
Loader File 10-byte Header File • Address(4 bytes) – the block will be booted within mem • Count(4 bytes) – number of bytes in the block • Flag(2 bytes) – block type and control commands National Taiwan University, Graduate Institute of Networking and Multimedia Tang-Hsun Tu
Loader File Example National Taiwan University, Graduate Institute of Networking and Multimedia Tang-Hsun Tu
Loader File Mult-DXE Loader National Taiwan University, Graduate Institute of Networking and Multimedia Tang-Hsun Tu
Loader File BF561 4-byte Global header National Taiwan University, Graduate Institute of Networking and Multimedia Tang-Hsun Tu
Loader File BF561 Mult-DXE Loader National Taiwan University, Graduate Institute of Networking and Multimedia Tang-Hsun Tu
Second Stage Loader National Taiwan University, Graduate Institute of Networking and Multimedia Tang-Hsun Tu
Second Stage Loader National Taiwan University, Graduate Institute of Networking and Multimedia Tang-Hsun Tu
Second Stage Loader Example section ("l2_shared") EX_INTERRUPT_HANDLER(A_ISR) { if(*pFIO0_FLAG_C & 0x0020) //SW 5 is pressed { //(0-> indicates load executable, 1-> DXE number) SECOND_STAGE_LOADER(0, 1); SECOND_STAGE_LOADER(1, 0);//(1-> execute the DXE) } else if(*pFIO0_FLAG_C & 0x0040) //SW 6 is pressed { //load the 2nd DXE in the boot stream SECOND_STAGE_LOADER(0, 2); SECOND_STAGE_LOADER(1, 0);//execute the 2nd DXE } } // end National Taiwan University, Graduate Institute of Networking and Multimedia Tang-Hsun Tu
Work 分工情況 National Taiwan University, Graduate Institute of Networking and Multimedia Tang-Hsun Tu
Conclusion • We can use the ldr file for booting from flash • To load two executables, SSL must be incorporated. National Taiwan University, Graduate Institute of Networking and Multimedia Tang-Hsun Tu
Further Work • Convert u-boot format(*.bin) to *.dxe format • Use SSL to manage two u-boots (one is for coreA and the other is for coreB) National Taiwan University, Graduate Institute of Networking and Multimedia Tang-Hsun Tu
~F&Q~ ~F&Q~ National Taiwan University, Graduate Institute of Networking and Multimedia Tang-Hsun Tu