7044|8

96

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

STM32F103ZCT6用KEIL调试怪事情 [复制链接]

这两天用STM32F103ZCT6开发碰到怪事了:
我用KEIL + JLINK II进行开发,在编译好以,下载到我的片上,
用反汇编看烧写下去的代码,会有一段区域是全1,也就是代码没有烧写成功,不知为什么1!!开始怀疑是这个扇区坏了,但用别一个程序进行调试,发现这个区域又是有数据的,轮到另一个区域是全1了!怪!!
现在也吃不准是硬件坏了,还是软件上那个地方有问题。
还望高手指教!
此帖出自stm32/stm8论坛

最新回复

香港齐芯科技有限公司提供STM32F103ZCT6,全国最低价格!深圳唐生13392865829  详情 回复 发表于 2011-12-27 15:29
点赞 关注
 

回复
举报

82

帖子

0

TA的资源

一粒金砂(中级)

沙发
 

程序运行正常吗?也许那一段本来就不用写数据。

                                  
此帖出自stm32/stm8论坛
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

板凳
 

运行不正常。这一段本来应该有数据的

    58:  
    59:  
    60:   u8 c,AckNum,ErrorNum,sum,BlockNum,code;  
    61:   u16 i; 
    62:   u32 *PData; 
0x08001B6A FFFFFFFF  DCD      0xFFFFFFFF   ; ? Undefined
    63:   AckNum = 0; 
0x08001B6E FFFFFFFF  DCD      0xFFFFFFFF   ; ? Undefined
    65:   sum = 0; 
0x08001B72 FFFFFFFF  DCD      0xFFFFFFFF   ; ? Undefined
    67:   InitVar(); 
0x08001B76 FFFFFFFF  DCD      0xFFFFFFFF   ; ? Undefined
    68:   FLASH_Unlock(); 
    69: /* Clear All pending flags */ 
0x08001B7A FFFFFFFF  DCD      0xFFFFFFFF   ; ? Undefined
    70:  FLASH_ClearFlag(FLASH_FLAG_BSY | FLASH_FLAG_EOP | FLASH_FLAG_PGERR | FLASH_FLAG_WRPRTERR); 
0x08001B7E FFFFFFFF  DCD      0xFFFFFFFF   ; ? Undefined
0x08001B82 FFFFFFFF  DCD      0xFFFFFFFF   ; ? Undefined
0x08001B86 FFFFFFFF  DCD      0xFFFFFFFF   ; ? Undefined
0x08001B8A FFFFFFFF  DCD      0xFFFFFFFF   ; ? Undefined
0x08001B8E FFFFFFFF  DCD      0xFFFFFFFF   ; ? Undefined
0x08001B92 FFFFFFFF  DCD      0xFFFFFFFF   ; ? Undefined
0x08001B96 FFFFFFFF  DCD      0xFFFFFFFF   ; ? Undefined
0x08001B9A FFFFFFFF  DCD      0xFFFFFFFF   ; ? Undefined
0x08001B9E FFFFFFFF  DCD      0xFFFFFFFF   ; ? Undefined
    75:   while(AckSucceed != 1)//握手 
    76:   { 
0x08001BA2 FFFFFFFF  DCD      0xFFFFFFFF   ; ? Undefined
0x08001BA6 FFFFFFFF  DCD      0xFFFFFFFF   ; ? Undefined
    78:     if(RecFail == 1) 
    79:     { 
0x08001BAA FFFFFFFF  DCD      0xFFFFFFFF   ; ? Undefined
0x08001BAE FFFFFFFF  DCD      0xFFFFFFFF   ; ? Undefined
    80:       break; 
    81:     } 
0x08001BB2 FFFFFFFF  DCD      0xFFFFFFFF   ; ? Undefined
0x08001BB6 FFFFFFFF  DCD      0xFFFFFFFF   ; ? Undefined
0x08001BBA FFFFFFFF  DCD      0xFFFFFFFF   ; ? Undefined
    88:       AckNum = 0; 
0x08001BBE FFFFFFFF  DCD      0xFFFFFFFF   ; ? Undefined
0x08001BC2 FFFFFFFF  DCD      0xFFFFFFFF   ; ? Undefined
0x08001BC6 FFFFFFFF  DCD      0xFFFFFFFF   ; ? Undefined
0x08001BCA FFFFFFFF  DCD      0xFFFFFFFF   ; ? Undefined
0x08001BCE FFFFFFFF  DCD      0xFFFFFFFF   ; ? Undefined
0x08001BD2 FFFFFFFF  DCD      0xFFFFFFFF   ; ? Undefined
    95:       USART_SendData(USART1, ACK); 
    96:     } 
0x08001BD6 FFFFFFFF  DCD      0xFFFFFFFF   ; ? Undefined
0x08001BDA FFFFFFFF  DCD      0xFFFFFFFF   ; ? Undefined
    97:     if(ErrorNum >= 5) 
    98:     { 
0x08001BDE FFFFFFFF  DCD      0xFFFFFFFF   ; ? Undefined
    99:       AckSucceed = 0; 
0x08001BE2 FFFFFFFF  DCD      0xFFFFFFFF   ; ? Undefined
0x08001BE6 FFFFFFFF  DCD      0xFFFFFFFF   ; ? Undefined
    75:   while(AckSucceed != 1)//握手 
    76:   { 
    77:     c = RecieveByte(); 
    78:     if(RecFail == 1) 
    79:     { 
0x08001BEA FFFFFFFF  DCD      0xFFFFFFFF   ; ? Undefined
0x08001BEE FFFFFFFF  DCD      0xFFFFFFFF   ; ? Undefined
    80:       break; 
    81:     } 
    82:     if(c == 0xa5) 
    83:     { 
    84:       AckNum++; 
    85:     } 
    86:     else 
    87:     { 
    88:       AckNum = 0; 
    89:       USART_SendData(USART1, NAK); 
    90:       ErrorNum++; 
    91:     } 
    92:     if(AckNum >= 5) 
    93:     { 
    94:       AckSucceed = 1; 
    95:       USART_SendData(USART1, ACK); 
    96:     } 
    97:     if(ErrorNum >= 5) 
    98:     { 
    99:       AckSucceed = 0; 
   100:       break; 
   101:     }     
   102:   }   
0x08001BF2 FFFFFFFF  DCD      0xFFFFFFFF   ; ? Undefined
   106:     RecFail = 0; 
   107:     //FlashAddr = 0x8002000; 
0x08001BF6 FFFFFFFF  DCD      0xFFFFFFFF   ; ? Undefined
0x08001BFA FFFFFFFF  DCD      0xFFFFFFFF   ; ? Undefined
0x08001BFE FFFF4604  DCD      0xFFFF4604   ; ? Undefined
   109:     if(RecFail == 1) 
0x08001C02 4838      LDR      r0,[pc,#224]  ; @0x08001CE4
0x08001C04 7800      LDRB     r0,[r0,#0x00]
0x08001C06 2801      CMP      r0,#0x01
0x08001C08 D100      BNE      0x08001C0C
   110:       break; 
0x08001C0A E09A      B        0x08001D42
   111:     sum = c; 
0x08001C0C 4627      MOV      r7,r4
   112:     FlashAddr = (u32)c << 24; 
0x08001C0E 0620      LSLS     r0,r4,#24
0x08001C10 4936      LDR      r1,[pc,#216]  ; @0x08001CEC
0x08001C12 6008      STR      r0,[r1,#0x00]
   113:     c = RecieveByte(); 
0x08001C14 F7FFFEE6  BL.W     RecieveByte (0x080019E4)
0x08001C18 4604      MOV      r4,r0
   114:     sum += c; 
0x08001C1A 4427      ADD      r7,r7,r4
   115:     FlashAddr += (u32)c << 16; 
此帖出自stm32/stm8论坛
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

4
 

估计你烧flash的算法没选对

                                 看看芯片型号和你选的算法对的上伐
此帖出自stm32/stm8论坛
 
 
 

回复

82

帖子

0

TA的资源

一粒金砂(初级)

5
 

烧写算法在哪里选啊?

                                 是不是Options for target 中的device 选择?这个我选对了的!
此帖出自stm32/stm8论坛
 
 
 

回复

89

帖子

0

TA的资源

一粒金砂(初级)

6
 
这个问题我也遇到了 不知道该怎么解决,能试的都已经想到了。
你的问题解决了吗? 能教教我怎么弄吗?
此帖出自stm32/stm8论坛
 
 
 

回复

51

帖子

0

TA的资源

一粒金砂(初级)

7
 
这个要学习下啊!以后遇到了就嫩马上解决。
LZ如果解决了就一定要告诉我们啊!
谢谢!
此帖出自stm32/stm8论坛
 
 
 

回复

62

帖子

0

TA的资源

一粒金砂(初级)

8
 
我已经整了三天了, 用simulator是正常的, 一用设备调试就出错。
快要疯了!
LZ如果搞定了  教教我啊!  
谢谢了!
此帖出自stm32/stm8论坛
 
 
 

回复

2

帖子

0

TA的资源

一粒金砂(中级)

9
 

STM32F103ZCT6

香港齐芯科技有限公司提供STM32F103ZCT6,全国最低价格!深圳唐生13392865829

STM32F103ZCT6.jpg (11.66 KB, 下载次数: 0)

产品图片

产品图片
此帖出自stm32/stm8论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表