Template:M4 LINUX DEMO: Difference between revisions

From Variscite Wiki
(Create M4_LINUX_DEMO Template)
 
(Make AN5317 show on MX8M machines)
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
<includeonly>
<includeonly>
== Running a demo from Linux ==
{{#ifeq: {{#urlget:title}} | Zephyr |
=== Running a demo from Linux ===
---- |
== Running a demo from Linux ==  
}}


The Linux remoteproc framework can be used to load the Cortex {{#var:CORTEX_M_TYPE}} firmware from Linux userspace.
The Linux remoteproc framework can be used to load the Cortex {{#var:CORTEX_M_TYPE}} firmware from Linux userspace.
{{#switch: {{#var:HARDWARE_NAME}}
{{#switch: {{#var:HARDWARE_NAME}}
| DART-MX8M-PLUS =
| DART-MX8M-PLUS
| VAR-SOM-MX8M-NANO
| DART-MX8M-MINI
| DART-MX8M =
{{Note|'''Note:''' As of 7 October 2024, [https://www.nxp.com/docs/en/application-note/AN5317.pdf NXP Application Note AN5317] states the following:<br><br>
{{Note|'''Note:''' As of 7 October 2024, [https://www.nxp.com/docs/en/application-note/AN5317.pdf NXP Application Note AN5317] states the following:<br><br>
On i.MX 8M platforms, "remoteproc" stops only the Cortex-M CPU, not the Cortex-M system. Therefore, any in-flight Cortex-M bus transactions would hang after the CPU is halted and this can only be resolved with a full SoC reset. It is not recommended to stop the Cortex-M7 CPU in a production system. If the system must stop the Cortex-M7 CPU, reload the image and restart it. Then, the Cortex-M7 CPU must be in the WFI state and have no external access to the Cortex-M7 TCM memory through eDMA or other similar transactions. A possible solution is to implement a handshake between the Cortex-M and Cortex-A CPUs to confirm that the Cortex-M CPU is safe to stop or reset.}}
On i.MX 8M platforms, "remoteproc" stops only the Cortex-M CPU, not the Cortex-M system. Therefore, any in-flight Cortex-M bus transactions would hang after the CPU is halted and this can only be resolved with a full SoC reset. It is not recommended to stop the Cortex-M7 CPU in a production system. If the system must stop the Cortex-M7 CPU, reload the image and restart it. Then, the Cortex-M7 CPU must be in the WFI state and have no external access to the Cortex-M7 TCM memory through eDMA or other similar transactions. A possible solution is to implement a handshake between the Cortex-M and Cortex-A CPUs to confirm that the Cortex-M CPU is safe to stop or reset.}}
Line 62: Line 69:
}}
}}


{{#ifeq: {{#urlget:title}} | MCUXpresso |
{{note|For Yocto Dunfell and newer, this process can be simplified using /etc/remoteproc/variscite-rproc-linux<br>
{{note|For Yocto Dunfell and newer, this process can be simplified using /etc/remoteproc/variscite-rproc-linux<br>
Please refer to the Yocto Scripts section below for more information}}
Please refer to the Yocto Scripts section below for more information}}
{{MCUXPRESSO_Yocto_Scripts_Demo}}
{{MCUXPRESSO_Yocto_Scripts_Demo}}
}}
</includeonly>
</includeonly>

Latest revision as of 20:47, 20 March 2025