Top Banner
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
21

1 Dual-OS Project National Taiwan University, Graduate Institute of Networking and Multimedia Tang-Hsun Tu Presenter: Tang-Hsun Tu Second Stage Loader.

Dec 15, 2015

Download

Documents

Alena Bradberry
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 1 Dual-OS Project National Taiwan University, Graduate Institute of Networking and Multimedia Tang-Hsun Tu Presenter: Tang-Hsun Tu Second Stage Loader.

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: 1 Dual-OS Project National Taiwan University, Graduate Institute of Networking and Multimedia Tang-Hsun Tu Presenter: Tang-Hsun Tu Second Stage Loader.

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: 1 Dual-OS Project National Taiwan University, Graduate Institute of Networking and Multimedia Tang-Hsun Tu Presenter: Tang-Hsun Tu Second Stage Loader.

3National Taiwan University, Graduate Institute of Networking and Multimedia

Tang-Hsun Tu

Page 4: 1 Dual-OS Project National Taiwan University, Graduate Institute of Networking and Multimedia Tang-Hsun Tu Presenter: Tang-Hsun Tu Second Stage Loader.

4National Taiwan University, Graduate Institute of Networking and Multimedia

Tang-Hsun Tu

Boot Method Boot Method

  Boot Mode

Page 5: 1 Dual-OS Project National Taiwan University, Graduate Institute of Networking and Multimedia Tang-Hsun Tu Presenter: Tang-Hsun Tu Second Stage Loader.

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: 1 Dual-OS Project National Taiwan University, Graduate Institute of Networking and Multimedia Tang-Hsun Tu Presenter: Tang-Hsun Tu Second Stage Loader.

6National Taiwan University, Graduate Institute of Networking and Multimedia

Tang-Hsun Tu

  Compiler / Linker / Loader

Boot Method Boot Method

Page 7: 1 Dual-OS Project National Taiwan University, Graduate Institute of Networking and Multimedia Tang-Hsun Tu Presenter: Tang-Hsun Tu Second Stage Loader.

7National Taiwan University, Graduate Institute of Networking and Multimedia

Tang-Hsun Tu

  Loader and Flash

Boot Method Boot Method

Page 8: 1 Dual-OS Project National Taiwan University, Graduate Institute of Networking and Multimedia Tang-Hsun Tu Presenter: Tang-Hsun Tu Second Stage Loader.

8National Taiwan University, Graduate Institute of Networking and Multimedia

Tang-Hsun Tu

Page 9: 1 Dual-OS Project National Taiwan University, Graduate Institute of Networking and Multimedia Tang-Hsun Tu Presenter: Tang-Hsun Tu Second Stage Loader.

9National Taiwan University, Graduate Institute of Networking and Multimedia

Tang-Hsun Tu

Loader File Loader File

  Loader File (*.ldr)

Page 10: 1 Dual-OS Project National Taiwan University, Graduate Institute of Networking and Multimedia Tang-Hsun Tu Presenter: Tang-Hsun Tu Second Stage Loader.

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: 1 Dual-OS Project National Taiwan University, Graduate Institute of Networking and Multimedia Tang-Hsun Tu Presenter: Tang-Hsun Tu Second Stage Loader.

11National Taiwan University, Graduate Institute of Networking and Multimedia

Tang-Hsun Tu

Loader File Loader File

  Example

Page 12: 1 Dual-OS Project National Taiwan University, Graduate Institute of Networking and Multimedia Tang-Hsun Tu Presenter: Tang-Hsun Tu Second Stage Loader.

12National Taiwan University, Graduate Institute of Networking and Multimedia

Tang-Hsun Tu

Loader File Loader File

  Mult-DXE Loader

Page 13: 1 Dual-OS Project National Taiwan University, Graduate Institute of Networking and Multimedia Tang-Hsun Tu Presenter: Tang-Hsun Tu Second Stage Loader.

13National Taiwan University, Graduate Institute of Networking and Multimedia

Tang-Hsun Tu

  BF561 4-byte Global header

Loader File Loader File

Page 14: 1 Dual-OS Project National Taiwan University, Graduate Institute of Networking and Multimedia Tang-Hsun Tu Presenter: Tang-Hsun Tu Second Stage Loader.

14National Taiwan University, Graduate Institute of Networking and Multimedia

Tang-Hsun Tu

Loader File Loader File

  BF561 Mult-DXE Loader

Page 15: 1 Dual-OS Project National Taiwan University, Graduate Institute of Networking and Multimedia Tang-Hsun Tu Presenter: Tang-Hsun Tu Second Stage Loader.

15National Taiwan University, Graduate Institute of Networking and Multimedia

Tang-Hsun Tu

Second Stage Loader Second Stage Loader

Page 16: 1 Dual-OS Project National Taiwan University, Graduate Institute of Networking and Multimedia Tang-Hsun Tu Presenter: Tang-Hsun Tu Second Stage Loader.

16National Taiwan University, Graduate Institute of Networking and Multimedia

Tang-Hsun Tu

Second Stage Loader Second Stage Loader

Page 17: 1 Dual-OS Project National Taiwan University, Graduate Institute of Networking and Multimedia Tang-Hsun Tu Presenter: Tang-Hsun Tu Second Stage Loader.

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: 1 Dual-OS Project National Taiwan University, Graduate Institute of Networking and Multimedia Tang-Hsun Tu Presenter: Tang-Hsun Tu Second Stage Loader.

18

Work Work

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

 分工情況

Page 19: 1 Dual-OS Project National Taiwan University, Graduate Institute of Networking and Multimedia Tang-Hsun Tu Presenter: Tang-Hsun Tu Second Stage Loader.

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: 1 Dual-OS Project National Taiwan University, Graduate Institute of Networking and Multimedia Tang-Hsun Tu Presenter: Tang-Hsun Tu Second Stage Loader.

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: 1 Dual-OS Project National Taiwan University, Graduate Institute of Networking and Multimedia Tang-Hsun Tu Presenter: Tang-Hsun Tu Second Stage Loader.

21National Taiwan University, Graduate Institute of Networking and Multimedia

Tang-Hsun Tu