Ещё раз собрал с нуля проект. В нём следующие файлы:
1) start.c - мой исходник
2)xlcd_my.h - модифицированный под мой контроллер заголовочный библиотеки. Изменены только назначения пинов.
3)p24hj64gp502.h
4)libp24hj64gp502-coff.a - сама библиотека
5)p24hj64gp502.gld - скрипт линкера.
Выдача компилера\линкера:
..\start\start.c: In function 'main':
..\start\start.c:29: warning: unused variable 'chAstate'
..\start\start.c: In function '_T1Interrupt':
..\start\start.c:110: warning: PSV model not specified for '_T1Interrupt';
assuming 'auto_psv' this may affect latency
..\start\start.c: In function '_SPI1Interrupt':
..\start\start.c:150: warning: PSV model not specified for '_SPI1Interrupt';
assuming 'auto_psv' this may affect latency
Executing: "C:\Program Files\Microchip\mplabc30\v3.25\bin\pic30-gcc.exe" -mcpu=24HJ64GP502 "start.o" "C:\Program Files\Microchip\mplabc30\v3.25\lib\PIC24H\libp24HJ64GP502-coff.a" -o"my.cof" -Wl,--script="..\..\Program Files\Microchip\mplabc30\v3.25\support\PIC24H\gld\p24HJ64GP502.gld",--defsym=__MPLAB_BUILD=1,--defsym=__MPLAB_DEBUG=1,-Map="my.map",--report-mem
Microchip MPLAB C30 License Manager Version v3_25 (Build Date Oct 11 2010).
Copyright © 2008 Microchip Technology Inc. All rights reserved.
The MPLAB C30 license has expired.
Options have been disabled due to expired license
Visit
http://www.microchip.com/ to purchase a new key.
Program Memory [Origin = 0x200, Length = 0xaa00]
section address length (PC units) length (bytes) (dec)
------- ------- ----------------- --------------------
.text 0x200 0x90 0xd8 (216)
.const 0x290 0x18 0x24 (36)
.text 0x2a8 0x180 0x240 (576)
.dinit 0x428 0x8 0xc (12)
.isr 0x430 0x2 0x3 (3)
Total program memory used (bytes): 0x34b (843) 1%
Data Memory [Origin = 0x800, Length = 0x2000]
section address alignment gaps total length (dec)
------- ------- -------------- -------------------
.nbss 0x800 0 0x8 (8)
Total data memory used (bytes): 0x8 (8) <1%
Dynamic Memory Usage
region address maximum length (dec)
------ ------- ---------------------
heap 0 0 (0)
stack 0x808 0x1ff8 (8184)
Maximum dynamic memory (bytes): 0x1ff8 (8184)
start.o(.text+0xba): In function `main':
C:\a\my_prj\..\start\start.c:95: undefined reference to `OpenXLCD'
start.o(.text+0xbe):C:\a\my_prj\..\start\start.c:96: undefined reference to `WriteCmdXLCD'
start.o(.text+0xc2):C:\a\my_prj\..\start\start.c:97: undefined reference to `putsXLCD'
start.o(.text+0xc6):C:\a\my_prj\..\start\start.c:98: undefined reference to `SetDDRamAddr'
start.o(.text+0xca):C:\a\my_prj\..\start\start.c:99: undefined reference to `putsXLCD'
Link step failed.