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

 
 
> Зачем нужны *.mac и csturtup.s файлы, Обьясните пожалуйста!!!
bureau
сообщение Dec 29 2008, 21:27
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 625
Регистрация: 22-02-07
Пользователь №: 25 593



В IARe при отладке сначала код грузится с этих файлов. Собственно говоря что это дает?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
rvk
сообщение Jan 9 2009, 08:58
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 165
Регистрация: 13-05-06
Из: Камышин
Пользователь №: 17 067



В чем смысл закладывать все в startup.s, если он запускается до main.
По другому поставлю вопрос. Какая разница, проинициализирована периферия в startup.s файле или в main.c

Сообщение отредактировал rvk - Jan 9 2009, 09:41
Go to the top of the page
 
+Quote Post
ek74
сообщение Jan 9 2009, 09:36
Сообщение #3


Частый гость
**

Группа: Свой
Сообщений: 81
Регистрация: 4-08-05
Из: г. Саратов
Пользователь №: 7 351



Цитата(rvk @ Jan 9 2009, 11:58) *
По другому поставлю вопрос. Какая разница, проинициализирована периферия в startup.s файле или в main.c


А если Вы пишите на C++, и у Вас есть глобальные статические экземпляры некоторых классов (конструкторы таких объектов вызываются ДО main). И самое главное - эти объекты должны работать с железом. В этом случаи инициализация периферии в main будет как на бане гудок.
Go to the top of the page
 
+Quote Post
rvk
сообщение Jan 9 2009, 09:50
Сообщение #4


Частый гость
**

Группа: Свой
Сообщений: 165
Регистрация: 13-05-06
Из: Камышин
Пользователь №: 17 067



Цитата(ek74 @ Jan 9 2009, 12:36) *
А если Вы пишите на C++, и у Вас есть глобальные статические экземпляры некоторых классов (конструкторы таких объектов вызываются ДО main). И самое главное - эти объекты должны работать с железом. В этом случаи инициализация периферии в main будет как на бане гудок.


Согласен конструкторы вызываются до main, но программу и сами конструкторы определяет программист в своем коде.
Думаю конструкторы пользователя инициализируются где угодно, только не в ассемблерном файле startup.s от производителя IAR.
Ведь топик стартер спрашивал о startup.s.
Ведь если startup.s хоть как то причастен к процедуре инициализации классов пользователя, тогда получается совершенно
тяжелая ситуация, мало написать программу на C++, так еще потом вручную редактировать откомпилированный файл.
Это больше похоже на борьбу с глюками среды программирования, чем на штатную работу с ней. Или я чего то не понимаю.

Сообщение отредактировал rvk - Jan 9 2009, 09:53
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- bureau   Зачем нужны *.mac и csturtup.s файлы   Dec 29 2008, 21:27
- - sergeeff   Наверное все-таки из cstartup.s. Идея проста - вып...   Dec 30 2008, 00:36
|- - bureau   А болие подробней описание каким образом организов...   Jan 2 2009, 19:37
|- - HARMHARM   Цитата(bureau @ Jan 2 2009, 21:37) А боли...   Jan 2 2009, 19:57
- - uriy   Обычно с компилятором бывают дефолтовые стартап фа...   Jan 8 2009, 16:07
- - rvk   Цитата(bureau @ Dec 30 2008, 00:27) В IAR...   Jan 8 2009, 17:28
- - sergeeff   До поры до времени можно и не обращать, пока ваша ...   Jan 8 2009, 18:09
|- - rvk   Цитата(sergeeff @ Jan 8 2009, 21:09) До п...   Jan 8 2009, 20:42
- - sergeeff   Речь идет, к примеру, о размерах стеков для вашей ...   Jan 8 2009, 21:48
- - rvk   Да стек важная штука, и если его не хватит, мало н...   Jan 9 2009, 04:37
- - sergeeff   Вы задаете вопросы безотносительно какого-то конкр...   Jan 9 2009, 07:18
- - Сергей Борщ   Цитата(rvk @ Jan 9 2009, 10:58) По другом...   Jan 9 2009, 10:00


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

 


RSS Текстовая версия Сейчас: 2nd August 2025 - 05:28
Рейтинг@Mail.ru


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