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

 
 
> lowlevel_init, собака много чего неявного делает перед стартом мэйна
buddazvon
сообщение Aug 24 2009, 13:31
Сообщение #1





Группа: Участник
Сообщений: 9
Регистрация: 30-09-08
Пользователь №: 40 575



Цитата(jorikdima @ Aug 24 2009, 14:13) *
Ну и где же были ошибки???

В особенностях дооформления стандартных библиотечных функций.
+ стековые параметры. Всё наложилось друг на друга, и, или не компилилось, или работало неожиданно не так.

Аналогично сейчас.
Есть безосьный элементраный мигатель светодиодами на SAM7S64. Писаный на С. Работающий.
Подключаю С++, и линкер вдруг перестает обнаруживать lowlevel_init. Чес гря, я и не полнимал, кто его раньше вызывал, и каким образом соотвтествует С стандарту.
И таких условиях корректно сформулировать вопрос не всегда получается. И сам ведь не понимаешь, а чем некорректность - база знаний маловата.

ЗЫ
"Берете документ по миграции на V5 и правите." Взял, посмотрел, и, вот как-то усомнился, что, руководствуясь, одним этим документом можно вообще что-то сделать.

нечто по теме:
http://electronix.ru/forum/index.php?showt...t=0#entry557862
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
shu123
сообщение Aug 29 2009, 16:19
Сообщение #2





Группа: Участник
Сообщений: 5
Регистрация: 29-08-09
Пользователь №: 52 089



Цитата(buddazvon @ Aug 24 2009, 17:31) *
Есть безосьный элементраный мигатель светодиодами на SAM7S64. Писаный на С. Работающий.
Подключаю С++, и линкер вдруг перестает обнаруживать lowlevel_init. Чес гря, я и не полнимал, кто его раньше вызывал, и каким образом соотвтествует С стандарту.


IAR "умный" и для "облегчения жизни разработчикам" добавляет собственные хуки и некий инициализирующий код который эти хуки вызывает.

lowlevel_init - один из таких хуков

те можно описать свою функцию под таким именем и она автоматически позавется
перед мэйном

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

в результате на 51 пришлось писать на ассемблере, учитывая убогость системы комманд развлечение состоялось smile.gif

учитывая что с/с++ имеют немного разные способы внутреннего именования, проблемы возможны
функа описана в доках - compiler refs

/Shu
Go to the top of the page
 
+Quote Post
DpInRock
сообщение Sep 3 2009, 19:53
Сообщение #3


Гуру
******

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



Цитата
И *вот это* ухитряется не работать на железе.

IAR вам предлагает стартап. Если вы не понимаете, чт он делает - просто не используйте. Все очень просто.

IAR - это просто инструмент. Которым работает человек. В Вашем же случае - инструмент - вы.


--------------------
On the road again (Canned Heat)
Go to the top of the page
 
+Quote Post
IgorKossak
сообщение Sep 4 2009, 07:19
Сообщение #4


Шаман
******

Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221



Цитата(DpInRock @ Sep 3 2009, 22:53) *
IAR вам предлагает стартап. Если вы не понимаете, чт он делает - просто не используйте. Все очень просто.

Такой подход (неиспользование стартапа) как раз и порождает проблемы.
Я бы в данном случае сказал - "Если не понимаете, ничего не трогайте, используйте как есть, по умолчанию, т. е. библиотечный вариант".
Ибо если на взгляд топикстартера стартап делает чего-то много, это не значит, что оно лишнее.

Цитата(shu123 @ Aug 29 2009, 19:49) *
поскольку задачка у меня была простая, я разбираться поленился ...

Вот в этом всё и дело. Разбираться поленился. О том, что такое отладка, наверное и не подозревал.
Скоропалительный вывод - стартап плохой.
Простой совет, выкиньте все свои всевозможные симуляторы и начинайте разбираться с железом, а потом и с программой.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме


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

 


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


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