TI中文支持网
TI专业的中文技术问题搜集分享网站

AM335X linux-3.14.43内核加载am335x-pm-firmware.elf文件失败

我下载了am335x最新的开发套件源码am335x-evm-sdk-src-01.00.00.03.tar.gz,里面内核是3.14.43版本,使用的编译器是gcc-linaro-arm-linux-gnueabihf-4.7-2013.03-20130313_linux,用buildroot制作了自己的文件系统。系统启动后,会出现以下问题:

[ 62.246381] remoteproc0:failed to load am335x-pm-firmware.elf
[ 62.252680] remoteproc0: powering up wkup_m3
[ 62.272740] wkup_m3 44d00000.wkup_m3: rproc_boot failed

如果挂载的是从SDK套件提供的文件系统,则没有该问题,然后我发现该文件在/lib/firmware下,于是我将整个firmware文件放在了我的文件系统相应目录下,但我自己的文件系统依然出现该问题。我想请教一下,这是不是制作文件系统的编译器不同导致的?如果我要使用自己的文件系统,应该如何获得相应的am335x-pm-firmware.elf文件呢?急,求回复,谢谢!

Jian Zhou:

应该是编译器不同导致的问题。请问为什么不用我们的SDK自带的文件系统呢?

Dechao Chen:

回复 Jian Zhou:

非常感谢您的回复!我们的产品早就做好了,在3.2版本的内核上运行,文件系统是根据我们的需求做的(搭建好了各种服务)。目前想升级一下内核版本,增加一些功能,用你们的文件系统需要修改的地方太多,很麻烦。您能告诉我如何得到符合自己的am335x-pm-firmware.elf文件吗?或者,如果没有这个文件,对系统有什么影响?

Jian Zhou:

回复 Dechao Chen:

这个文件是启动后加在到芯片内部M3用于做睡眠唤醒的,你的产品需要睡眠唤醒功能么?

你之前用的3.2内核,也是自己做的文件系统然后把这个elf文件从TI SDK的文件系统中拷贝过去的么?

Dechao Chen:

回复 Jian Zhou:

睡眠唤醒功能是需要的。3.2版本的用的是am335x-pm-firmware.bin文件,并且是直接编译到内核中的,很显然新版本的内核对这一块做了升级。话说TI有没有提供这方面的说明?我找了很久也没找到。如果是加载到M3的,那应该跟编译器无关吧?毕竟不是在内核里执行的,那我做的文件系统或者内核要怎么修改才能解决这个问题呢?

Jian Zhou:

回复 Dechao Chen:

那你现在编译你自己的文件系统用的是TI最新SDK里的交叉编译工具么?

mitch liu:

回复 Jian Zhou:

遇到类似问题:

我从 http://arago-project.org/git/projects/?p=am33x-cm3.git;a=shortlog;h=refs/heads/master 下载编译了,放进文件系统。

会出现resource table 解析出错,

[ 5.181791] remoteproc0: wkup_m3 is available[ 5.186971] remoteproc0: Note: remoteproc is still under development and considered experimental.[ 5.196379] remoteproc0: THE BINARY FORMAT IS NOT YET FINALIZED, and backward compatibility isn't yet guaranteed.[ 5.209364] remoteproc0: rproc_fw_config_virtio   //自己加的打印信息[ 5.214440] remoteproc0: can not find resource table   //自己加的打印信息[ 5.221569] remoteproc0: powering up wkup_m3[ 5.245536] wkup_m3 44d00000.wkup_m3: rproc_boot failed

static void rproc_fw_config_virtio(const struct firmware *fw, void *context){ struct rproc *rproc = context; struct resource_table *table; int ret, tablesz;

dev_err(&rproc->dev,"rproc_fw_config_virtio \n");//mitch 08 24 if (rproc_fw_sanity_check(rproc, fw) < 0) goto out;

/* look for the resource table */ table = rproc_find_rsc_table(rproc, fw, &tablesz); if (!table) { dev_err(&rproc->dev,"can not find resource table \n");//mitch 08 24 goto out; }

elf 文件编译后需要加其它信息吗?帮忙分析。

Dechao Chen:

回复 Jian Zhou:

用的交叉编译器和编译内核的一样,都是gcc-linaro-arm-linux-gnueabihf-4.7-2013.03-20130313_linux,这个是TI官方推荐的吧

zhifu chen:

回复 Jian Zhou:

您好,请问.ti-processor-sdk-linux-335x-evm-01.00.00.03/filesystem/tisdk-rootfs-image-am335x-evm.tar.gz 这个SDK包用的哪个版本的交叉编译器

 

Yaoming Qin:

回复 zhifu chen:

.ti-processor-sdk-linux-335x-evm-01.00.00.03 这个里面有自带的编译器,您给出的这个是个文件系统压缩包

zhifu chen:

回复 Yaoming Qin:

很抱歉,自带的编译器没有找到啊,还有编译器版本和QT库版本有关吗,谢谢啊

赞(0)
未经允许不得转载:TI中文支持网 » AM335X linux-3.14.43内核加载am335x-pm-firmware.elf文件失败
分享到: 更多 (0)