把ADS的文件放到RVDS2.2的工程里,make时出现invalid call from '~PRES8' function to 'REQ8'...
google加ARM网站,找到一段解释:
This RVDS/RVCT linker error is given where a stack alignment conflict is detected in object code. The "ABI for the ARM Architecture" demands that code maintains 8-byte stack alignment at its interfaces. This allows efficient use of LDRD and STRD instructions (in ARM Architecture 5TE and later) to access 8-byte-aligned "double" and "long long" data types.
Symbols like '~PRES8' and 'REQ8' are "Build Attributes" of the objects.
- PRES8 means the object PREServes 8-byte alignment of the stack.
- ~PRES8 means the object does NOT preserve 8-byte alignment of the stack (~ meaning NOT).
- REQ8 means the object REQuires 8-byte alignment of the stack.