Перейти к содержанию
    

Перехожу с Keil на Visual Studio
Компилирую, вижу вот такую ошибку.

На сколько понял, она возникает, когда не хватает или памяти, или в дерево проекта не добавлен какой-то файл.

А как понять-то , чего не хватает ?!  Ничего же не написано !  И что делать ?

Заранее спасибо за помощь.

 

 

 

 

дурацкая ошибка.jpg

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Поставьте лучше VS на аглицком, а то так и будут нестыковки между сообщениями и интерфейсом

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ошибка 100% из-за нехватки FLASH . 
Во-первых она есть при компиляции Debug и нет при Release.
Во-вторых исчезает если удалить часть кода.
В-третьих могу вызвать такую же ошибку, объявив большой массив в RAM


Смотрю окно "вывод" , смотрю файл log
Но там ничего, что бы намекало на нехватку памяти !
Неужели среда не умеет сказать такую простую вещь ???? И нужно догадываться самому ??? 

 

Вывод.jpg

GSM-09.log

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

VS вообще не при делах.

Смотрите настройки проекта в VisualGDB

В логе написано конкретно

 make: *** No rule to make target `main.c', needed by `Debug/main.o'.  Stop.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вижу.  И это возникает именно при нехватке памяти.  Куда смотреть в настройках, помимо замены на более старший процессор ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В настройках Debug поставить вместо оптимизации -O0  -  -Og и посмотреть что получится

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

3 часа назад, MiklPolikov сказал:

Вижу.  И это возникает именно при нехватке памяти.  Куда смотреть в настройках, помимо замены на более старший процессор ?

Включить генерацию .map-файла (в свойствах компоновщика) и смотреть в него.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Сделал, смотрю.
1.map - памяти RAM не хватило, ошибка
2.map  -ошибки нет
Но не понимаю, что нужно увидеть.

 

Проект создан в E:/1 , пробелов и русских букв ни где нет.

 

 

map.jpg

EmbeddedProject2.map

EmbeddedProject1.map

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 часа назад, MiklPolikov сказал:

1.map - памяти RAM не хватило, ошибка

У вас какая-то путаница в показаниях: то FLASH не хватило, то RAM... Уж определитесь....  :russian_ru:

Цитата

Но не понимаю, что нужно увидеть.

Увидеть нужно вот это (из Ваших .map-ов):

Memory Configuration

Name             Origin             Length             Attributes
FLASH            0x08000000         0x00010000         xr
SRAM             0x20000000         0x00005000         xrw

Т.е. - Вы заявляете компоновщику, что в вашем МК имеется всего 0x5000 байт ОЗУ. Но при этом пытаетесь впихнуть туда кучу размером 0x25818 (кроме всего прочего):

 .bss           0x200001b0    0x25818 Debug/heap_4.o

А в сумме все ваши хотелки по ОЗУ составляют == 0x25A14 байт:

 *(.reserved_for_stack)
                0x20025a14                . = ALIGN (0x4)

что значительно больше объявленных 0x5000. Не находите?  :fool:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

26 minutes ago, jcxz said:

У вас какая-то путаница в показаниях: то FLASH не хватило, то RAM... Уж определитесь....  :russian_ru:

 

что значительно больше объявленных 0x5000. Не находите?  :fool:

Вы не поняли мой вопрос.

 

То  FLASH , то RAM  - для эксперимента.
Понимаю что не влезает, с этого и начал.

 

Вопрос: почему происходит ошибка ? Вместо ошибки должно быть понятное сообщение, о том что не хватает память и какой именно. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

18 минут назад, MiklPolikov сказал:

Вопрос: почему происходит ошибка ? Вместо ошибки должно быть понятное сообщение, о том что не хватает память и какой именно. 

Ну это вопрос уже к создателям вашего компилятора. Я пользую IAR, он в таких случаях явно говорит о нехватке памяти в конкретном регионе памяти.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

37 minutes ago, jcxz said:

Ну это вопрос уже к создателям вашего компилятора. Я пользую IAR, он в таких случаях явно говорит о нехватке памяти в конкретном регионе памяти.

Боже... ну зачем было засорять форум, если у Вас IAR и вы не можете подсказать по теме ? Я даже в подпись эту мысль вынес.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

3 часа назад, MiklPolikov сказал:

Проект создан в E:/1 , пробелов и русских букв ни где нет. 

А в логе:

Цитата

VisualGDB : warning : Found a source file with spaces in the path: "E:\YandexDisk\Projects\GSM контроллеры на заказ\GSM-09\V2\Program\STM32_Visual_Studio\GSM-09\Project_src\CPU_hard.c". If the build fails, please rename/move it.

Или это уже вы потом перенесли?

Тогда показывайте новый лог.
 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...