Я новичок в C и в микроконтроллерах, и я пытаюсь учиться, воспроизводя проекты, которые я нахожу в сети.
Здесь у меня есть проект, созданный на том же оборудовании, что и у меня (PIC32MX534F064H), и я в основном транслирую синтаксис из mikroC в используемый мной компилятор микрочипа (XC32 v1.34). Я использую MPLab IDE X для этого.
В этом проекте я пытаюсь определить большой (32000) вектор целых чисел без знака, и компилятор выдает мне ошибку, которую я интерпретирую, как если бы вектор был слишком большим для устройства. Это не так, поскольку этот проект работал на том же оборудовании, но в mikroC.
Я попытался уменьшить размер вектора, вектор размером 3200 компилируется отлично, так что я думаю, что размер этого вектора, а не синтаксис.
Я часами гуглял, заглядывал в таблицу данных и обнаружил, что для небольших фото существует особый способ создания больших массивов, но для PIC32 нет документации по этому поводу.
Итак, когда я определяю свой вектор вот так
#include <p32xxxx.h>
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include <xc.h>
#include <plib.h>
signed int data[32000];
Компилятор бросает это в меня
nbproject/Makefile-impl.mk:39: recipe for target '.build-impl'
failed /Applications/microchip/xc32/v1.34/bin/bin/gcc/pic32mx/4.5.2/../../../..
/bin/xc32-ld: dist/default/production/LED.X.production.elf section
`.bss' will not fit in region `kseg1_data_mem'
/Applications/microchip/xc32/v1.34/bin/bin/gcc/pic32mx/4.5.2/../../../..
/bin/xc32-ld: Link terminated due to previous error(s).
прямо сейчас, я не знаю, что мне следует делать дальше, поэтому ... любая помощь приветствуется.
EDIT
Моя информация действительно была неверной, аппаратное обеспечение было обновлено для обработки такого вектора, и я не знал об этом. спасибо за ваш ответ