I recently migrated to the latest version of MCUXpresso (11.8) and the SDK(2.14).
I had been developing around the LPC55S16 (which is the core of the NXP development board). However, we decided to us the LPC5516 (non-secure) instead. I started to set up a new project for the LPC5516, but the clocks, pins and peripherals tools found in MCUXpresso report that they do not support the selected processor (See attached image). Is this for real? Why is the secure version supported and not the non-secure version? Is there any solution to overcome this?
Thanks.
@Alice_Yang, I could use additional help with this as it relates to trustzone.
I have the latest MCUxpresso, and latest SDK (which updates FreeRTOS as well). I was able to get my existing MCUXpresso workspace/project/configuration converted to the new MCU (LPC5516). I was even able to get my IAR project to build after some modifications.
My problem is that my code wants to throw an exception when performing its initial task context - pretty much identical to what is detailed here:
FreeRTOS Cortex M33 NTZ, without MPU - Kernel - FreeRTOS Community Forums
I did get past my initial issue by following the issue in the above link, only to fault further down the line.
I do not need Trustzone. I evaluated my SECURE_BOOTCFG register and TSM_IMAGE_TYPE is set to 0x0, which means the trustzone configuration is "taken from application image header". So I must assume that something persists from my original selection of the LPC55S16 that is enabling trustzone. Can you please tell me how to make sure trustzone is turned off?
@Alice_Yang Unfortunately, I don't know what code to remove. I had already removed the files that I associated with Trustzone from IAR project (casper, hashcrupt, prince, puf). What source file controls the status found in the "application image header" associated with the current setting of TZM_IMAGE_TYPE?
Thanks.
@JK_265 ,
I never used the "S" part of the LPC55xx processors so all I can say is that I never configured the trust zone in the first place for my projects.
Though when I configured my recent project, I noticed that FreeRTOS comes in two different flavours for this device:
I assume that you are using the non_trustzone port for the LPC5516 part, aren't you?
Best regards,
Daniel
Yeah, "just delete the related code.".
I doubt that this comment is of any help.
So it appears that part of my problem was that there were two projects in my workspace. One for the LPC5514 and one for LPC5516. It seems that the 14 does not work with any of the tools, and the 16 works with pins and clocks but not peripherals. Is that accurate?
Hello @JK_265
From your screenshot, it seems your project is for lpc55s16:
How about creating a new project based on lpc5516, then check peripherals function.
I tested on my side, there is no problem:
BR
Alice
Hi @Alice_Yang.
Regarding your observation:
Yes, the project was initially opened based on my previously configuration for the S16.
However, at this point I have added the proper SDK and modified the MCU:
However, I have not saved the updated .MEX file, so perhaps this is a caching issue?
Even the online 'exploratory tools' for the micro does not offer the peripheral configuration option.
Pins Tool | MCUXpresso SDK Builder (nxp.com)
Thanks.
Hi @Alice_Yang.
Yes, you are correct that a brand new project behaves OK, but there seems to be a caveat.
If there is a previously existing project in the workspace, a new project being created seems to automatically pull in the configuration of the existing project which might lead to issues.
So, what is the recommended way to migrate my LPC55S16 project to an LPC5516 project without losing my configuration? I have done extensive modifications of clocks, pins, and peripherals and really do not want to have to redo all that work.
Thanks.
I have an email from you indicating that the project I sent you was for a LPC5526.
However, I have not sent you a project. I can only assume that you have confused me with someone else.
Thanks.