2015-06-05 58 views
1

我有一個beaglebone黑色,我想從頭開始在一個項目上工作。爲了調試和閃爍目的,我已經設置了flyswatter2。beaglebone黑色裸金屬編程

我可以有一個啓動代碼,理想情況下應該工作。但問題是,我不知道從哪個內存地址開始啓動黑客?以及我應該將我的代碼閃存到電路板內存中的什麼內存地址?

如果我知道我應該從哪裏開始啓動代碼的地方,那麼我可以在調試器的幫助下編寫啓動代碼,然後使用UART編程以獲得代碼進度。但我堅持了第一步。

請注意,我已閱讀ARM的AM335x技術參考手冊的第26章,其中討論了某些地址的公用RAM和ROM。但我仍然不確定從哪裏開始。

如果有人可以讓我知道,在地址0xXXXXXXX閃爍我的代碼將在啓動執行我的代碼,那麼我就可以把它從那裏。

預先感謝 -Ravi

回答

1

實際上Beaglebone黑色板被配置爲與任一外部的SD卡或內部的eMMC存儲器來引導,即事實上的是在PCB焊接一個MMC卡。

如果您在第26章看到了處理器的documentation它描述了引導過程,從文檔的所有這一部分,您將會對第26.1.5.7.6章中的BBB感興趣。最簡單的方法是以FAT格式格式化MMC(或內部eMMC),格式化後立即創建一個名爲「MLO」的文件。此文件是FAT文件系統中的第一個文件非常重要,因此請確保在格式化後立即複製該文件。

該文件是一個小頭,隨後以二進制格式應用程序。報頭具有以下格式(來自同一文檔中章節26.1.9.2):

  • 在偏移0,與圖像的大小的4個字節字。
  • 在偏移4,與您的圖片加載地址的4個字節的字。

然後,只需你的形象。

還有就是的Sitara處理器「理解」該文件,並執行該代碼的負載內的ROM碼。

不是一個簡單的程序裸機,但....

希望它能幫助。