IAR的学习
昨天遇到了问题,承蒙各位前辈指导,发现了问题的根源,并找到的解决方法首先
在工作空间下添加了这样的Group,
后来出现了这样的问题
这样的错误应该是没有选择stm32的型号
可是这几种单片机型号都试过了,都会编译出大量问题
不知道该怎么调了
在工程配置里面的C/C++选项中,定义芯片类型。最好还是把工程传上来。 顶顶顶顶顶顶顶顶 帮顶帮顶帮顶帮顶 同意,最好把工程发上来,大家编译一下 安 发表于 2015-11-12 09:24
在工程配置里面的C/C++选项中,定义芯片类型。最好还是把工程传上来。
多谢多谢
feiante 发表于 2015-11-12 09:47
同意,最好把工程发上来,大家编译一下
多谢多谢
在工程设置里面,defined symbols中添加如下定义:
STM32F10X_MD
USE_STDPERIPH_DRIVER
如下图所示:
安 发表于 2015-11-12 14:53
在工程设置里面,defined symbols中添加如下定义:
STM32F10X_MD
USE_STDPERIPH_DRIVER
添加了,如图所示
警告都没有了,
错误还有
我用IAR少,一般用MDK。重复定义,IAR库有这些定义。你把M3.H中的定义屏蔽掉就好了。下面这些函数。
/**
* @briefReturn the Process Stack Pointer
*
* @return ProcessStackPointer
*
* Return the actual process stack pointer
*/
//extern uint32_t __get_PSP(void);
/**
* @briefSet the Process Stack Pointer
*
* @paramtopOfProcStackProcess Stack Pointer
*
* Assign the value ProcessStackPointer to the MSP
* (process stack pointer) Cortex processor register
*/
//extern void __set_PSP(uint32_t topOfProcStack);
/**
* @briefReturn the Main Stack Pointer
*
* @return Main Stack Pointer
*
* Return the current value of the MSP (main stack pointer)
* Cortex processor register
*/
//extern uint32_t __get_MSP(void);
/**
* @briefSet the Main Stack Pointer
*
* @paramtopOfMainStackMain Stack Pointer
*
* Assign the value mainStackPointer to the MSP
* (main stack pointer) Cortex processor register
*/
//extern void __set_MSP(uint32_t topOfMainStack);
/**
* @briefReverse byte order in unsigned short value
*
* @paramvaluevalue to reverse
* @return reversed value
*
* Reverse byte order in unsigned short value
*/
//extern uint32_t __REV16(uint16_t value);
/**
* @briefReverse bit order of value
*
* @paramvaluevalue to reverse
* @return reversed value
*
* Reverse bit order of value
*/
//extern uint32_t __RBIT(uint32_t value);
/**
* @briefLDR Exclusive (8 bit)
*
* @param*addraddress pointer
* @return value of (*address)
*
* Exclusive LDR command for 8 bit values)
*/
//extern uint8_t __LDREXB(uint8_t *addr);
/**
* @briefLDR Exclusive (16 bit)
*
* @param*addraddress pointer
* @return value of (*address)
*
* Exclusive LDR command for 16 bit values
*/
//extern uint16_t __LDREXH(uint16_t *addr);
/**
* @briefLDR Exclusive (32 bit)
*
* @param*addraddress pointer
* @return value of (*address)
*
* Exclusive LDR command for 32 bit values
*/
//extern uint32_t __LDREXW(uint32_t *addr);
/**
* @briefSTR Exclusive (8 bit)
*
* @paramvaluevalue to store
* @param*addraddress pointer
* @return successful / failed
*
* Exclusive STR command for 8 bit values
*/
//extern uint32_t __STREXB(uint8_t value, uint8_t *addr);
/**
* @briefSTR Exclusive (16 bit)
*
* @paramvaluevalue to store
* @param*addraddress pointer
* @return successful / failed
*
* Exclusive STR command for 16 bit values
*/
//extern uint32_t __STREXH(uint16_t value, uint16_t *addr);
页:
[1]
2