Hi to you all,
my setup:
IDE: MCUXpresso IDE v11.0.1 [Build 2563] [2019-09-01]
Board: LPC-Link2 w/ LPC4370 mcu
I'm exploring multicore projects, but I wonder how is the mcuxpresso support for this rather old hw.
Here's what I did:
What I notice is that simple M4 project periph_blinky is working just fine: I can debug it and see the led flash in my lpclink2.
The problem comes whit multicore projects.
I imported multicore_blinky_m4, multicore_blinky_m0app and multicore_blinky_m0sub. m0app and m0sub projects are giving me these warnings respectively:
Invalid project path: Include path not found (lpc_chip_43xx_m0/inc/config_m0app).
Invalid project path: Include path not found (lpc_chip_43xx_m0/inc/usbd).
and
Invalid project path: Include path not found (lpc_chip_43xx_m0/inc/config_m0app).
Invalid project path: Include path not found (lpc_chip_43xx_m0/inc/usbd).
I solved them by changing the path under properties/C/C++ Build/Settings/Tool Settings/MCU Assembler/General from:
"${workspace_loc:/lpc_chip_43xx_m0/inc/usbd}"
to
"${workspace_loc:/lpc_chip_43xx_m0/inc/usbd_rom}"
And from
"${workspace_loc:/lpc_chip_43xx_m0/inc/config_m0sub}"
to
"${workspace_loc:/lpc_chip_43xx_m0/inc/config_43xx_m0sub}"
Everything now compiles just fine, and I can start a debug session (I choose jtag for multicore).
As soon as I hit run after first breakpoint is reached i got an hard fault. PC point to M0Image_Boot() so I guess the problem is related to the boot of the core m0.
The code giving the error is:
/* Sanity check, see if base address and reset handler address resides in same region */
if ((m0_image_addr & 0xFFF00000) != ((*(unsigned long *) (m0_image_addr + 4)) & 0xFFF00000)) {
return -2;
}
Please find attached the screenshots of the faults tab and register tab.
Any idea on how to solve this?
Best,
Andrea
I imagine that you are encountering a long standing issue with the LPC43xx LPCOpen packages that their multicore examples are not proper MCUXpresso IDE multicore projects. You can find more details including a proper IDE multicore example at:
https://community.nxp.com/message/792775?commentID=792775#comment-792775
Regards,
MCUXpresso IDE Support
lpcxpresso_support
Here's my take on multicore project creation. It would be great if you could check and tell if here's anything wrong at least at first sight.
Thanks:)
Andrea
I think you should have no issue to work with the multicore project provided by LPCXpresso Support. It can run on MCUXpresso IDE v11.1.1 without issue.
So far as I know, there is no plan to have new version of lpcopen.
Best Regards
Jun Zhang
Hi ZhangJennie
I figured out how to properly create multicore projects for LPC43XX under MCUXpresso thanks, maybe I will post here a guide in future.
Unfortunately I'm still stuck on having the USB working on the M0SUB core. There is practically no documentation, nor any useful post here in the community.
You can look at my question here: https://community.nxp.com/thread/530166
it would be great if someone from the support could help with this.
Best,
Andrea
Hi
I just checked , your other question LPC43XX use m0sub with usb is handled by my colleague, he is checking this and will answer you.
Thanks,
Jun Zhang
lpcxpresso_support I was able to run and debug the project hosted at the link you sent.
I needed to change the flash driver to
LPC18_43_SPIFI_GENERIC.cfx
Because mcuxpresso was not able to find the other previously specified.
Now my goal is to define a procedure to build from scratch a multicore project in mcuxpresso than does the following:
- boots m0sub
- system timer periodically interrupts m4
- in the interrupt routine a signal is sent to m0sub, which is interrupted
- m0sub ISR toggles led 0
After all of this is working, debug included, I will upload the code on a public repo on github as well as document the project creation with a video. I would really like to clarify the whole process in order to help other people which struggle with this.
Can you help me with this?
Also, why is mcuxpresso oncluding LPCOpen 2.12 when the latest release is LPCOpen 3?
Best,
Andrea
Thank you lpcxpresso_support for the link.
I'm now using examples projects that I found in `/usr/local/mcuxpressoide-11.1.1_3241/ide/Examples/LPCOpen` as suggested by Jennie.
Are they meant to be used with MCUxpresso? In the videos I attached you can see the issues I get while trying to debug.
Best,
Andrea
Hi ZhangJennie,
thanks for the reply.
I downloaded and installed "MCUXpresso IDE v11.1.1 [Build 3241] [2020-03-02]" but unfortunately, again after fixing warnings, I got the exact same behavior.
Is there something I can do my self to fix this?
Best,
Andrea
Have you already rebuild lpc_chip_xxx and lpc_board_xxx libs before building the blink demo?
If not, you need do it first.
If you already did so, but still have problem, please send me a video of your whole process, I will check it on my side.
Have a nice day,
Jun Zhang
Hi ZhangJennie
I tried to clean and rebuild the projects, but unfortunately it doesn't help.
I read the docs (mcuxpresso ide user guide) and from my understanding to execute a multicore project (slave code download + release) I just need to launch debug for the m$ master code right?
Here's the video: Firefox Send
(could not upload using the "insert video" button)
Best,
Andrea
Hi ZhangJennie,
any news on your side? Some other tests I could do or info I could provide?
Best,
Andrea
I build and run the demo on my side, i didn't reproduce your issue. see my video attached. I use MCUXpresso IDE v11.1.0
I build all the libs shown in my video.
I would suggest you testing it on another computer to verify if the problem is on one computer.
Have a nice day,
Jun Zhang
Hi ZhangJennie,
I tried on a windows 10 machine, MCUXpresso v11.1.1 and the problem stays the same.
Here you can find the video (laggish because I had to remote-connect).
I tried to download mcuxpresso v 11.0.1 but was not able to find it. Could it be because we are using different releases (v11.0.1 and v11.1.1) that I have the problem?
Best,
Andrea
Hi ZhangJennie
Thanks a lot for your patience.
So I think MCUxpresso v11.1.1 should work for me also. I tried to delete the .launch as you did, but nothing changed.
One thing I noticed: your example is named "mc-sa_blinky_m4" while mine is "multicore_blinky_m4". Are we using the same LPCopen code? I downloaded mine from here and I think this is the latest available.
Best,
Andrea
I use demo under MCUXpresso IDE install folder:
C:\nxp\MCUXpressoIDE_11.1.1_3241\ide\Examples\LPCOpen
please try it.
Hi ZhangJennie,
I tried it and I'm able to debug and step through code on the M4.
One problem left is that I don't see the led blinking, and I know for sure the led itself is working since the single core blinky example works.
I now wonder if the m0app core is running.
I will make a video later as soon as I can. Do you see the led blinking by the way?
Best,
Andrea
Hi ZhangJennie
I made 2 videos, showing the errors I get as I try to debug m0sub or m0app: for the m0sub I can not halt execution, while for m0app I can not even launch the debug session. Isn't this example suppose to run from m0app? Maybe this is the reason I don't see the led blinking?
Here m0sub video, here m0app video.
I noticed that mc_sa_blinky_m4 is not configured for multicore? I'm a bit confused at this point :smileysad:
Thanks for the help! As I will figure out what is not working I will write down a post to explain everything:)
Best,
Andrea
This is a known issue of MCUXpresso 11.0.1. This problem has been fixed in v11.1.1. Please download the new version from here
MCUXpresso IDE|Eclipse-based Integrated Development Environment (IDE) | NXP
Have a nice day,
Jun Zhang