Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
projects:ewp [2024/10/07 12:36] – created darron | projects:ewp [2024/10/30 02:54] (current) – [STM32CubeH7 Demo] darron | ||
---|---|---|---|
Line 1: | Line 1: | ||
====ewp.py: Create Makefile from IAR project==== | ====ewp.py: Create Makefile from IAR project==== | ||
+ | |||
+ | ewp.py converts as best it can IAR project files into GNU Makefiles. | ||
+ | |||
+ | ===Install=== | ||
+ | |||
+ | < | ||
+ | hg clone https:// | ||
+ | cd ewp.py | ||
+ | sudo make install | ||
+ | </ | ||
+ | |||
+ | ===STM32CubeH7 Demo=== | ||
+ | |||
+ | ==Fetch Source== | ||
+ | |||
+ | < | ||
+ | git clone --recursive https:// | ||
+ | </ | ||
+ | |||
+ | ==Enter Demo== | ||
+ | |||
+ | < | ||
+ | cd STM32CubeH7/ | ||
+ | </ | ||
+ | |||
+ | ==List Targets== | ||
+ | |||
+ | < | ||
+ | ewp.py . EWARM/ | ||
+ | STM32H745I_Discovery_CM4 | ||
+ | STM32H745I_Discovery_CM7 | ||
+ | </ | ||
+ | |||
+ | ==Create Makefiles== | ||
+ | |||
+ | < | ||
+ | ewp.py -p1 . EWARM/ | ||
+ | ewp.py -p1 . EWARM/ | ||
+ | </ | ||
+ | |||
+ | ==Fix Makefiles== | ||
+ | |||
+ | For each Makefile alter FIXME_CPU and FIXME_ABI for the CPU platform. | ||
+ | |||
+ | In these cases it is cortex-m4, cortex-m7 and hard. | ||
+ | |||
+ | Locate FIXME_LDS and ensure the correct linker script is selected and | ||
+ | then remove the FIXME_LDS text. | ||
+ | |||
+ | Change paths to GCC from IAR in the FreeRTOS source and includes entries. | ||
+ | |||
+ | ==Patch Source (optional)== | ||
+ | |||
+ | Apply this patch if you want the backlight to be disabled when running | ||
+ | the demo. | ||
+ | |||
+ | < | ||
+ | --- CM4/ | ||
+ | +++ CM4/ | ||
+ | @@ -74,6 +74,15 @@ | ||
+ | */ | ||
+ | | ||
+ | |||
+ | + __HAL_RCC_GPIOK_CLK_ENABLE(); | ||
+ | + GPIO_InitTypeDef GPIO_InitStruct = {0}; | ||
+ | + GPIO_InitStruct.Mode | ||
+ | + GPIO_InitStruct.Pull | ||
+ | + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_MEDIUM; | ||
+ | + GPIO_InitStruct.Pin | ||
+ | + HAL_GPIO_Init(GPIOK, | ||
+ | + HAL_GPIO_WritePin(GPIOK, | ||
+ | + | ||
+ | | ||
+ | | ||
+ | </ | ||
+ | |||
+ | ==Build== | ||
+ | |||
+ | < | ||
+ | make -f Makefile.cm4 | ||
+ | make -f Makefile.cm7 | ||
+ | </ | ||
+ | |||
+ | ==Combine HEX== | ||
+ | |||
+ | < | ||
+ | srec_cat build/ | ||
+ | </ | ||
+ | |||
+ | ==Program== | ||
+ | |||
+ | Program `Project.hex' | ||
+ | |||
+ | ==Notes== | ||
+ | |||
+ | The demo FreeRTOS_AMP_Dual_RTOS initially runs ok and then stalls. This is due | ||
+ | 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:// | ||
+ | */ |