ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
28 марта
1138523
Peter_M (14.10.2021 11:23, просмотров: 896)
Компилирую проект на dsPIC33EP64GS (MPLAB X 5.50, компиляторы от xc16-ld разных версий от 1.41 до 1.70), линковщик выдает ошибку 

": Link Error: Cannot access symbol (_M_state+476) with file register addressing. Value must be less than 8192. Suggest large-data model."

Переменная, на которую ругается линковщик создана и используется в ассемблерном файле (проект на С, но ассемблерным кодом) вот так


.global misc, bss

M_state: .space 2


Памяти данных должно хватить


Project Type: Application - Configuration: default
Device
dsPIC33EP64GS504
 Checksum: 0x02CD
 CRC32: Hex file unavailable 
Packs
dsPIC33E-GS_DFP (1.3.91)
Compiler Toolchain
XC16 (v1.41) [C:\Program Files (x86)\Microchip\xc16\v1.41\bin]
Production Image: Optimization: gcc 1
 Device support information: dsPIC33E-GS_DFP (1.3.91) 
Memory
Data 8,192 (0x2000) bytes
Data Used: 57.9%
Data Used: 4,742 (0x1286) Free: 3,450 (0xD7A)
Program 22,208 (0x56C0) words
Program Used: 29.5%
Program Used: 6,561 (0x19A1) Free: 15,647 (0x3D1F)
Debug Tool
 PICkit 4: BUR184653112
Debug Resources
Program BP Used: 1  Free: 7
Data BP Used: 0  Free: 3
Data Capture BP: No Support
Unlimited BP (S/W): No Support

До dsPIC33EP64GS в проекте был dsPIC33EP32GS, может где-то почистить нужно за ним?


Модель данных Large

xc16-ld 1.41 (B)

Default Code Model: Small
Default Data Model: Large
Default Scalar Model: Small



Подскажите, в чём я ошибся?

Всё забыл уже, простите (((