返回该小组首页 回复主题
chuzhujun1985

chuzhujun1985

小组等级:     E币:227  (E币换礼)

#1楼主:问一下STM32 { .__ptr = __sfe( "CSTACK" ) }的具体意思是什么?

文章发表于:2008-08-28 05:04

首先不好意思说一声,由于以前没有用IAR,所以用起来问题多多啊?老是问STM32,还请诲人不倦吖!呵呵

问题即如题,不知道是什么意思?——SFE()是IAR的库函数吗?STM32可否将那个启动全过程详细介绍一下?我看了那些macro.s里面申明的那些比如void __WFI(void);void __WFE(void);什么的,在中断响亮里面没有定义啊?他们不是应该处于中断向量表的前十六个异常之一吗?憋得慌,还望明示!

pheavecn

   小组等级:    E币:121  (E币换礼)

#2

文章发表于:2008-09-01 09:46

__sfe是IAR的“段操作符”segment operator。表示取某个段的后一个字节的地址。

比如"CSTACK"定义为0x20001000~0x20001fff。那__sfe( "CSTACK" ) 就得到0x20002000这个值,刚好用来初始化msp堆栈指针。

注意使用segment operator前,需要先定义段名如下:

#pragma segment="CSTACK"

chuzhujun1985

   小组等级:    E币:227  (E币换礼)

#3

文章发表于:2008-09-01 14:42

多谢,明白一些了,但是还有个问题啊?

#pragma language="extended是什么意思呢"?extended不是申明是C++语言吗?是不是这样 ?

pheavecn

   小组等级:    E币:121  (E币换礼)

#4

文章发表于:2008-09-05 23:34

IAR对C语言作了很多扩展,但你可以选择使能扩展,或是遵循C语言标准。

比如允许变量在函数体中间声明,而不是必须在函数体开头声明等。

你也可以在Option->C/C++ Compiler选项卡里头的Language conformance处选择。

chuzhujun1985

   小组等级:    E币:227  (E币换礼)

#5

文章发表于:2008-09-06 13:37

谢谢,有长知识了!

chuzhujun1985

   小组等级:    E币:227  (E币换礼)

#6

文章发表于:2008-09-06 13:37

谢谢,有长知识了!

ford126

   小组等级:    E币:95  (E币换礼)

#7

文章发表于:2008-09-10 01:29

请教一下,我采用的是Ekstm32开发板,IAR,接到外部电路(液晶屏)后调试出现如下问题:The stack 'CSTACK' is filled to 100% (1024 bytes used out of 1024). The warning threshold is set to 90.%
不能继续调试

请问是怎么回事?如何解决?

总共 , 当前 /

快速回复主题--如果想加入编辑器功能,建议使用 [高级回复]

您目前还不是小组成员,请先加入

回复贴子区

用户名:    您没有注册?

密码:    忘记了密码?

内容:

  • DesignDesign
  • HTMLHTML

浏览该小组的用户还看过...

设计资源与分销

所有小组精华文章