IAR堆栈溢出的问题

捷芬哥   2008-7-2 22:30 楼主
                                 以前看到有人提过,感到好奇

回复评论 (5)

不是软件的问题

                                 我发现问题了,不是软件的问题,是我CPU烧不进去程序了,不知道为什么,无论怎么烧只要拔掉电源一上电又回复原来的程序,DX知道为啥么?我四块板子+开发板都这样了,去别人那里烧也是烧不进去,我不可能一下子把板子全烧了啊
点赞  2008-7-3 07:52

看看map文件,是否所有代码被分配到Flash中

                                  
点赞  2008-7-3 07:59

回香水

现在感觉不单单是软件问题,因为我例程1个字没改往开发板里都下不进去了。。。现在就是怀疑STM的FLASH被锁定了,导致我无法下载。。

下面是例程的map
                ****************************************
                *                                      *
                *      SEGMENTS IN ADDRESS ORDER       *
                *                                      *
                ****************************************


SEGMENT              SPACE    START ADDRESS   END ADDRESS     SIZE  TYPE  ALIGN
=======              =====    =============   ===========     ====  ====  =====
INTVEC                             08000000 - 080000EB          EC   rel    2
ICODE                              080000EC - 0800014F          64   rel    2
DIFUNCT                                 08000150                     rel    2
CODE                               08000150 - 08001413        12C4   rel    2
INITTAB                            08001414 - 0800142B          18   rel    2
DATA_ID                                 0800142C                     dse    0
DATA_C                             0800142C - 080014A2          77   rel    2
DATA_I                                  20000000                     dse    0
DATA_Z                             20000000 - 2000005A          5B   rel    2
CSTACK                             2000005C - 2000085B         800   rel    2

                ****************************************
                *                                      *
                *        END OF CROSS REFERENCE        *
                *                                      *
                ****************************************

 5 140 bytes of CODE  memory
 2 139 bytes of DATA  memory
   143 bytes of CONST memory

Errors: none
Warnings: none

点赞  2008-7-3 08:33

先用ISP程序把片擦了再下载程序

                                 有些应用程序下载到STM32时会造成不能重新下载程序。调试程序时可以用RAM调试。若用user FLASH方式调试时最好在main的开头语句写一段10秒左右的例i=i之类的语句(不要访问端口等)。这个时候您就有10秒左右给STM32上电并下载程序的时间了,祝好运。
点赞  2008-7-3 10:39

楼上的说法不好理解啊

main开始语句前的10秒左右给STM32上电并下载程序?用IAR调试,只要DEBUG了,程序就已经下到片子里面了,上电时间就更不好理解了,楼上的还能解释解释啊。
点赞  2008-7-7 17:13
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复