timer0 无法开启的问题
帮客户咨询:芯片型号为:STC8A8K64D4
uart 接收数据,写入isp 区和ap 区,执行了 eeprom 后,使用ISP_EraseSector(i); 后面,timer0 就不能开启了,请问是什么原因呢?
请各位大神帮忙看看,还需要提供什么资料呢?
深圳国芯人工智能有限公司-工具软件https://www.stcai.com/gjrj
可以试试把TIMER0优先级开高一点
STC8A8K64D4是IAP芯片
要问问客户下载时设置的EEPROM有多大
过大,有机会在擦除时把代码区数据也擦掉
分析测试发现:ISP代码区除了 启动地址 之外。还有02 E7 0902 EA 10 这些是否就是ISP代码区 的中断向量表。 除了启动地址外,我清除了这个区域,程序timer0 就异常了。
这个0区域数据是否可以调整到指定的位置?
是不是BOOT也使用了T0(退出后没有清理初始化),APP需要完整初始化 LINK MAP OF MODULE:.\obj\ISP_Last4K (ISP_STC8G_STC8H)
TYPE BASE LENGTH RELOCATION SEGMENT NAME
-----------------------------------------------------
* * * * * * * D A T A M E M O R Y * * * * * * *
REG 0000H 0008H ABSOLUTE "REG BANK 0"
0008H 0018H *** GAP ***
BIT 0020H.0 0000H.7 UNIT ?BI?UART_USER
0020H.7 0000H.1 *** GAP ***
IDATA 0021H 0001H UNIT ?STACK
* * * * * * *X D A T A M E M O R Y* * * * * * *
XDATA 0000H 0004H ABSOLUTE
XDATA 0004H 0463H UNIT ?XD?ISP_STC8G_STC8H
XDATA 0467H 0139H UNIT ?XD?UART_USER
XDATA 05A0H 00CAH UNIT _XDATA_GROUP_
XDATA 066AH 000CH UNIT ?XD?_TX_DEC_U16?ISP_STC8G_STC8H
XDATA 0676H 000AH UNIT ?XD?_TX_HEX_U16?ISP_STC8G_STC8H
XDATA 0680H 0006H UNIT ?XD?_UART1_CONFIG?ISP_STC8G_STC8H
XDATA 0686H 0006H UNIT ?XD?_STR2INT?ISP_STC8G_STC8H
XDATA 068CH 0006H UNIT ?XD?_DELAY_MS?ISP_STC8G_STC8H
0692H 195EH *** GAP ***
XDATA 1FF0H 0004H ABSOLUTE
1FF4H 0008H *** GAP ***
XDATA 1FFCH 0004H ABSOLUTE
BL51 BANKED LINKER/LOCATER V6.22 01/13/202517:38:33PAGE 2
* * * * * * * C O D E M E M O R Y * * * * * * *
CODE 0000H 0003H ABSOLUTE
0003H 0008H *** GAP ***
CODE 000BH 0003H ABSOLUTE
000EH 0005H *** GAP ***
CODE 0013H 0003H ABSOLUTE
0016H CFEAH *** GAP ***
CODE D000H 034CH UNIT ?C?LIB_CODE
CODE D34CH 0289H UNIT ?PR?_XMODEMUARTPROG?ISP_STC8G_STC8H
CODE D5D5H 0232H UNIT ?CO?ISP_STC8G_STC8H
CODE D807H 01CFH UNIT ?PR?MAIN?ISP_STC8G_STC8H
CODE D9D6H 01A3H UNIT ?PR?FSLMAINPROCESS?ISP_STC8G_STC8H
CODE DB79H 019CH UNIT ?PR?_WRITEDATATOFLASH?ISP_STC8G_STC8H
CODE DD15H 0194H UNIT ?PR?WRITE3BYTEBOOTCODE?ISP_STC8G_STC8H
CODE DEA9H 016FH UNIT ?PR?WRITECHECKSUM?ISP_STC8G_STC8H
CODE E018H 00D8H UNIT ?PR?_UART1_CONFIG?ISP_STC8G_STC8H
CODE E0F0H 00BEH UNIT ?PR?JUMPTOAPPLICATION?ISP_STC8G_STC8H
CODE E1AEH 008CH UNIT ?C_C51STARTUP
我如何 可以把0 区域的数据(除开启动地址外) 挪走? 可能是擦除了重映射的中断向量
提供完整工程文件 都说了 EEPROM 范围不能设太大
过大,有机会在擦除时把代码区数据也擦掉
你还直接设到64k
页:
[1]
2