Hi,
we have some questions relating new i.MX RT toolbox (we are new to this particular family of MCUs and the iMXRT toolbox).
1. The 'programming' model of iMXRT toolbox seems to be different from other MBDT toolboxes. For example, for S32K we have configuration blocks for toolchain, for specific peripherals and usually most of the configurations are done from the masks of the peripheral blocks also. In iMXRT toolbox we see in the docs that configurations are done via MCUXprresso. Why it's done this way ? Why it's so different from other NXP MBD Toolboxes ?
2. As we see only i.MX RT 1064 parts have 4MB of on-board flash memory. Other MCUs on EVK kits have attached external SPI memory. Can external memory on the EVK kits be used for models developed with iMXRT Toolbox ? What about external RAM on these evaluation kits ?
3. With S32K Toolbox we have a simple way of deploying our models and debugging them on custom boards: we can import the generated code as a project to the S32K Design Studio and then compile/load and debug from S32K Design Studio (it's standard procedure for us). Do we have some similar mechanism of deployment and debugging with iMXRT Toolbox ?
4. MCUXpresso has some 'additional' support for RT parts: like FreeRTOS support, eIQ library, some graphics libraries.
Are there any designed/recommended mechanisms for integration of the simulink models with these features ?
For example, we can use neural networks from Deep Learning Toolbox inside Simulink, but what if we want to use eIQ instead ?
Best regards
Maciek
已解决! 转到解答。
Hello Maciek,
Glad to see that you are interested in the i.MX RT toolbox. I hope the next will answer your questions.
1. This toolbox is integrating a new approach for custom target support of Simulink - there is no dedicated configuration block to specify the target, as is done for S32K, but the target is selected
from Model Settings -> Hardware Implementation. In the same panel, the user will see other target specific settings- like SDK used for code generation, Download method, etc.
For platform initialization - clock, pins, peripherals- the i.MX RT Toolbox is leveraging an existing tool within NXP, that is MCUX Configuration Tool that we consider will bring to the user an enriched experience in terms of platform and peripherals usage. This is a graphical tool(Eclipse based),easy to use and you can see while modifying in the UI the C code that will be generated, and , more important, is very well integrated with the SDK for the MCU targets.
The i.MX RT toolbox completes the application development circle and comes with blocks for, let's say, the action part of the peripheral: e.g reading from serial, write/read a GPIO pin etc.
The toolbox also integrates with the same MCU SDK used by the MCUX Configuration Tool.
2. The i.MX RT 1060 EVK has also an on-board QSPI flash similar with i.MX RT1064-EVK (I doubled checked in the reference design for both boards).
Default the application generated will be linked to run from the onboard QSPI flash (XIP execution).
The application is then written on the board using the OpenSDA Mass Storage Device feature, that is doing basically a flash programming when copy-paste-ing the application binary on the device driver mapped on your file system when the board is plugged in.
If you use other qspi flash devices, it might be that the OpenSDA MSD feature will not work but we offer also other application download option like JTAG and FlashLoader.
As for external RAM, we have some examples (LCD, Camera examples) that are placing the data sections in the SDRAM space and the SEMC controller is initialized from MCUX Configuration Tool - so using external RAM is done from linker files and MCUXConfig Tool.
3. Yes, it is possible to debug the generated project in MCUXpresso IDE. In target settings, under User paths, there is an option to export the generated projects to be compatible with MCUX IDE that can then be imported, build and debugged from IDE.
4. We don't have FreeRTOS integration support and at this moment and neither a procedure for this. That will require a special support in the toolbox.
As for eIQ and graphics libraries integration, the toolbox includes blocks for LCD, camera access, PXP usage. These can be used to generate part of the needed code, import it in MCUX IDE
and integrate the libraries on top of the simulink generated sources - but this is just an idea, not tested. This is the first release of the toolbox, we are interested to see how is received by the i.MX RT users and gather feedback. We have in plans an update next year with improvements, new features, and FreeRTOS can be one of them
Best regards,
Alexandra
Hello Maciek,
Glad to see that you are interested in the i.MX RT toolbox. I hope the next will answer your questions.
1. This toolbox is integrating a new approach for custom target support of Simulink - there is no dedicated configuration block to specify the target, as is done for S32K, but the target is selected
from Model Settings -> Hardware Implementation. In the same panel, the user will see other target specific settings- like SDK used for code generation, Download method, etc.
For platform initialization - clock, pins, peripherals- the i.MX RT Toolbox is leveraging an existing tool within NXP, that is MCUX Configuration Tool that we consider will bring to the user an enriched experience in terms of platform and peripherals usage. This is a graphical tool(Eclipse based),easy to use and you can see while modifying in the UI the C code that will be generated, and , more important, is very well integrated with the SDK for the MCU targets.
The i.MX RT toolbox completes the application development circle and comes with blocks for, let's say, the action part of the peripheral: e.g reading from serial, write/read a GPIO pin etc.
The toolbox also integrates with the same MCU SDK used by the MCUX Configuration Tool.
2. The i.MX RT 1060 EVK has also an on-board QSPI flash similar with i.MX RT1064-EVK (I doubled checked in the reference design for both boards).
Default the application generated will be linked to run from the onboard QSPI flash (XIP execution).
The application is then written on the board using the OpenSDA Mass Storage Device feature, that is doing basically a flash programming when copy-paste-ing the application binary on the device driver mapped on your file system when the board is plugged in.
If you use other qspi flash devices, it might be that the OpenSDA MSD feature will not work but we offer also other application download option like JTAG and FlashLoader.
As for external RAM, we have some examples (LCD, Camera examples) that are placing the data sections in the SDRAM space and the SEMC controller is initialized from MCUX Configuration Tool - so using external RAM is done from linker files and MCUXConfig Tool.
3. Yes, it is possible to debug the generated project in MCUXpresso IDE. In target settings, under User paths, there is an option to export the generated projects to be compatible with MCUX IDE that can then be imported, build and debugged from IDE.
4. We don't have FreeRTOS integration support and at this moment and neither a procedure for this. That will require a special support in the toolbox.
As for eIQ and graphics libraries integration, the toolbox includes blocks for LCD, camera access, PXP usage. These can be used to generate part of the needed code, import it in MCUX IDE
and integrate the libraries on top of the simulink generated sources - but this is just an idea, not tested. This is the first release of the toolbox, we are interested to see how is received by the i.MX RT users and gather feedback. We have in plans an update next year with improvements, new features, and FreeRTOS can be one of them
Best regards,
Alexandra