2013-11-26 42 views
1

在過去的幾天裏,我發現SAM-BA不僅可以讀/寫flash/ram,而且還可以用作bootloader。我的問題是,如何知道應該在哪裏放置程序,以便SAM-BA可以在初始引導序列後運行它?我無法在任何作爲文檔提供的pdf中找到這些信息。SAM-BA加載的程序的入口地址是什麼?

我發現了亞當皮爾斯的博客文章,並得到一個鏈接腳本,將程序與RAM相鏈接。現在RAM內存在0x00200000,但入口點在0x00202000處鏈接 - 解釋說我們需要爲SAM-BA留下「一些」內存。

爲什麼0x2000字節?我怎樣才能確定它是否是正確的地址,我在哪裏可以找到一些信息來確認這一點?

+0

起始地址將是設備特定的,您使用的是什麼設備?大多數設備都有關聯的特定於設備的SAM-BA應用筆記。 – Clifford

+0

我正在使用Atmel的AT91SAM7X256。我試圖在幾個地方查找它,但無濟於事。我無法在uC數據表中找到任何信息,也沒有在SAM-BA用戶指南中找到任何信息。我將不勝感激在哪裏可以找到這個信息。 – Bart

+0

我在AT91SAM CAN Bootloader中發現了一個簡短註釋: SAM-BA Boot4CAN將自己複製到SRAM中,並使用一塊內部SRAM來存儲變量和堆棧。因此,他的用戶區開始於地址0x202_000。 這就是它。 – Bart

回答

0

這是在the datasheet.

21.5硬件和軟件約束

SAM-BA啓動將自身複製到SRAM單元21並使用變量和堆棧內部SRAM塊。 用戶代碼的剩餘可用大小爲122880字節,用於 SAM7x512,57344字節用於SAM7X256和24576字節用於SAM7X128。

該文檔中的表21-4顯示所有三個設備的用戶區起始地址是0x202000。

+0

謝謝,我一定錯過了。 – Bart

相關問題