Developing production code using Model-Based Design Toolbox for I.MX RT106x

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Developing production code using Model-Based Design Toolbox for I.MX RT106x

315 Views
JasonG
Contributor I

Hi there, 

We are currently developing a product using the I.MX RT106x. We require a second stage bootloader such as the Secure Bootloader (SBL) project and the ability to update firmware via CAN. It is also a requirement to have signed and encrypted firmware for our end product for security purposes. We have already created a bootloader and application that meets these requirements in C using MCUXpresso IDE. 

I have a few questions about how we could achieve these requirements while making use of the NXP Model-Based Design Toolbox for i.MX RT 1xxx Series. 

  1. What is the intended workflow for developing production-level code using the NXP Model-Based Design Toolbox and Embedded Coder? 
    1. Is the entire project created in Simulink? OR, is it more likely to be a hybrid approach where Simulink outputs the generated code to a directory and that code is included in an MCUXpresso IDE project? 
    2. If the entire project created in Simulink, how do we create a model that has a secondary bootloader with signed and encrypted binaries? 

Looking for advice from people who have achieve something similar previously and/or are familiar with Simulink Embedded Coder. 

Kind regards, 
J

0 Kudos
Reply
1 Reply

284 Views
brianmckay
Contributor III

Hi Jason,

The actual answer is probably "it depends". The most common workflow is to use SImulink + MBDT or algorithm development and upfront testing on a real processor. However, the code generated using Simulink and MBDT is very good in quality and performance - it can be used for production. 

In your case, I think you would use what we call Algorithm Export: you would use SImulink + MBDT for algorithm development and testing, and as you got closer to production, you would only generate code for your algorithm and import that into MCUXpresso for integration and deployment. Simulink is great for algorithm exploration and simulation, but it's probably not the ideal tool for the bootloader integration you mention. My take is that you probably should utilize a hybrid approach - that way you can leverage the various tools and packages where they are strongest.

HTH,

-Brian

 

0 Kudos
Reply