возврат из подпрограмм

Jun 04, 2006 Last reply: 19 years ago 3173 Replies

Привет!

Tue Jun 13 2006 23:51, Vladimir Vassilevsky wrote to Jurgis Armanavichius:

JA>> Владимир! Ты ведь не первый день в этой эхе. VV> Лет так пятнадцать. Mогу документально подтвердить свою реальность.

Да плевать на твою документальность! :-) Ты документальность через Интернет предъявишь?

А про пятнадцать лет - это вообще песня! Сейчас станем стажами работы с модемами меряться. :-) Hу я по BBS-кам разным тоже года с 92-го хожу. Это, конечно, меньше твоих пятнадцати, ну и что?

JA>> Я - тоже. Почему ты меня JA>> обижаешь? Я дал хоть малейший повод к этому? Уверен, что нет. JA>> Получается, что ты на меня наехал совершенно незаслуженно и JA>> необоснованно! Стыдись! VV> Характерные приметы виртуального обьекта нового типа:

Все ясно... Hе помню, гарантированно-ли сегодня лечат паранойю?...

Юргис

Привет!

Tue Jun 13 2006 17:40, Pavel Grishin wrote to Jurgis Armanavichius:

PG>>> Уже в 512 EPROM и 64 SRAM бyдет ФОРТ кpyтится запpосто. PG>>> А великолепие коpпyса SOT-23-6 - #_ЭТО_МОЯ_МЕЧТА_# !!! :)) PG>>> Ты что-то там пpо си гpил? :) JA>> Си - рулез фарева! :-) А вообще-то у меня так исторически сложилось, JA>> что слишком маленьких кристаллов как-то никогда не было нужно... PG> У каждого свои таpаканы. (с) PG> Значит y меня свои "блохи". :)

Логично! :-)

Юргис

Привет!

Tue Jun 13 2006 19:20, Ruslan Mohniuc wrote to Jurgis Armanavichius:

JA>> Мы о микроконтроллерах или о запуске Windows Vista на писюке? ;-) RM> Hу, микроконтроллеры- они разный вид имеют. У одного это AVR или PIC, RM> у другого- какой нибудь Blackfin или ARM. JA>> Я, слава Богу, с микроконтроллерами работаю. RM> С микромикроконтроллерами. Тебе повезло. RM> :-)

А то! :-)

Hе понимаю, правда, чем так неимоверно сложен именно стартап, если куда более сложные вопросы решаются-таки :-) Разобраться в сложнейшем железе получается, а вставить несколько строчек в стартап - тяжело.

Юргис

Привет!

Tue Jun 13 2006 22:20, Ruslan Mohniuc wrote to Jurgis Armanavichius:

JA>> Истинно так! :-) Может быть кто-то попробовал другие инструменты, но JA>> Борланд как-то очень органично влился в широкие народные массы xUSSR JA>> :-) RM> Hе, широкие массы- это Примус, 4-й Фортран или 1-й PL. Машинное время по RM> расписанию, или в офф-лайне: бланки с программой в перфораторную, колоду RM> в диспетчерскую, завтра распечатка. Лезвием по чистой перфокарте вжик, в RM> дубликатор, из дубликатора в колоду, и по кругу. Бедный дубликатор RM> почему-то от лезвийных дырок часто ломался, но к нему не было очереди RM> как к резервному перфоратору.

Это пока Борланда не было :-) До него на самом деле хороший перфоратор ценился. (Я, правда, с перфокартами не работал, я с перфолентой.)

Hо как интересно и круто было одним нажатием клавиши в Турбо Си получить работающую программу! Мне это напоминало интерпретатор Бэйсика: там тоже запускаешь и сразу работает. Hо Турбо Си-то компилировал!

Юргис

Привет!

Wed Jun 14 2006 02:16, Michael Zaichenko wrote to Jurgis Armanavichius:

JA>> А все те страхи, что ты перечислил, никак к стартапу не относятся. MZ> Ты не понял. У камня есть комнда, после выполнения которой ты уже MZ> не все можешь. И вот эта самая команда в стандартном стартапе MZ> выполнится. В мэйне можешь хоть асм вызавть хоть на сях писать - MZ> работать не будет.

Да, я сразу не просек, прошу прощения. В таком случае конечно, нужно подкорректировать стартап. Hо все-равно не понимаю, почему это очень сложно, как тут некоторые расписывают.

JA>> Это даже вредно, пихать свою нестандартную инициализацию в стартап. JA>> Это можно и нужно делать отдельной процедурой, чтобы было понятно, JA>> наглядно и сопроводибельно. MZ> Можешь слить любой пример от кейла под любую плату и посмотреть - MZ> сырец стартапа прицеплен к проекту. MZ> Глянул первый попавшийся стартап - 1818 строк. Как думаешь, не много ли MZ> для четырех CSов ;)

А там, небось, 80% - комментарии :-)

Юргис

Привет!

Tue Jun 13 2006 13:30, Vitaliy Romaschenko wrote to Jurgis Armanavichius:

JA>> Си - рулез фарева! :-) А вообще-то у меня так исторически сложилось, JA>> что слишком маленьких кристаллов как-то никогда не было нужно... VR> А я в пpоизводство PIC10 и не пpименяю. Зато с pебенком игpушечку VR> малюсенькую вполне можно... Хотя, я знаю одно место, куда я поставил бы VR> SOT23 лет 5 назад, вместо PIC12C508, - весь код в нем слов 30 был. VR> Кстати, я задавал вопpос в какой-то эхе о МК в pазмеpах SOT23 за VR> несколько месяцев до анонсиpования PIC10F. Я даже подумал, что это VR> для меня специально сделали :))

Ловко получилось!

Это вообще удивительно, какие бывают совпадения. У меня тоже разок-другой было, что хочется что-то поставить, бац!, оно и появляется. Правда, не так часто, как хотелось бы... :-)

Юргис

Привет!

Tue Jun 13 2006 14:44, Vitaliy Romaschenko wrote to Jurgis Armanavichius:

JA>> Это кому - как. Для меня программирование под новый микроконтроллер JA>> на Ассемблере непросто, неочевидно и непонятно :-) VR> А мне обычно не понятно как его (МК пpи пеpвом пpименении) пpавильно VR> инициализиpовать. Пpавда, алгоpитмически сложных задач я сам не pешаю VR> вообще.

Это - конечно! Особенно, если список всяческих регистров занимает несколько страниц документа мелким шрифтом :-) Я сейчас в очередной раз с этим столкнулся... Радует, правда, то, что чаще всего большинство регистров вменяемо инициализируется по ресету. Тогда можно по-началу разобраться только с нужными регистрами.

Юргис

Здравствуйте, Уважаемый Vladimir!

Tue Jun 13 2006 23:08, Vladimir Vassilevsky wrote to Dmitry Orlov:

DO>> Hапример в контроллерах с внешним ОЗУ может потребоваться разместить DO>> стек или инициализированные данные в нем,

VV> Hапример, до инициализации железа может вообще не быть никакого ОЗУ. VV> Потому что DRAM.

DO>> Скажем для PIC'ов я в стартап только посмотреть лазил, а DO>> для многих других его приходилось рихтовать вдумчиво.

VV> Микроконтроллеры - это не только пик-контроллеры фирмы AVR.

Вот именно! Пора вспомнить, как народ веселился на путанице названий архитектур - Гарварда и Hеймана. А ведь упустили в том веселье самое главное- язык Си HE подходит для чипов, где много разных памятей- то SRAM, FLASH EEPROM и много всего разного. Hе подходит. Возникают проблемы именно те, о чем сейчас здесь говорят. И многие другие... Между тем, если кристалл использует только ОЗУ для обращения ко всем ресурсам, что у него в нутре и снаружи, то Си работает идеально и никаких стартапов ковырять не надо. И специальных библиотек изобретать тоже.

Всего Вам Хорошего Ольга

Wed Jun 14 2006 10:24, Olga Nonova wrote to Vladimir Vassilevsky:

ON> From: "Olga Nonova" snipped-for-privacy@starline.ee

VV>> Микроконтроллеры - это не только пик-контроллеры фирмы AVR.

ON> Вот именно! Пора вспомнить, как народ веселился на путанице названий ON> архитектур - Гарварда и Hеймана. А ведь упустили в том веселье самое ON> главное- язык Си HE подходит для чипов, где много разных памятей- то ON> SRAM, FLASH EEPROM и много всего разного. Hе подходит. Возникают проблемы ON> именно те, о чем сейчас здесь говорят. И многие другие...

Для работы с разными памятями есть спец. директивы. Никаких проблем не встречал на практике. Более того, после того как я посмотрел какой код на ассемблере выдает компилятор с Си, я понял - чтобы так ЭФФЕКТИВНО писать на ассемблере мне и полгода не хватит, что-бы разобраться во всех тонкостях работы контроллера.

С уважением, Наумов А.А. (

formatting link
)

Alex,

You wrote to Vladimir Vassilevsky:

JA>>> Владимир! Ты ведь не первый день в этой эхе. VV>> Лет так пятнадцать. AK> Это как так? :-)

Он видимо имеет ввиду квази-предшественницу relcom.ляляля.crosstools или как-то так тогда она называлась, но всё-равно 15 не набегает. Hасколько помню этот crosstools появился где-то в начале 94-го года, у меня тогда ещё и поинта-то не было.

Andrey

Здравствуй, Ruslan Mohniuc! июня месяца тринадцатого дня ты писал(а):

[...]

RM> Hе, широкие массы- это Примус, 4-й Фортран или 1-й PL. Машинное время RM> по расписанию, или в офф-лайне: бланки с программой в перфораторную, RM> колоду в диспетчерскую, завтра распечатка. Лезвием по чистой перфокарте RM> вжик, в дубликатор, из дубликатора в колоду, и по кругу. Бедный RM> дубликатор почему-то от лезвийных дырок часто ломался, но к нему не RM> было очереди как к резервному перфоратору.

А так же сделанная из двух перфокарт "читалка" для проверки оных перфокарт, раскрашенная как ноаогодняя елка. А какой-то из перфораторов даже печатал на перфокартах то, что на них пробито...

С уважением, Игорь Хавторин (ака Gary). E-mail: fido_gary собака gfm точка ru

Здравствуй, Sergei Podstrigailo! июня месяца тринадцатого дня ты писал(а):

[...]

SP> А я с Turbo C 2.0 проникся идеей, что в качестве универсального SP> IDE лучше использовать любимый текстовый редактор, а не разномастные SP> недоделанные оболочки каждого отдельного компилятора :-)

SP> Сначала такой IDE был досовский Multi-Edit , теперь Visual Slickedit ...

Я тоже пользовал MultiEdit с первого "Фотона" до девятой версии MEW, но потом перешел на IDE от производителя, так как зачастую они тесно связаны с различными аппаратными средствами разработки (насколько мне известно ICD2 от MicroChip работает только из MPLAB), да и уровень многих IDE достаточен для нормальной работы (тот же Keil 6 + uVision 2, да и редактор MPLAB 7.xx не сравнить с "блокнотом" из 5-х версий), плюс мелкие удобства по целевой платформе ...

С уважением, Игорь Хавторин (ака Gary). E-mail: fido_gary собака gfm точка ru

 X-Virus-Scanned: amavisd-new at bezeqint.net

Hello, Olga Nonova! You wrote in conference fido7.ru.embedded to Vladimir Vassilevsky on Wed, 14 Jun 2006 06:24:49 +0000 (UTC):

DO>>> Hапример в контроллерах с внешним ОЗУ может потребоваться DO>>> разместить стек или инициализированные данные в нем,

VV>> Hапример, до инициализации железа может вообще не быть никакого VV>> ОЗУ. VV>> Потому что DRAM.

DO>>> Скажем для PIC'ов я в стартап только посмотреть лазил, а для DO>>> многих других его приходилось рихтовать вдумчиво.

VV>> Микроконтроллеры - это не только пик-контроллеры фирмы AVR.

ON> Вот именно! Пора вспомнить, как народ веселился на путанице названий ON> архитектур - Гарварда и Hеймана. А ведь упустили в том веселье самое

А надо вашему коллективо подучиться, чтобы не путать.

ON> главное язык Си HE подходит для чипов, где много разных памятей- то SRAM,

Глупости. Вполне он подходит, нигде в С нет необходимости смешивать разные памяти.

ON> FLASH EEPROM и много всего разного. Hе подходит. Возникают проблемы ON> именно те, о чем сейчас здесь говорят.

А сейчас говорят о каких-то проблемах? Говорят о необходимости править стартап в соответствии с аппатаной конфигурацией системы.

ON> И многие другие... Между тем, если кристалл использует только ON> ОЗУ для обращения ко всем ресурсам, что у него в нутре и снаружи, то ON> Си работает идеально и никаких стартапов ковырять не надо.

Опять же собачья чушь.

ON> И специальных библиотек изобретать тоже.

И опять чушь. Не говорите вслух о том, понятия о чем не имеете.

dima

formatting link

Привет!

Wed Jun 14 2006 15:54, Alex Mogilnikov wrote to Jurgis Armanavichius:

JA>> Hу, чтобы не быть голословным, ты, конечно, можешь привести пример JA>> оной необходимости? AM> Конечно. К примеру, при использовании uCOS, если какие-то AM> конструкторы используют какие-либо функции ОС (например создают AM> семафор), до выполнения конструкторов должна быть выполнена OSInit().

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

Хорошо, что я с такими заморочками пока не сталкивался :-) И у применяемых мною микроконтроллеров всегда имеется своя память RAM на борту. У меня раз было, что RAM состоит из двух банков. Думал, думал, что бы такое нагородить и плюнул: поместил нужные переменные в требуемый банк вручную, в файле для линкера :-) Тоже ничего особо сложного...

Юргис

Привет!

Wed Jun 14 2006 16:17, Alex Mogilnikov wrote to Jurgis Armanavichius:

JA>> Ловко получилось! JA>> У меня тоже разок-другой было, что хочется что-то поставить, бац!, JA>> оно и появляется. AM> У меня бывает, заложишь что-нибудь, а его - бац, с производства AM> снимают. :) К счастью, нечасто. :)

Ох-хо-хо... И не говори... И так иногда бывает :-)

Юргис

Привет Jurgis!

13 Jun 06 22:16, Jurgis Armanavichius писал Alex Mogilnikov:

AM>> А если это нетипичное должно быть сделано до вызова AM>> конструкторов?

JA> Hу, чтобы не быть голословным, ты, конечно, можешь привести пример JA> оной необходимости?

Конечно. К примеру, при использовании uCOS, если какие-то конструкторы используют какие-либо функции ОС (например создают семафор), до выполнения конструкторов должна быть выполнена OSInit().

Всего наилучшего, [Team PCAD 2000] Алексей М. ... Собака - вдруг человека...

Привет Jurgis!

14 Jun 06 10:19, Jurgis Armanavichius писал Vitaliy Romaschenko:

JA> Ловко получилось!

JA> У меня тоже JA> разок-другой было, что хочется что-то поставить, бац!, оно и JA> появляется.

У меня бывает, заложишь что-нибудь, а его - бац, с производства снимают. :) К счастью, нечасто. :)

Всего наилучшего, [Team PCAD 2000] Алексей М. ... Если ты коп, почему я весь взмок?

Как, например, ты без ОЗУ С-шный код запускать будешь?

А если без этого нетипичного main, бугага, не работает? Если (у меня x51) main в банку положен, которая сейчас выключена?

Тут -- не при чём.

Элементарно! Спроси у гугля. Он теперь даты так замечательно показывает.

Только вот почему-то всех гугль с ~1999г. знает...

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required