реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> F5418 - не могу прошить большую программу, хотя место еще есть! Возникает ошибка: Error[e104]
zoiberg
сообщение Aug 19 2010, 04:05
Сообщение #1





Группа: Новичок
Сообщений: 1
Регистрация: 18-08-10
Пользователь №: 58 978



Не могу прошить MSP430F5418 полностью. Там два болших сегмента. Первый примерно 40kb, второй - 87 kb. Если размер кода маленький, то все заливается в первый сегмент, если он превышает 40 kb - то все льется во второй. А вот если код больше 87, то linker выдает ошибку Error[e104]. Из описания ошибки следует что код надо разбить на два сегмента в программе, а вот как это сделать - это и есть вопрос..Кто-нибудь сталкивался? (Пишу в IAR).

Вот Эта ошибка.

Error[e104]: Failed to fit all segments into specified ranges. Problem discovered in segment CODE. Unable to place 1 block(s) (0x161c2 byte(s) total) in
0x1ff56 byte(s) of memory. The problem occurred while processing the segment placement command "-P(CODE)CODE=5C00-FF7F,10000-25BFF",
where at the moment of placement the available memory ranges were "CODE:5c0c-ff7f,CODE:10000-25bff"
Error while running Linker
Go to the top of the page
 
+Quote Post
rezident
сообщение Aug 19 2010, 10:26
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Не до конца уверен, но видимо линкер не может самостоятельно разделить объектный модуль для компиляции в два сегмента памяти. Может стоит ему как-то помочь в этих потугах?
Сегментная фрагментация кода получается потому, что в конце 64кБ раздела памяти находится область векторов прерываний. Линкер должен как-то разделить непрерывный код на две части, но видимо не умеет этого делать. Попробуйте самостоятельно указать для некоторых функций в вашей программе конкретный сегмент памяти.
Go to the top of the page
 
+Quote Post
MrYuran
сообщение Aug 19 2010, 10:32
Сообщение #3


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



Цитата(rezident @ Aug 19 2010, 14:26) *
Линкер должен как-то разделить непрерывный код на две части, но видимо не умеет этого делать.

Точнее, его отучили smile.gif
В фичах нового компилятора как раз значится создание неразрывного одного объектника. Может, где-то есть галочка в настройках?


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd June 2025 - 15:19
Рейтинг@Mail.ru


Страница сгенерированна за 0.01346 секунд с 7
ELECTRONIX ©2004-2016