Я использую MPLAB v4.0.5 на своем Mac с компилятором XC16 v1.33. У меня есть два файла: thom5409_disc2_main_v001.s и thom5409_disc2_main_v001.c.
Следующий код был предоставлен, чтобы помочь нам начать работу, и другие студенты в моем классе смогли получить точно такой же код для сборки без изменений, поэтому я считаю, что это проблема с моей версией MPLAB или компилятором.
В общем, мой ассемблерный код выглядит так:
Когда я пытаюсь построить его, я получаю следующие ошибки:
multiple definition of '_counter'
и multiple definition of '_myAsmFunc'
Когда я удаляю строки в файле сборки, которые говорят .global _myAsmFunc
и .global _counter
Вместо этого я получаю следующие ошибки: undefined reference to '_main'
и undefined reference to '_myGlobalVar'
Я пытался отладить и найти решение для этого, но я не могу понять это. Как упоминалось ранее, другие одноклассники, использующие различные машины и версии как MPLAB, так и компилятора XC, смогли заставить его работать, поэтому я не думаю, что это проблема кода, но, возможно, мне придется немного изменить код для MPLAB или компилятор?