當你的eLua開發板上電時會發生下面的事情:shell
- 平臺初始化代碼被執行。這些代碼作一些低檔次的啓動工做,複製ROM到RAM,清空BSS區域,設置堆棧指針而後跳轉到main函數。
- main函數作的第一件事情就是調用特定平臺的初始化函數(platform_int),此函數必須徹底初始化平臺而後返回一個值。這個值能夠是PLATFORM_OK若是調用初始化成功的話,失敗的話會返回PLATFORM_ERR。若是返回PLATFORM_ERR,main函數會進入一個死循環。
- 而後初始化剩下的系統,ROM文件系統,XMODEM等。
- 若是 /rom/autorun.lua(一個在ROM文件系統的Lua文件)存在的話,此文件會被執行,當執行後返回,或者找不到此文件的話,那麼啓動過程會進入下一步。
- 若是啓動被設置成標準的並且shell被編譯進鏡像文件的話,它會啓動,缺乏shell時,一個標準的Lua解釋器會開始啓動。
- 若是啓動被設置成「luarpc」,一個rpc服務器將會開始運行。
水平有限,若有錯誤,給出指正。