透過您的圖書館登入
IP:18.223.33.204
  • 學位論文

嵌入式系統之程式記憶體佈局

Program Memory Layout for Embedded Systems

指導教授 : 陳俊良

摘要


嵌入式系統程式開發者在開發程式時,往往需要依照硬體特殊的記憶體架構來分配程式可以使用的記憶體空間,尤以開發大型的程式時,分配記憶體對程式設計師來說,是一件複雜且單調乏味的工作,若能將之交由一套可以自動化分配記憶體空間的程式,對開發者來說,藉由減輕考慮程式的記憶體分配,可以縮短開發時程。 本論文將實作一個可以自動分配記憶體空間的系統,這套系統將以函式為單位來做空間分配,搭配一個輔助的流程架構,可以幫助程式設計師在撰寫好程式之後,不須花費額外心力去設定程式的空間分配。另外,我們使用的是GNU開源軟體,可以應用在多數的嵌入式系統程式開發上。 最後經由實驗,我們可以看到,程式碼的確能依照程式的行為而被配置到合適的記憶體空間,也證實了我們提出的方法的可行性。

並列摘要


When developing a program on an embedded system, programmers often need to allocate memory manually for each segment of codes because of the special hardware architecture. Especially for a large-scale program, it is really a complicated and tedious work. If there is a tool that can help programmers easily adapt codes to different memory blocks, by alleviating programmers’ consideration of program memory distribution, it will save a lot of time for development schedule. In this thesis, we will implement an automated memory allocating system which allocates memory spaces based on functions. By using this system and following a framework we proposed, programmer can write codes with no considering of space allotment and then have the codes mapping to appropriate memory blocks. On the other hand, our system is constructed on the use of GNU open source software; it can be applied to developments on many kinds of embedded system. Finally we can see that program codes are arranged on appropriate memory blocks by examining address of each memory access, which indirectly verifies the feasibility of the method we propose.

參考文獻


[14] Leland L. Beck, System Software: An Introduction to Systems Programming, Addison Wesley, 3rd Ed. 1996.
[1] Alfred V. Aho, Ravi Sethi, and Jeffrey D. Ullman, Compilers: Principles, Techniques, and Tools, Addison Wesley, 1st Ed., 1986.
[2] John R. Levine, Linkers & loaders, Morgan Kaufman, 1st Ed., 1999.
[3] “Assemblers, Linkers & Loaders” , http://cs.gmu.edu/~setia/cs365-S02/assembler.pdf
[4] “Tool Interface Standard (TIS) Executable and Linking Format (ELF) Specification Version 1.2”, TIS Committee, 1995.

延伸閱讀