northgeer wrote on Thursday, March 31, 2011:
My friend JM has found the solution.
The STM32 (V2) support package has the required CPU support for the STM32F107VC.
However, the STM32.hzq file can only be installed in the V2.0 Rowley compilers.
It can not be directly loaded into Crossworks V1.7.
If you download the Rowley V2.0 compiler 30 day evaluation, you can install this support package.
It unpacks the STM32.hzq file and puts the installed package files in the directory
E:\Documents and Settings\username\Local Settings\Application Data\Rowley Associates Limited\CrossWorks for ARM\packages\targets\STM32
(not the C:\Program Files\Rowley Associates Limited\CrossWorks for ARM 2.0\targets directory as I expected).
The STM32F107VC_MemoryMap.xml file can then be copied to the C:\Program Files\Rowley Associates Limited\\CrossWorks for ARM 1.7\targets\ST_STM32F10x directory.
This presumes that the STM32F10x CPU support has already been installed for v1.7 .
Other changes required to build…
1. One small change needs to be made to the STM32F107VC_MemoryMap.xml file.
One letter needs to be added.
A few lines from the end, change “RAM” to “SRAM” in the following line
<MemorySegment size=“0x10000” name=“RAM” start=“0x20000000”/>
2. Edit propertyGroups.xml in the targets directory to add a section for the STM32F107VC_MemoryMap.xml file, copying the format of the previous sections.
3. In the project settings under project->RTOSDemo->Property Groups File setting, point to your V1.7 propertyGroups.xml file.
4. In the project settings under project->RTOSDemo->Memory Map File setting, point to your STM32F107VC_MemoryMap.xml file.
I was able to compile the FreeRTOS demo with Rowley V1.7 with the above changes.
I still have the old V1.7 ST32F10x startup file, so I will probably have to change to the newer V2.0 ST32_Startup.s file to get it to load and run correctly since the F107 has additional interrupt vectors and other things that need to be defined.