I am currently evaluating MCUXpressoIDE and IAR, please see the code structure of same example:
(Left: from MCUXpresso-IDE Right: from IAR )
As can be seen, code structure from MCUXpresso-IDE is cumbersome and confusing. For example:
* folders "CMSIS, drivers, utilities" are not seen in IAR.
* what files are critical (to be modified) for developing our own application?
Can somebody explain the code structure from MCUXpresso-IDE, by comparing to IAR?
Thanks!
Jerry
Hello,
From the description it is not clear how the projects were created, but from the directory names visible in the screenshot I think that the project on left was imported to the MCUXpresso IDE and the one on right was opened directly from the SDK package. Some details about the difference:
1. Examples imported to MCUXpresso IDE are cloned as a standalone project - all source files, drivers, middleware, etc. used in the example are copied into the project folder.
2. Examples opened from the project files available directly inside the SDK package (in the boards\{board} sub-directories), does not contain all the SDK source files. Instead, they are just linking the files from the SDK package using relative paths. That's done to minimize size of the package. You can clone projects from SDK packages to standalone projects using for example Project Generator available in MCUXpresso Config Tools|NXP.
Regards,
Lukas
That is a decision made by whoever created the example. There is no specific reason that IAR and LPCXpresso (or any other IDE) need to be significantly different.
Really? I am not talking about the distribution of files in different folders, but there are much more files from MCUXpresso-IDE than from IAR.
I'm not familiar with this SDK, but it looks to me as if it has been put together in a lazy way for MCUXpresso. For example, there is no need to have CMSIS sources in the project - it would normally be supplied in a project (library) and your main project would link with it. I think you will find that IAR has the same files (it has to, right?) but have been organised into different projects.
Maybe this is because MCUXpresso is a new product and they have not caught up with IAR, which has been shipping for a long time.
But as I said, there is no fundamental reason why it has to be structures like this. It is the decision of the people shipping the software, and nothing to do with the IDE.