Линкер не хватает ПЗУ - PullRequest
       23

Линкер не хватает ПЗУ

0 голосов
/ 16 апреля 2020

Я изо всех сил пытаюсь исправить следующую ошибку

** Error 71 "FilePath\$linker.c" Line 3(8,14): Out of ROM, A segment or the program is too large MAIN Seg 000C6-03CBE, 0C3E left, need 00DA2 Seg 00000-00002, 0000 left, need 00DA2 Reserved Seg 00004-00006, 0004 left, need 00DA2 Seg 00008-000C4, 0000 left, need 00DA2 Reserved

Это было вызвано тем, что я переместил функции из Main. c, так как я унаследовал код и все был в основном. c кроме нескольких функций, которые были в некоторых заголовочных файлах, но других *. c файлов в проекте нет.

Из того, что я смог выяснить, это причина по крайней мере, одной функцией, использующей более одной страницы в ПЗУ. Я уже попробовал следующие предложения:

  • Разбить функции на более мелкие функции
  • Оптимизировать код, чтобы было меньше кода, где это возможно

Так что мой вопросы:

  • Должен ли я просто поместить все это обратно в main, чтобы не нужен компоновщик? (это определенно не идеально для меня)
  • Если я разбью его на более мелкие *. c файлы, будет ли это иметь какой-либо эффект?
  • Могу ли я попробовать еще что-нибудь?
...