簡體   English   中英

Remote Proc無法加載FreeRTOS Elf

[英]Remote Proc fails to load FreeRTOS Elf

我正在使用FreeRTOS的此端口,並將其加載到OMAP4430中的Cortex-M3上。 使用遠程proc框架可以正常工作,我可以使用RPMsg與之通信。

但是,有時rproc無法加載elf並給出以下錯誤:

rproc remoteproc1: bad phdr da 0x0 mem 0x10310
rproc remoteproc1: Failed to load program segments: -22
rproc remoteproc1: rproc_boot() failed -22

當elf文件的大小太大時,似乎會發生這種情況:當大小為377331字節時,就會發生這種情況,但是當我只是刪除一堆打印語句並將大小減小到342563字節時,就不會發生這種情況。

我已經將錯誤消息跟蹤到了這段代碼: http : //lxr.free-electrons.com/source/drivers/remoteproc/remoteproc_elf_loader.c?v=3.9#L188 似乎rproc_da_to_va無法在內存中找到足夠大的段來容納ELF。

如何確保有足夠的內存來容納ELF的大小? 我可以告訴內核我特別想要為這種事情預分配某個區域嗎? 有什么方法可以確保我的ELF的這一部分保持較小?

謝謝!

確保FreeRTOS配置常量configTEXT_SIZEconfigDATA_SIZE與您的鏈接描述文件所要求的數量一致。 例如,如果您的鏈接描述文件包含

MEMORY
{
  TEXT (rwx) : ORIGIN = 0x00000000, LENGTH = 1M
  DATA (rwx) : ORIGIN = 0x80000000, LENGTH = 1M
}

那么您應該將configTEXT_SIZEconfigDATA_SIZE設置為0x100000

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM