Dual-OS Project

21
1 Dual-OS Project National Taiwan University, Graduate Institute of Networking and Mu ltimedia Tang-Hsun Tu Presenter: Tang-Hsu n Tu Second Stage Loader for BF561

description

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. - PowerPoint PPT Presentation

Transcript of Dual-OS Project

Page 1: Dual-OS Project

1

Dual-OS Project Dual-OS Project

National Taiwan University, Graduate Institute of Networking and MultimediaTang-Hsun Tu

Presenter: Tang-Hsun Tu

Second Stage LoaderSecond Stage Loader─ for BF561─ for BF561

Page 2: Dual-OS Project

2

◇ Multi-DXE Loader

Outlines Outlines

○ Boot Method

◇ Loader Format

○ Loader

○ Environment

National Taiwan University, Graduate Institute of Networking and MultimediaTang-Hsun Tu

○ Conclusion

○ Further Work

◇ Second Stage Loader

Page 3: Dual-OS Project

3National Taiwan University, Graduate Institute of Networking and Multimedia

Tang-Hsun Tu

Page 4: Dual-OS Project

4National Taiwan University, Graduate Institute of Networking and Multimedia

Tang-Hsun Tu

Boot Method Boot Method

  Boot Mode

Page 5: Dual-OS Project

5National Taiwan University, Graduate Institute of Networking and Multimedia

Tang-Hsun Tu

1. *.doj , 由 Visual DSP++ 編譯 *.s, *.c 產生的 object 檔案

2. *.dxe , 由 Linker 連結產生執行檔

3. *.ldr , 透過 Loader 轉換 dxe 成 ldr

4. *.bin, 由 Blackfin 提供的 cross-compiler 編譯出的二元檔

5. *.hex , 由 Blackfin 提供的轉換程式轉換成 bf561 可 load檔案

  File Format

Boot Method Boot Method

Page 6: Dual-OS Project

6National Taiwan University, Graduate Institute of Networking and Multimedia

Tang-Hsun Tu

  Compiler / Linker / Loader

Boot Method Boot Method

Page 7: Dual-OS Project

7National Taiwan University, Graduate Institute of Networking and Multimedia

Tang-Hsun Tu

  Loader and Flash

Boot Method Boot Method

Page 8: Dual-OS Project

8National Taiwan University, Graduate Institute of Networking and Multimedia

Tang-Hsun Tu

Page 9: Dual-OS Project

9National Taiwan University, Graduate Institute of Networking and Multimedia

Tang-Hsun Tu

Loader File Loader File

  Loader File (*.ldr)

Page 10: Dual-OS Project

10National Taiwan University, Graduate Institute of Networking and Multimedia

Tang-Hsun Tu

1. Address(4 bytes) – the block will be booted within mem

2. Count(4 bytes) – number of bytes in the block

3. Flag(2 bytes) – block type and control commands

Loader File Loader File

  10-byte Header File

Page 11: Dual-OS Project

11National Taiwan University, Graduate Institute of Networking and Multimedia

Tang-Hsun Tu

Loader File Loader File

  Example

Page 12: Dual-OS Project

12National Taiwan University, Graduate Institute of Networking and Multimedia

Tang-Hsun Tu

Loader File Loader File

  Mult-DXE Loader

Page 13: Dual-OS Project

13National Taiwan University, Graduate Institute of Networking and Multimedia

Tang-Hsun Tu

  BF561 4-byte Global header

Loader File Loader File

Page 14: Dual-OS Project

14National Taiwan University, Graduate Institute of Networking and Multimedia

Tang-Hsun Tu

Loader File Loader File

  BF561 Mult-DXE Loader

Page 15: Dual-OS Project

15National Taiwan University, Graduate Institute of Networking and Multimedia

Tang-Hsun Tu

Second Stage Loader Second Stage Loader

Page 16: Dual-OS Project

16National Taiwan University, Graduate Institute of Networking and Multimedia

Tang-Hsun Tu

Second Stage Loader Second Stage Loader

Page 17: Dual-OS Project

17National Taiwan University, Graduate Institute of Networking and Multimedia

Tang-Hsun Tu

Second Stage Loader Second Stage Loader

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

  Example

Page 18: Dual-OS Project

18

Work Work

National Taiwan University, Graduate Institute of Networking and MultimediaTang-Hsun Tu

 分工情況

Page 19: Dual-OS Project

19

Conclusion Conclusion

National Taiwan University, Graduate Institute of Networking and MultimediaTang-Hsun Tu

1. We can use the ldr file for booting from flash

2. To load two executables, SSL must be incorporated.

Page 20: Dual-OS Project

20

Further Work Further Work

National Taiwan University, Graduate Institute of Networking and MultimediaTang-Hsun Tu

1. Convert u-boot format(*.bin) to *.dxe format

2. Use SSL to manage two u-boots (one is for coreA and the other is for coreB)

Page 21: Dual-OS Project

21National Taiwan University, Graduate Institute of Networking and Multimedia

Tang-Hsun Tu