STM32F107 ethernet demo rebuild problem
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2015-02-27 07:31 AM
Has any body rebuilt the STM32F107 LwIP TCP/IP demo (STSW-STM32026) in latest IAR EWARM toolchain ? The demo provided by ST still uses IAR 5.42 ( old one). This creates errors when I try to rebuild with IAR 6.30. Any suggestions ?
#ethernet #stm32f107- Labels:
-
Ethernet
-
STM32F1 Series
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2015-02-27 08:04 AM
Any suggestions ?
Read what the error messages tell you, and address/fix those issues? Start with the first ones and move forward incrementally. Start with the obvious project related issues like defines and include paths.Up vote any posts that you find helpful, it shows what's working..
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2015-02-27 10:24 AM
Hi Clive1, thanks for your quick reply & interest. Let us talk about errors I get !
Earlier I noticed that it concerned with only core_cm3.h file so I replaced it with new one . Then if I rebuild the same I get following errors - Error[Pe065]: expected a '';'' C:\ST projects\stsw-stm32026-TCPIP\STM32F107_ETH_LwIP_V1.0.0\Libraries\CMSIS\Core\CM3\core_cm3.h 896 The code is - /** \brief Set Priority Grouping This function sets the priority grouping field using the required unlock sequence. The parameter PriorityGroup is assigned to the field SCB->AIRCR [10:8] PRIGROUP field. Only values from 0..7 are used. In case of a conflict between priority grouping and available priority bits (__NVIC_PRIO_BITS) the smallest possible priority group is set. \param [in] PriorityGroup Priority grouping field */ static __INLINE (cursor is here
)void NVIC_SetPriorityGrouping(uint32_t PriorityGroup) { uint32_t reg_value; uint32_t PriorityGroupTmp = (PriorityGroup & (uint32_t)0x07); /* only values 0..7 are used */ reg_value = SCB->AIRCR; /* read old register configuration */ reg_value &= ~(SCB_AIRCR_VECTKEY_Msk | SCB_AIRCR_PRIGROUP_Msk); /* clear bits to change */ reg_value = (reg_value | ((uint32_t)0x5FA << SCB_AIRCR_VECTKEY_Pos) | (PriorityGroupTmp << 8)); /* Insert write key and priorty group */ SCB->AIRCR = reg_value; } As this is core CMSIS file, I do not think there is an error ! What is your opinion ? Well, I also appeal to ST people to change the demo files so that it can be rebuilt without any errors with latest & not so latest version of IAR. ( the demos are of 2009 !) Thanks.- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2015-02-27 11:58 AM
Well, I also appeal to ST people to change the demo files so that it can be rebuilt without any errors with latest & not so latest version of IAR. ( the demos are of 2009 !)
Isn't this really IAR's problem, they after all released an IDE incapable of compiling projects from an earlier version? Do they offer a migration guide? Or support? A compatibility check box? I'd look at how the __INLINE macro is defined.
Up vote any posts that you find helpful, it shows what's working..
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2015-02-28 12:27 AM
__INLINE define in file core_cm3.h
........
#elif defined ( __ICCARM__ )
#define __ASM __asm /*!< asm keyword for IAR Compiler */
#define __INLINE inline /*!< inline keyword for IAR Compiler. Only available in High optimization mode! */
#define __STATIC_INLINE static inline
......
I added the macro __INLINE to my project function and it works without compiler errors with IAR EWARM 7
Check the compiler options settings dialog