Увжаемый Bill, вас то я и ждал Файл *.S90 с этой п/п в проект включен, все компилится номально, без ошибок, на этапе линкера выдается вышеназванная ошибка, причем в *.map файле видно, линкер нужный файл взял, и расположил в сегменте CODE.
FILE NAME : D:\^/^a^/^4^&^3^ќProjects\AVR\BWR\Debug\Obj\checkCRC8.r90
PROGRAM MODULE, NAME : check_crc8
SEGMENTS IN THE MODULE
======================
CODE
Relative segment, address: CODE 00000054 - 00000073 (20 bytes), align: 1
Segment part 0. ROOT.
ENTRY ADDRESS REF BY
===== ======= ======
check_crc8 00000054
LOCAL ADDRESS
===== =======
CRCL 0000005A
ZERO 00000066
*************************************************************************
Заморчка какая-то, раньше всегда обходился или С или асмом.
И еще, почему:
>PS: передача параметров в Вашу функцию будет происходить через регистры r16, r17. Проверьте Вашу функцию еще раз.
Ведь в AVR034
Table 2. Placement and Parameters to C-functions
Function Parameter 1 Registers Parameter 2 Registers
func (char ,char ) R16 R20
func (char ,int ) R16 R20, R21
func (int ,long ) R16 ,R17 R20, R21, R22, R23
func (long ,long ) R16, R17, R18, R19 R20, R21, R22, R23
-
- Насчет передачи параметров. Тут дело в следующем. Bill(666 знак., 08.10.2004 10:56)