IIC EEPROM读取解析
1. 编译错误处理(这里可以忽略)
在解压包解压了程序后,直接编译,出现如下错误。
*** WARNING L14: INCOMPATIBLE MEMORY MODEL
MODULE: .\EZUSB.LIB (RESUME)
MODEL: SMALL
*** WARNING L14: INCOMPATIBLE MEMORY MODEL
MODULE: .\EZUSB.LIB (DISCON)
MODEL: SMALL
*** WARNING L14: INCOMPATIBLE MEMORY MODEL
MODULE: .\EZUSB.LIB (EZREGS)
MODEL: SMALL
*** WARNING L14: INCOMPATIBLE MEMORY MODEL
MODULE: .\EZUSB.LIB (GET_STRD)
MODEL: SMALL
*** ERROR L102: EXTERNAL ATTRIBUTE MISMATCH
SYMBOL: PSTRINGDSCR
MODULE: .\EZUSB.LIB (GET_STRD)
*** WARNING L14: INCOMPATIBLE MEMORY MODEL
MODULE: .\EZUSB.LIB (DELAY)
MODEL: SMALL
*** ERROR L107: ADDRESS SPACE OVERFLOW
SPACE: CODE
SEGMENT: ?C_INITSEG
LENGTH: 16BFH
*** ERROR L107: ADDRESS SPACE OVERFLOW
SPACE: CODE
SEGMENT: ?C_INITSEG
LENGTH: 16BFH
*** ERROR L120: CONTENT BELONGS TO ERRONEOUS SEGMENT
SEGMENT: ?C_INITSEG
MODULE: periph.obj (PERIPH)
*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL
SYMBOL: PSTRINGDSCR
MODULE: .\EZUSB.LIB (GET_STRD)
ADDRESS: 0B27H
*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL
SYMBOL: PSTRINGDSCR
MODULE: .\EZUSB.LIB (GET_STRD)
ADDRESS: 0B29H
*** ERROR L120: CONTENT BELONGS TO ERRONEOUS SEGMENT
SEGMENT: ?C_INITSEG
MODULE: firmware.obj (FIRMWARE)
*** ERROR L119: REFERENCE MADE TO ERRONEOUS SEGMENT
SEGMENT: ?C_C51STARTUP
MODULE: E:\SOFTWAREINSTALL\PROJECT\KEIL_FOR_51\C51\LIB\C51L.LIB (?C_INIT)
ADDRESS: 0838H
*** ERROR L120: CONTENT BELONGS TO ERRONEOUS SEGMENT
SEGMENT: ?C_INITSEG
MODULE: E:\SOFTWAREINSTALL\PROJECT\KEIL_FOR_51\C51\LIB\C51L.LIB (?C_INIT)
面对错误,首先是百度了下,甚至还FQgoogle,好多说是keil为不完全版本,只能编译2kB的程序,超出会报错overflow,给出的方案是
方案一:下载完整版keil,重装试一下。
方案二:对图 1中的箭头位置进行修改,在这里看出,方案一不适用。
图 1 修改配置
按照方案二试着修改(各种实验修改)配置后,warming消除了,但是对error