1 dual-os project national taiwan university, graduate institute of networking and multimedia...
TRANSCRIPT
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
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
4National Taiwan University, Graduate Institute of Networking and Multimedia
Tang-Hsun Tu
Boot Method Boot Method
Boot Mode
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
6National Taiwan University, Graduate Institute of Networking and Multimedia
Tang-Hsun Tu
Compiler / Linker / Loader
Boot Method Boot Method
7National Taiwan University, Graduate Institute of Networking and Multimedia
Tang-Hsun Tu
Loader and Flash
Boot Method Boot Method
9National Taiwan University, Graduate Institute of Networking and Multimedia
Tang-Hsun Tu
Loader File Loader File
Loader File (*.ldr)
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
11National Taiwan University, Graduate Institute of Networking and Multimedia
Tang-Hsun Tu
Loader File Loader File
Example
12National Taiwan University, Graduate Institute of Networking and Multimedia
Tang-Hsun Tu
Loader File Loader File
Mult-DXE Loader
13National Taiwan University, Graduate Institute of Networking and Multimedia
Tang-Hsun Tu
BF561 4-byte Global header
Loader File Loader File
14National Taiwan University, Graduate Institute of Networking and Multimedia
Tang-Hsun Tu
Loader File Loader File
BF561 Mult-DXE Loader
15National Taiwan University, Graduate Institute of Networking and Multimedia
Tang-Hsun Tu
Second Stage Loader Second Stage Loader
16National Taiwan University, Graduate Institute of Networking and Multimedia
Tang-Hsun Tu
Second Stage Loader 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
18
Work Work
National Taiwan University, Graduate Institute of Networking and MultimediaTang-Hsun Tu
分工情況
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.
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)