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

 
 
> Нужен совет по Embedded programming для контроллера TI MSP430F149, С и ассемблер в одном проекте
Steve2
сообщение May 4 2007, 20:35
Сообщение #1





Группа: Новичок
Сообщений: 4
Регистрация: 4-05-07
Пользователь №: 27 522



Нужен совет по Embedded programming для контроллера TI MSP430F149

Есть ассемблерный проект. Необходимо потихоньку переписать его на С, сохраняя его функциональность во время этого процесса. Было принято решение использовать одновремено С и ассемблер в одном проекте. Мой вопрос об этом.

В проекте определен Interrupt vector в COMMON segment. Reset vector содержит адрес ISR Reset_Int которая находится в начале CODE segment. При включении контроллера происходит Reset Interrupt и исполнение программы начинаеться с
ISR Reset_Int.

Я добавляю С файл с функцией main() к ассемблерному проекту. Мне необходимо чтобы исполнение программы начиналось с этой самой main(). Я предполагаю, что сам линкер должен установить адрес main() в Reset vector. Так ли это? Или это должен как-то сделать я сам? Что происходит с существующим определением Interrupt vector? Нужно ли только зарезервировать место для Interrupt vector и линкер инициализирует его сам аддресом функции main()?

Очевидно что С инструкции будут транслированы в ассемблер и помещен в CODE segment. Меня интересует будет ли этот ассемблерный код ( из С) помещен в новый CODE segment или в существующий (где определен старый ассемблерный код)? Хотелось бы знать как происходит взаимотношение между двумя этими частями программы?

Посоветуйте хороший мануал или tutorial на эту тему?

Спасибо
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Dog Pawlowa
сообщение May 5 2007, 11:01
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823



Цитата(Steve2 @ May 4 2007, 23:35) *
Нужен совет по Embedded programming для контроллера TI MSP430F149
Есть ассемблерный проект. Необходимо потихоньку переписать его на С, сохраняя его функциональность во время этого процесса. Было принято решение использовать одновремено С и ассемблер в одном проекте. Мой вопрос об этом...

Вот только такое решение не всегда оправдано.
Во всяком случае я лично тоже принимал такое решение в свое время, но убедился, что это паранойя с ее главным признаком - раздвоением сознания. После нескольких недель такой эволюции я пришел к выводу ,что в революции тоже есть немало хорошего smile.gif и сделал проект на С, основываясь только на ТЗ и забыв про ассемблерный проект. Но у меня были дополнительные обстоятельства - опыт сложных проектов на ЯВУ со своими выработанными подходами, а проект на ассеблере был написан другим человеком.
Даже если Вы автор первого проекта, а сейчас беретесь постепенно изучать С, это не самый лучший путь.

Извините, немного не на вопрос, но по теме wink.gif


--------------------
Уходя, оставьте свет...
Go to the top of the page
 
+Quote Post
zltigo
сообщение May 5 2007, 12:40
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(Dog Pawlowa @ May 5 2007, 14:01) *
Вот только такое решение не всегда оправдано.

Присоединяюсь. Ассемблерный подход будет довлеть над проектом sad.gif. Тем более, что желание переписать возникло не от хорошей жизни smile.gif


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 20th August 2025 - 09:41
Рейтинг@Mail.ru


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