Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
projects:ewp [2024/10/07 12:38] darronprojects:ewp [2024/10/30 02:54] (current) – [STM32CubeH7 Demo] darron
Line 2: Line 2:
  
 ewp.py converts as best it can IAR project files into GNU Makefiles. ewp.py converts as best it can IAR project files into GNU Makefiles.
 +
 +===Install===
 +
 +<code>
 +hg clone https://hg.kewl.org/pub/ewp.py
 +cd ewp.py
 +sudo make install
 +</code>
  
 ===STM32CubeH7 Demo=== ===STM32CubeH7 Demo===
Line 7: Line 15:
 ==Fetch Source== ==Fetch Source==
  
 +<code>
 git clone --recursive https://github.com/STMicroelectronics/STM32CubeH7 git clone --recursive https://github.com/STMicroelectronics/STM32CubeH7
 +</code>
  
 ==Enter Demo== ==Enter Demo==
  
 +<code>
 cd STM32CubeH7/Projects/STM32H745I-DISCO/Applications/FreeRTOS/FreeRTOS_AMP_RTOS_BareMetal/ cd STM32CubeH7/Projects/STM32H745I-DISCO/Applications/FreeRTOS/FreeRTOS_AMP_RTOS_BareMetal/
 +</code>
  
-==List Projects==+==List Targets==
  
 +<code>
 ewp.py . EWARM/Project.ewp ewp.py . EWARM/Project.ewp
 STM32H745I_Discovery_CM4 STM32H745I_Discovery_CM4
 STM32H745I_Discovery_CM7 STM32H745I_Discovery_CM7
 +</code>
  
 ==Create Makefiles== ==Create Makefiles==
  
 +<code>
 ewp.py -p1 . EWARM/Project.ewp STM32H745I_Discovery_CM4 > Makefile.cm4 ewp.py -p1 . EWARM/Project.ewp STM32H745I_Discovery_CM4 > Makefile.cm4
 ewp.py -p1 . EWARM/Project.ewp STM32H745I_Discovery_CM7 > Makefile.cm7 ewp.py -p1 . EWARM/Project.ewp STM32H745I_Discovery_CM7 > Makefile.cm7
 +</code>
  
 ==Fix Makefiles== ==Fix Makefiles==
Line 40: Line 56:
 the demo. the demo.
  
 +<code>
 --- CM4/Src/main.c.orig 2024-10-07 13:22:39.704687900 +0100 --- CM4/Src/main.c.orig 2024-10-07 13:22:39.704687900 +0100
 +++ CM4/Src/main.c      2024-10-07 13:24:31.570592100 +0100 +++ CM4/Src/main.c      2024-10-07 13:24:31.570592100 +0100
Line 57: Line 74:
    BSP_LED_Init(LED1);    BSP_LED_Init(LED1);
    BSP_LED_Init(LED2);    BSP_LED_Init(LED2);
 +</code>
  
 ==Build== ==Build==
  
 +<code>
 make -f Makefile.cm4 make -f Makefile.cm4
 make -f Makefile.cm7 make -f Makefile.cm7
 +</code>
  
 ==Combine HEX== ==Combine HEX==
  
 +<code>
 srec_cat build/STM32H745I_Discovery_CM7/STM32H745I_Discovery_CM7.hex -Intel build/STM32H745I_Discovery_CM4/STM32H745I_Discovery_CM4.hex -Intel -out Project.hex -Intel srec_cat build/STM32H745I_Discovery_CM7/STM32H745I_Discovery_CM7.hex -Intel build/STM32H745I_Discovery_CM4/STM32H745I_Discovery_CM4.hex -Intel -out Project.hex -Intel
 +</code>
  
 ==Program== ==Program==
  
-Program with STM32CubeProgrammer+Program `Project.hex' with STM32CubeProgrammer (attempt using OpenOCD failed and needs investigation).
  
 ==Notes== ==Notes==
  
-The demo FreeRTOS_AMP_Dual_RTOS initially runs ok and then stalls so it would appear +The demo FreeRTOS_AMP_Dual_RTOS initially runs ok and then stalls. This is due 
-to be buggy. FreeRTOS_AMP_RTOS_BareMetal works fine.+to newlib memcpy causing an MPU unaligned memory hard fault. 
 + 
 +The FreeRTOS_AMP_RTOS_BareMetal demo works fine. 
 + 
 +/* 
 +A work-in-progress port using this script can be found [[https://hg.kewl.org/pub/Ampere/|here]]. 
 +*/