IMX93 - Boot Cortex-M33 with Barebox

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

IMX93 - Boot Cortex-M33 with Barebox

84 次查看
jlablanche
Contributor I

Dear support team,

We are designing our custom board with an IMX9332C.

We chose not to use U-Boot as our bootloader, but Barebox instead, so sadly we cannot benefit from the work already done in uboot-imx. Our boot chain is as follows: TF-A → Barebox → Linux.
Versions: imx-atf lf-6.18.20-2.0.0, Barebox 2025.09.0 (custom board port), Linux 6.18.13.

We want to use the Cortex-M33 auxiliary core for our real-time-constrained features. The idea is to compile bare-metal code with the SDK, then load the resulting binary via the remoteproc framework from Linux.

I wrote and compiled a very simple C program that blinks an IO. When I load it with remoteproc, the framework reports that it has been loaded, but it does absolutely nothing. Whenever I stop it, it crashes.

My first guess was that the core wasn't correctly configured, so I dug into how u-boot prepares the M33 on NXP's FRDM reference board. I found that the M33 core has to be "prepared": its RAM must be zeroized, the watchdog configured, the TCM set up, etc. I ported some of these operations into my low-level initialization code in Barebox, but now when I load the code with remoteproc, it resets instantly.

At this point, I looked at the SRSR register to find the root cause of the reset, and the M33_REQ bit is set.

Looking at the documentation, this means a reset was requested by the Cortex-M33 itself.

I currently have no idea why this reset request is emitted; it isn't triggered anywhere in my own code.

Here are my questions:

Is there any documentation on the full requirements for "preparing" the M33?
What are the possible sources of a CM33_REQUEST reset ? Where could this come from?
Thank you.

0 项奖励
回复
0 回复数
%3CLINGO-SUB%20id%3D%22lingo-sub-2407033%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3EIMX93%20-%20%E4%BD%BF%E7%94%A8%20Barebox%20%E5%90%AF%E5%8A%A8%20Cortex-M33%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2407033%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E5%B0%8A%E6%95%AC%E7%9A%84%E6%8A%80%E6%9C%AF%E6%94%AF%E6%8C%81%E5%9B%A2%E9%98%9F%EF%BC%9A%3C%2FP%3E%3CP%3E%E6%88%91%E4%BB%AC%E6%AD%A3%E5%9C%A8%E8%AE%BE%E8%AE%A1%E4%B8%80%E6%AC%BE%E9%87%87%E7%94%A8%20IMX9332C%20%E7%9A%84%E5%AE%9A%E5%88%B6%E7%94%B5%E8%B7%AF%E6%9D%BF%E3%80%82%3C%2FP%3E%3CP%3E%E6%88%91%E4%BB%AC%E9%80%89%E6%8B%A9%E4%B8%8D%E4%BD%BF%E7%94%A8%20U-Boot%20%E4%BD%9C%E4%B8%BA%E5%BC%95%E5%AF%BC%E5%8A%A0%E8%BD%BD%E7%A8%8B%E5%BA%8F%EF%BC%8C%E8%80%8C%E6%98%AF%E4%BD%BF%E7%94%A8%20Barebox%EF%BC%8C%E5%9B%A0%E6%AD%A4%E5%BE%88%E9%81%97%E6%86%BE%EF%BC%8C%E6%88%91%E4%BB%AC%E6%97%A0%E6%B3%95%E5%8F%97%E7%9B%8A%E4%BA%8E%20uboot-imx%20%E4%B8%AD%E5%B7%B2%E7%BB%8F%E5%AE%8C%E6%88%90%E7%9A%84%E5%B7%A5%E4%BD%9C%E3%80%82%E6%88%91%E4%BB%AC%E7%9A%84%E5%90%AF%E5%8A%A8%E9%93%BE%E5%A6%82%E4%B8%8B%EF%BC%9ATF-A%20%E2%86%92%20Barebox%20%E2%86%92%20Linux%E3%80%82%3CBR%20%2F%3E%E7%89%88%E6%9C%AC%EF%BC%9Aimx-atf%20lf-6.18.20-2.0.0Barebox%202025.09.0%EF%BC%88%E8%87%AA%E5%AE%9A%E4%B9%89%E6%9D%BF%E7%AB%AF%E5%8F%A3%EF%BC%89%EF%BC%8CLinux%206.18.13%E3%80%82%3C%2FP%3E%3CP%3E%E6%88%91%E4%BB%AC%E5%B8%8C%E6%9C%9B%E4%BD%BF%E7%94%A8%20Cortex-M33%20%E8%BE%85%E5%8A%A9%E5%86%85%E6%A0%B8%E6%9D%A5%E5%AE%9E%E7%8E%B0%E5%AF%B9%E5%AE%9E%E6%97%B6%E6%80%A7%E8%A6%81%E6%B1%82%E8%BE%83%E9%AB%98%E7%9A%84%E5%8A%9F%E8%83%BD%E3%80%82%E5%85%B6%E6%80%9D%E8%B7%AF%E6%98%AF%E4%BD%BF%E7%94%A8%20SDK%20%E7%BC%96%E8%AF%91%E8%A3%B8%E6%9C%BA%E4%BB%A3%E7%A0%81%EF%BC%8C%E7%84%B6%E5%90%8E%E9%80%9A%E8%BF%87%20remoteproc%20%E6%A1%86%E6%9E%B6%E4%BB%8E%20Linux%20%E5%8A%A0%E8%BD%BD%E7%94%9F%E6%88%90%E7%9A%84%E4%BA%8C%E8%BF%9B%E5%88%B6%E6%96%87%E4%BB%B6%E3%80%82%3C%2FP%3E%3CP%3E%E6%88%91%E7%BC%96%E5%86%99%E5%B9%B6%E7%BC%96%E8%AF%91%E4%BA%86%E4%B8%80%E4%B8%AA%E9%9D%9E%E5%B8%B8%E7%AE%80%E5%8D%95%E7%9A%84%20C%20%E7%A8%8B%E5%BA%8F%EF%BC%8C%E5%AE%83%E5%8F%AF%E4%BB%A5%E4%BD%BF%20I%2FO%20%E9%97%AA%E7%83%81%E3%80%82%E5%BD%93%E6%88%91%E4%BD%BF%E7%94%A8%20remoteproc%20%E5%8A%A0%E8%BD%BD%E5%AE%83%E6%97%B6%EF%BC%8C%E6%A1%86%E6%9E%B6%E6%8A%A5%E5%91%8A%E8%AF%B4%E5%AE%83%E5%B7%B2%E7%BB%8F%E5%8A%A0%E8%BD%BD%EF%BC%8C%E4%BD%86%E5%AE%83%E5%8D%B4%E4%BB%80%E4%B9%88%E4%B9%9F%E6%B2%A1%E5%81%9A%E3%80%82%E6%AF%8F%E6%AC%A1%E6%88%91%E5%81%9C%E6%AD%A2%E5%AE%83%EF%BC%8C%E5%AE%83%E5%B0%B1%E4%BC%9A%E5%B4%A9%E6%BA%83%E3%80%82%3C%2FP%3E%3CP%3E%E6%88%91%E9%A6%96%E5%85%88%E7%8C%9C%E6%B5%8B%E6%98%AF%E6%A0%B8%E5%BF%83%E9%85%8D%E7%BD%AE%E4%B8%8D%E6%AD%A3%E7%A1%AE%EF%BC%8C%E6%89%80%E4%BB%A5%E6%88%91%E6%B7%B1%E5%85%A5%E7%A0%94%E7%A9%B6%E4%BA%86%20u-boot%20%E5%A6%82%E4%BD%95%E5%9C%A8%20NXP%20%E7%9A%84%20FRDM%20%E5%8F%82%E8%80%83%E6%9D%BF%E4%B8%8A%E5%87%86%E5%A4%87%20M33%E3%80%82%E6%88%91%E5%8F%91%E7%8E%B0%20M33%20%E5%86%85%E6%A0%B8%E5%BF%85%E9%A1%BB%E8%BF%9B%E8%A1%8C%E2%80%9C%E5%87%86%E5%A4%87%E2%80%9D%EF%BC%9A%E5%85%B6%20RAM%20%E5%BF%85%E9%A1%BB%E6%B8%85%E9%9B%B6%EF%BC%8C%E7%9C%8B%E9%97%A8%E7%8B%97%E5%BF%85%E9%A1%BB%E9%85%8D%E7%BD%AE%EF%BC%8CTCM%20%E5%BF%85%E9%A1%BB%E8%AE%BE%E7%BD%AE%E7%AD%89%E7%AD%89%E3%80%82%E6%88%91%E5%B0%86%E5%85%B6%E4%B8%AD%E4%B8%80%E4%BA%9B%E6%93%8D%E4%BD%9C%E7%A7%BB%E6%A4%8D%E5%88%B0%E4%BA%86%20Barebox%20%E7%9A%84%E5%BA%95%E5%B1%82%E5%88%9D%E5%A7%8B%E5%8C%96%E4%BB%A3%E7%A0%81%E4%B8%AD%EF%BC%8C%E4%BD%86%E7%8E%B0%E5%9C%A8%E5%BD%93%E6%88%91%E4%BD%BF%E7%94%A8%20remoteproc%20%E5%8A%A0%E8%BD%BD%E4%BB%A3%E7%A0%81%E6%97%B6%EF%BC%8C%E5%AE%83%E4%BC%9A%E7%AB%8B%E5%8D%B3%E9%87%8D%E7%BD%AE%E3%80%82%3C%2FP%3E%3CP%3E%E6%AD%A4%E6%97%B6%EF%BC%8C%E6%88%91%E6%9F%A5%E7%9C%8B%E4%BA%86%20SRSR%20%E5%AF%84%E5%AD%98%E5%99%A8%E4%BB%A5%E6%89%BE%E5%87%BA%20RESET%20%E7%9A%84%E6%A0%B9%E6%9C%AC%E5%8E%9F%E5%9B%A0%EF%BC%8C%E5%8F%91%E7%8E%B0%20M33_REQ%20%E4%BD%8D%E5%B7%B2%E8%AE%BE%E7%BD%AE%E3%80%82%3C%2FP%3E%3CP%3E%E6%9F%A5%E7%9C%8B%E6%96%87%E6%A1%A3%E5%8F%AF%E7%9F%A5%EF%BC%8C%E8%BF%99%E6%84%8F%E5%91%B3%E7%9D%80%20Cortex-M33%20%E6%9C%AC%E8%BA%AB%E8%AF%B7%E6%B1%82%E4%BA%86%E9%87%8D%E7%BD%AE%E3%80%82%3C%2FP%3E%3CP%3E%E6%88%91%E7%9B%AE%E5%89%8D%E5%AE%8C%E5%85%A8%E4%B8%8D%E7%9F%A5%E9%81%93%E4%B8%BA%E4%BB%80%E4%B9%88%E4%BC%9A%E5%8F%91%E5%87%BA%E8%BF%99%E4%B8%AARESET%E8%AF%B7%E6%B1%82%EF%BC%9B%E5%AE%83%E5%B9%B6%E6%B2%A1%E6%9C%89%E5%9C%A8%E6%88%91%E7%9A%84%E4%BB%A3%E7%A0%81%E4%B8%AD%E8%A2%AB%E8%A7%A6%E5%8F%91%E3%80%82%3C%2FP%3E%3CP%3E%E6%88%91%E7%9A%84%E9%97%AE%E9%A2%98%E5%A6%82%E4%B8%8B%EF%BC%9A%3C%2FP%3E%3CP%3E%E6%98%AF%E5%90%A6%E6%9C%89%E5%85%B3%E4%BA%8E%E2%80%9C%E5%87%86%E5%A4%87%E2%80%9DM33%E7%9A%84%E5%85%A8%E9%83%A8%E8%A6%81%E6%B1%82%E7%9A%84%E6%96%87%E6%A1%A3%EF%BC%9F%3CBR%20%2F%3E%20CM33_REQUEST%20RESET%20%E7%9A%84%E5%8F%AF%E8%83%BD%E5%8E%9F%E5%9B%A0%E6%9C%89%E5%93%AA%E4%BA%9B%EF%BC%9F%E8%BF%99%E7%A9%B6%E7%AB%9F%E6%98%AF%E4%BB%8E%E5%93%AA%E9%87%8C%E6%9D%A5%E7%9A%84%EF%BC%9F%3CBR%20%2F%3E%E8%B0%A2%E8%B0%A2%E3%80%82%3C%2FP%3E%3C%2FLINGO-BODY%3E