Embedded OS

Mar 08, 2005 Last reply: 21 years ago 1304 Replies
ðÒÉ×ÅÔ Olga!

Friday March 18 2005 19:27, Olga Nonova wrote to Alexander Torres:

AT>>>> âÏÖÅ ÍÏÊ, ËÁË ÖÅ Ô×ÏÉ ÐÉÓØÍÁ × ÜÈÕ ÐÏÐÁÄÁÀÔ - ×ÅÄØ ÏÎÉ ÞÅÒÅÚ ËÁÎÁÌÙ AT>>>> Ó×ÑÚÉ ÐÒÏÈÏÄÑÔ ÞÅÒÅÚ ÄÅÓÑÔËÉ ÒÏÕÔÅÒÏ×, ÇÄÅ ×ÅÓØ ÓÏÆÔ ÎÁ óÉ AT>>>> ÎÁÐÉÓÁÎ.... ON>>>

ON>>> òÏÕÔÅÒÙ ÎÅÊÍÁÎÏ×ÓËÏÊ ÁÒÈÉÔÅËÔÕÒÙ, Á ÎÅ ÍÅÌËÉÅ ÇÁÒ×ÁÒÄÙ. ðÏÜÔÏÍÕ É ON>>> ÒÁÂÏÔÁÅÔ ÔÁÍ óÉ. ON>

AT>> äÅ×ÕÛËÁ, ÔÁÍ ËÏÎÅÞÎÏ ÎÅ ÍÅÌËÉÅ ÇÁÒ×ÁÒÄÙ, ÎÏ ÷Ù ÔÕÔ ÕÖÅ ÓÔÏÌØËÏ AT>> ÎÁÇÏ×ÏÒÉÌÉ ÐÒÏ ÎÅÊÍÁÎÁ/ÇÁÒ×ÁÒÄÁ, ÔÏ á÷ò-Ù Õ ÷ÁÍ ÎÅÊÍÁÎ, ÔÏ ðéëÉ, ÔÏ AT>> 8086 ×ÄÒÕÇ × äåëÏ×ÓËÏÍ ËÏÍÐÅ ÏËÁÚÁÌÓÑ, ÞÔÏ Ë ÷ÁÛÉÍ ÓÌÏ×ÁÍ ÎÁÄÏ AT>> ÏÔÎÏÓÉÔÓÑ ÎÅÓËÏÌØËÏ ÓËÅÐÔÉÞÅÓËÉ :) ON>

ON> ëÒÅÐËÏÍÕ ÐÒÏÉÚ×ÏÄÓÔ×ÅÎÎÉËÕ ÎÅÄÏÓÔÏÊÎÏ ÏÐÕÓËÁÔØÓÑ ÄÏ ÐÒÉÅÍÏ× ÛÅÌØÍÏ×ÁÎÉÑ ÉÚ ON> ÁÒÓÅÎÁÌÁ ÁËÁÄÅÍÉÞÅÓËÉÈ "ÐÒÏÇÒÁÍÍÉÓÔÏ×". ÷Ù ÐÒÅËÒÁÓÎÏ ÐÏÎÉÍÁÅÔÅ, Ï ÞÅÍ ÉÄÅÔ ON> ÒÅÞØ.

HÅÔ, ÎÅ ÐÏÎÉÍÁÀ "áËÁÄÅÍÉÞÅÓËÏÇÏ ÐÒÏÇÒÁÍÍÉÓÔÁ" Ñ ÚÎÁÀ ÚÄÅÓØ ÔÏÌØËÏ ÏÄÎÏÇÏ - öÏÒÕ ûÅÐÅÌÅ×Á, É ÏÄÎÏÇÏ "ÁËÁÄÅÍÉÞÅÓËÏÇÏ ÈÁÒ×ÁÒÝÉËÁ" - ÷Ï×Õ ôÅÐÌÏÕÈÏ×Á.

Alexander Torres, 2:461/28 aka 2:461/640.28 aka 2:5020/6400.28 aka snipped-for-privacy@yahoo.com

formatting link
, ftp://altor.sytes.net

ðÒÉ×ÅÔ Olga!

Friday March 18 2005 19:24, Olga Nonova wrote to Alexander Torres:

AT>>>> ÷ÏÔ ÔÏÌØËÏ, Ñ ÓÏ×ÅÒÛÅÎÎÏ ÓÐÏËÏÊÎÏ ÉÓÐÌØÚÕÀ ÆÕÎËÃÉÉ, ÒÁÂÏÔÁÀÝÉÅ AT>>>> ÎÁÐÒÉÍÅÒ Ó ÌÅÖÁÝÉÍÉ × ðúõ ÓÔÒÏËÁÍÉ, É ÎÉËÕÄÁ × ïúõ ÏÎÉ ÎÅ AT>>>> ËÏÐÉÒÕÀÔÓÑ. ON>>>

ON>>> üÔÉ ÆÕÎËÃÉÉ ÉÚ ÓÔÁÎÄÁÒÔÎÏÊ ÂÉÂÌÉÏÔÅËÉ ó-ËÏÍÐÉÌÑÔÏÒÁ? éÌÉ ÎÁÐÉÓÁÌÉ ON>>> ÓÁÍÉ? ON>

AT>> ó×ÏÉ ËÏÎÅÞÎÏ. ON>

ON> ÷ÏÐÒÏÓÏ× ÂÏÌØÛÅ ÎÅ ÉÍÅÀ. äÅÓÔ×ÉÔÅÌØÎÏ, ÅÓÌÉ ×ÓÅ ÉÚ ÉÎÓÔÒÕÍÅÎÔÁÌØÎÏÇÏ ON> ÐÁËÅÔÁ ÎÁ óÉ ÐÅÒÅÐÉÓÁÔØ ÓÁÍÏÓÔÏÑÔÅÌØÎÏ, ÔÏ ÎÁ×ÅÒÎÏÅ ÍÏÖÎÏ ÂÕÄÅÔ ÄÏÓÔÉÞØ ON> ×ÏÓÐÒÏÉÚ×ÏÄÉÍÙÈ ÒÅÚÕÌØÔÁÔÏ×.

ðÏÞÅÍÕ "×ÓÅ" ? ñ É ÎÅ ÐÅÒÅÐÉÓÙ×ÁÌ ×Ï×ÓÅ, Á ÐÒÏÓÔÏ ÐÉÛÕ ÎÕÖÎÙÅ ÍÎÅ ÆÕÎËÃÉÉ. éÚ "ÉÎÓÔÒÕÍÅÎÔÁÌØÎÏÇÏ ÐÁËÅÔÁ" - ÔÏÄÅ ÐÏÌØÚÕÀÓØ, ÅÓÌÉ ÎÁÄÏ. þÁÝÅ - ÎÅ ÎÁÄÏ.

ON>

AT>> äÁ. ON>

ON>>> ñ × ÜÔÕ ÓÔÏÒÏÎÕ ×ÏÏÂÝÅ ÎÅ ÓÍÏÔÒÀ. ON>

AT>> HÕ ÜÔÏ ÌÉÞÎÏ ÷ÁÛÉ ÐÒÏÂÌÅÍÙ. õÓÔÒÁÉ×ÁÀÝÉÈ ÎÁÓ ËÏÎÔÒÏÌÌÅÒÏ× ÎÅ ÔÁË ÕÖ É AT>> ÍÎÏÇÏ, Ó ÁÔÍÅÌÏÍ ÒÁÂÏÔÁÔØ ÔÒÕÄÎÏ, ÄÒÕÇÉÅ ÐÏ ÃÅÎÅ ÎÅ ÕÓÔÒÁÉ×ÁÀÔ, AT>> ÔÒÅÔØÉ - ÅÝÅ ÐÏ ÞÅÍ-ÔÏ. ON>

ON> üÔÏ ÓÐÒÁ×ÅÄÌÉ×Ï. ëÔÏ Ë ÞÅÍÕ ÐÒÉ×ÙË,- ÕÖÅ ÎÅ ÓÔÏÌËÎÅÛØ.

äÁ Ñ Ë ÎÉÍ ËÏ ×ÓÅÍ "ÐÒÉ×ÙË", É Ë 5-Í, É Ë á÷òÁÔ, É Ë ðéëÁÍ, É Ë ST7, Á ÉÓÐÏÌØÚÕÀ Ñ ÎÁ ÒÁÂÏÔÅ ÔÏ, ÞÔÏ ÌÕÞÛÅ ÐÏÄÈÏÄÉÔ ÄÌÑ ÒÅÛÅÎÉÑ ËÏÎËÒÅÔÎÏÊ ÚÁÄÁÞÉ. ÷ÏÔ ÄÏÍÁ, ÄÌÑ ÈÏÂÂÉÓÔÓËÉÈ (ÏÔ ÓÌÏ×Á "èÏÂÂÉ" Á ÎÅ "ÈÏÂÂÉÔ" :) ÛÔÕÞÅË - ÞÁÓÔÏ ÉÓÐÏÌØÚÕÀ ÔÏ, ÞÔÏ ÅÓÔØ ÐÏÄ ÒÕËÏÊ.

ON>>> âÙÌÏ ÂÙ ÞÒÅÚ×ÙÞÁÊÎÏ ÉÎÔÅÒÅÓÎÏ ÓÈÏÄÉÔØ ÎÁ ÓÁÊÔ ÜÔÏÊ ÆÉÒÍÙ É ON>>> ÐÏÓÍÏÔÒÅÔØ ÎÁ ÜÔÏ ÞÕÄÏ ÉÚ ÞÕÄÅÓ. ON>

AT>> äÁ "ÞÕÄÅÓ" ÔÁÍ ÏÓÏÂÅÎÎÙÈ ÎÅÔ, ÄÁ É × ÏÔÌÉÞÉÅ ÏÔ ÄÅ×ÁÊÓÏ× - ÓÁÊÔ ÎÅ AT>> ÓÉÌØÎÏ ÈÏÒÏÛ, ÐÏÓËÏÌØËÕ ÜÔÏ ÎÅÓËÏÌØËÏ ÎÅ ÔÏÔ ÒÙÎÏË, ÇÄÅ ÍÏÖÎÏ ÞÔÏ-ÔÏ AT>> ÒÅËÌÌÁÍÉÒÏ×ÁÔØ ÎÁ ÓÁÊÔÅ. ON>

ON>>> óÓÙÌÏÞËÕ ÍÏÖÅÔÅ ËÉÎÕÔØ? ON>

AT>>

formatting link
ON>

AT>> ôÁÍ ÎÅ ×ÓÅ, ÎÅÔ ÎÅÓËÏÌØËÉÈ ÍÏÉÈ ÐÏÓÌÅÄÎÉÈ ÐÒÏÅËÔÏ×, ÉÄÕÝÉÈ ÎÁ ÚÁÍÅÎÕ AT>> 3-Ê É 4-Ê ÐÏÚÉÃÉÊ × ÓÐÉÓËÅ ÐÒÏÄÕËÃÉÉ, ÎÏ Ä×Å ÐÅÒ×ÙÈ - ÜÔÏ ÔÅ ÍÏÉ AT>> ÓÁÍÙÅ ÄÅÛÅ×ÙÅ, ÇÄÅ ÓÅÂÅÓÔÏÉÍÏÓÔØ 15 ÂÁËÓÏ×, É ÈÏÒÏÛÏ ÂÙ ÅÅ ÄÏ 10 AT>> ÄÏ×ÅÓÔÉ. ON>

ON>

ON> óÈÏÄÉÌÁ. ðÏÓÍÏÔÒÅÌÁ. íÎÅ ÐÏÎÒÁ×ÉÌÏÓØ. íÎÅ ÔÏÌØËÏ ÎÅÐÏÎÑÔÎÏ, ËÁËÉÅ ÞÕÄÅÓÁ ON> ÉÎÔÅÌÌÅËÔÁ ÔÁÍ ÄÅÍÏÎÓÔÒÉÒÕÅÔ PIC?

ïÎ ÎÉÞÅÇÏ ÎÅ "ÄÅÍÏÎÓÔÒÉÒÕÅÔ", ÏÎ ×ÙÐÏÌÎÑÅÔ Ó×ÏÀ ÒÁÂÏÔÕ. äÏÓÔÁÔÏÞÎÏ ÓÌÏÖÎÕÀ, ÍÅÖÄÕ ÐÒÏÞÉÍ.

ON> ÷ÓÅ ÔÒÕÄÎÏÓÔÉ ÒÅÁÌÉÚÁÃÉÉ, ÐÏ-×ÉÄÉÍÏÍÕ, ON> ËÏÎÃÅÎÔÒÉÒÕÀÔÓÑ ×ÏËÒÕÇ ÓÉÌÏ×ÙÈ ×ÙÓÏËÏ×ÏÌØÔÎÙÈ ÃÅÐÅÊ?

HÅ ÔÏÌØËÏ.

ON> ôÁÍ ×ÅÄØ ×ÓÑ ÉÚÀÍÉÎËÁ, × ÓÈÅÍÏÔÅÈÎÉËÅ?

é × ÓÈÅÍÏÔÅÈÎÉËÅ, É × ÁÌÇÏÒÉÔÍÁÈ ÓÏÆÔÁ. "HÏÕ-ÈÁÕ" ËÁË ÒÁÚ ÂÏÌØÛÅ ÉÍÅÎÎÏ × ÐÏÓÌÅÄÎÅÍ.

Alexander Torres, 2:461/28 aka 2:461/640.28 aka 2:5020/6400.28 aka snipped-for-privacy@yahoo.com

formatting link
, ftp://altor.sytes.net

Hello, Alexander!

ðÑÔ íÁp 18 2005, Alexander Golov ÐÉÓÁÌ Ë Maxim Polyanskiy ÐÏ ÐÏ×ÏÄÕ "Embedded OS." AG> íÄÁ, ÜÔÏ ÕÖÅ ËÁËÉÅ-ÔÏ ÎÁ×ÑÚÞÉ×ÙÅ ÉÄÅÉ...

AG> òÅÞØ ÛÌÁ ÐÒÅÖÄÅ ×ÓÅÇÏ Ï ÕÄÏÂÓÔ×ÁÈ ÄÏÓÔÕÐÁ Ë ÐÒÏÇÒÁÍÍÎÏÊ ÐÁÍÑÔÉ (LFSR, AG> PLUSW, ÂÁÎÁÌØÎÏÍ ÕÓËÏÒÅÎÉÉ ÄÏÓÔÕÐÁ, ÎÁËÏÎÅÃ) É ÐÅÒÅÄÁÞÉ ÓÓÙÌÏË (ÅÓÌÉ AG> ÔÙ ÎÅ × ËÕÒÓÅ, ÓÓÙÌËÉ É ÎÁ ÁÓÍÅ ÕÄÏÂÎÏ ÐÅÒÅÄÁ×ÁÔØ ÅÄÉÎÙÍ ÏÂÒÁÚÏÍ, Á ÎÅ AG> ÒÁÚÄÅÌØÎÏ ÄÌÑ ÄÁÎÎÙÈ É ËÏÄÁ). HÕ É, ÅÓÔÅÓÔ×ÅÎÎÏ, Ï ×ÏÚÍÏÖÎÏÓÔÉ AG> ÒÁÚÍÅÝÅÎÉÑ Software Stack ×Ï ×ÎÅÛÎÅÍ ïúõ. ôÅÐÅÒØ ÏÐÉÛÉ ÎÁÆÉÇ ×ÓÅ ÜÔÏ ÎÕÖÎÏ ÎÁ ÁÓÓÅÍÂÌÅÒÅ?

ðÏÞÉÔÁÊ ËÁË ÓÏÚÄÁÀÔ ÐÒÏÃÅÓÓÏÒÎÙÅ ÑÄÒÁ, ËÁËÉÅ ÃÅÌÉ ÐÒÉ ÜÔÏÍ ÐÒÅÓÌÅÄÕÀÔ. HÉËÔÏ ÎÅ ÓÏÂÉÒÁÅÔÓÑ ÄÅÌÁÔØ ÔÅÂÅ 8-ÍÉ ÂÉÔÎÙÊ ËÏÎÔÒÏÌÌÅÒ ÄÌÑ ÕÐÒÏÝÅÎÉÑ ÐÏÓÔÒÏÅÎÉÑ ËÏÍÐÉÌÑÔÏÒÁ ñ÷õ, Á ÎÁ ÁÓÍ ÜÔÏ ÎÅ ÎÕÖÎÏ. CÏ×ÓÅÍ ÎÅ ÎÕÖÎÏ. ôÁË-ÖÅ ËÁË É ÐÅÒÅÄÁÞÁ ÒÁÓÐÏÌÏÖÅÎÉÑ ÓÔÒÏËÉ × ÅÅ ÁÄÒÅÓÅ. ðÒÏÝÅ ×ÙÄÅÌÉÔØ É ×ÙÓÔÁ×ÉÔØ ÂÉÔ, ËÏÔÏÒÙÊ ÂÕÄÅÔ ÕÐÒÁ×ÌÑÔØ ÌÏÇÉËÏÊ ÒÁÂÏÔÙ ÐÒÏÃÅÄÕÒÙ (ÅÓÌÉ ÜÔÏ ÎÁÄÏ) ÉÌÉ ×ÏÏÂÝÅ ÎÉÞÅÇÏ ÎÅ ÄÅÌÁÔØ (Ô.Ë. Õ ÎÏÒÍÁÌØÎÏÇÏ ÐÒÏÇÒÁÍÍÉÓÔÁ, ÏÄÎÏ É ÔÏ-ÖÅ ÎÅ ÌÅÖÉÔ É ÔÁÍ É ÔÁÍ, É ÆÕÎËÃÉÉ ÔÉÐÁ strcat ÐÒÏÓÔÏ ÎÅ ÐÒÉÍÅÎÑÀÔÓÑ). AG> áÌÅËÓÁÎÄÒ çÏÌÏ×, íÏÓË×Á, snipped-for-privacy@mail.ru WBR! Maxim Polyanskiy.

Здравствуй, Harry!

Friday March 18 2005 08:49, you (2:5020/400) wrote to Alexey V Bugrov:

HZ> Подозреваю, что просто на момент появления мода еще не пришла. Hо HZ> тенденция, имхо уже есть. Думаю, через несколько лет в старших членах HZ> семейств мелких МК будет появляться коммуникационная периферия с HZ> буферами.

Ритоpический вопpос: почему более новые пpоцессоpы, сиpечь pожденные недавно, считаются стаpшими? Казус.

Alex

AK>> ûÉÌÏ ÎÁ ÍÙÌÏ. ôÅÐÅÒØ ÒÁÓÓÍÏÔÒÉ ×ÁÒÉÁÎÔ, ËÏÇÄÁ ËÁÎÁÌ Ó ÐÏÍÅÈÁÍÉ ÍÅÎÑÅÔ AK>> ÚÎÁÞÅÎÉÅ ÓÞÅÔÞÉËÁ. ON> ðÏ×ÔÏÒÑÀ- ÄÌÑ ÔÁËÉÈ ÓÔÒÏË × ðÁÓËÁÌÅ ÐÒÅÄÕÓÍÏÔÒÅÎ _Á×ÔÏÍÁÔÉÞÅÓËÉÊ_ ËÏÎÔÒÏÌØ ON> ×ÙÈÏÄÁ ÚÁ ÒÁÚÍÅÒ ÄÅËÌÁÒÉÒÏ×ÁÎÎÏÇÏ ËÏÎÔÅÊÎÅÒÁ. ðÏÜÔÏÍÕ, ÐÒÉ ÐÏÒÞÅ ÓÞÅÔÞÉËÁ

ëÁË ÂÙÔØ Ó ÔÅÍ ÖÅ write -- ËÁË ÏÎÏ ÐÒÏËÏÎÔÒÉÌÉÒÕÅÔ, ÞÔÏ ÅÍÕ ÐÏÄÓÕÎÕÌÉ? ëÓÔÁÔÉ, ×ÓÀ ÖÉÚÎØ ÍÕÞÁÅÔ ×ÏÐÒÏÓ: ËÁË ÓÒÅÄÓÔ×ÁÍÉ ÐÁÓËÁÌÑ ÎÁÐÉÓÁÔØ Ó×ÏÊ ÁÎÁÌÏÇ write ÉÌÉ printf? ïÔ×ÅÔ Ñ ÚÎÁÀ...

ON> ÐÁÓËÁÌØÎÁÑ ÐÒÏÇÒÁÍÍÁ ÍÁËÓÉÍÕÍ,- ÜÔÏ ÐÅÒÅÄÁÓÔ ÕÐÒÁ×ÌÅÎÉÅ ÏÂÒÁÂÏÔÞÉËÕ ON> ÏÛÉÂÏË, Á ON> ÓÉÛÎÁÑ ÐÒÏÇÒÁÍÍÁ ÐÒÉ ÐÏÒÞÅ "ÎÏÌÉËÁ" ÏÔ×ÁÌÉ×ÁÅÔ ÎÅÉÚ×ÅÓÔÎÏ ËÕÄÁ É ÔÁÍ ON> ÚÁ×ÉÓÁÅÔ. ON> ÷ ÃÅÎÅ ÐÏÓÌÅÄÓÔ×ÉÊ ×ÅÓØ ×ÏÐÒÏÓ.

üÔÏ ÃÅÎÁ ×ÏÐÒÏÓÁ ÉÓËÌÀÞÉÔÅÌØÎÏ ÄÌÑ ÔÅÈ, ËÔÏ ÒÁÚÂÉÒÁÅÔ ÓÔÒÏËÉ ÐÏ ÂÁÊÔÉËÁÍ É ×ÒÕÞÎÕÀ. ðÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÂÏÌÅÅ ÁÄÅË×ÁÔÎÙÈ ÓÒÅÄÓÔ× ÔÁË ×ÏÐÒÏÓ ÎÅ ÓÔÏÉÔ.

AK>> ôÙ ÐÒÏÓÉÌÁ ÐÒÉÍÅÒ, ÉÌÉ ÞÔÏ? ON> ñ ÎÅ ÐÒÏÓÉÌÁ ÐÒÉÍÅÒ ÄÅÔÓËÏÊ ÈÁÌÔÕÒÙ. ðÒÏÓÔÏ ÈÏÔÅÌÁ ÐÏÓÍÏÔÒÅÔØ, ËÁËÏÅ ON> ÞÕÄÏ×ÉÝÅ ON> ÒÏÖÄÁÅÔÓÑ ËÏÎÓÔÒÕËÃÉÑÍÉ óÉ × ÐÏÐÙÔËÁÈ ÒÅÁÌÉÚÏ×ÁÔØ ÎÏÒÍÁÌØÎÙÅ ÓÔÒÏËÉ ON> ðÁÓËÁÌÑ.

üÔÏ ÞÕÄÏ×ÉÝÅ ÍÅÖ ÔÅÍ, ÐÏÚ×ÏÌÑÅÔ ÒÁÂÏÔÁÔØ ÓÏ ÓÔÒÏËÁÍÉ ÌÀÂÏÊ (ÏÇÒÁÎÉÞÅÎÎÏÊ ÒÁÚÍÅÒÏÍ ×ÉÒÔÕÁÌØÎÏÊ ÐÁÍÑÔÉ) ÄÌÉÎÙ, É ÎÅ ÔÅÒÑÅÔ ÓÏ×ÍÅÓÔÉÍÏÓÔÉ Ó asciiz-ÓÔÒÏËÁÍÉ... ðÒÉÍÅÒÏ× ÒÅÁÌÉÚÁÃÉÉ ÐÏÌÎÏ, ÖÅÌÁÀÝÉÅ ÌÅÇËÏ ÎÁÊÄÕÔ × google groups.

ON>>> ÎÁÄÏ ÂÙÌÏ ÐÉÓÁÔØ ËÁË ÍÉÎÉÍÕÍ: char cstr[SizeOf(zstr)]. AK>> èÉ-ÈÉ, Á ×ÏÔ SizeOf - ÜÔÏ ÕÖÅ É × ÓÁÍÏÍ ÄÅÌÅ ÏÛÉÂËÁ ÓÉÎÔÁËÓÉÓÁ, ÐÏÓËÏÌØËÕ AK>> ÞÕ×ÓÔ×ÉÔÅÌØÎÏÓÔØ Ë ÒÅÇÉÓÔÒÕ ÅÓÔØ ÏÓÏÂÅÎÎÏÓÔØ ÓÉÎÔÁËÓÉÓÁ ÓÉ ;-) ON> á ÅÓÌÉ ÐÏ-ÓÕÝÅÓÔ×Õ, ÂÅÚ Õ×ÏÒÁÞÉ×ÁÎÉÊ- ÄÏÐÕÓÔÉÌÉ ÷Ù ÓÉÎÔÁËÓÉÓÁ ÏÛÉÂËÕ ÉÌÉ ON> ÎÅÔ? ON> äÁ, ÉÌÉ ÎÅÔ?

HÅÔ. äÏËÁÚÁÔÅÌØÓÔ×Ï? üÔÏ ËÏÍÐÉÌÉÒÕÅÔÓÑ.

ON> ËÁËÉÍ-ÌÉÂÏ ÑÚÙËÏÍ ÐÒÏÇÒÁÍÍÉÒÏ×ÁÎÉÑ. äÌÑ ÍÅÌËÉÈ ÏÄÎÏËÒÉÓÔÁÌÌÏË ÓÉÛÎÙÅ ON> z-ÓÔÒÏËÉ ON> ËÒÁÊÎÅ ÎÅ×ÙÇÏÄÎÙ, Ô.Ë. ÔÒÅÂÕÀÔ ÄÏÐ.ÒÁÓÈÏÄÏ× ÐÏ ÍÁÎÁÇÅÒÓÔ×Õ ÄÉÎÁÍÉÞÅÓËÏÇÏ ON> ÒÁÓÐÒÅÄÅÌÅÎÉÉ ÐÁÍÑÔÉ ÐÏÄ ÎÉÈ É ÏÞÅÎØ ÓÌÏÖÎÏÇÏ ÏÔÓÌÅÖÉ×ÁÎÉÑ ÏÛÉÂÏÞÎÙÈ ON> ÓÉÔÕÁÃÉÊ. á Ñ ×ÏÔ ÎÅ ÚÎÁÀ, É ÏÎÉ ÐÒÅËÒÁÓÎÏ ÖÉ×ÕÔ ×ÏÏÂÝÅ × ÓÔÁÔÉÞÅÓËÉ ÒÁÓÐÒÅÄẠ̊ÎÎÏÊ ÐÁÍÑÔÉ...

ON> äÒÕÇÉÈ ÔÉÐÏ× ÓÔÒÏË × ÑÚÙËÅ óÉ É ÅÇÏ ÂÉÂÌÉÏÔÅËÁÈ ÎÅ ÐÒÅÄÕÓÍÏÔÒÅÎÏ. úÎÁÞÉÔ, ON> ÑÚÙË ON> óÉ ÐÌÏÈÏ ÐÏÄÈÏÄÉÔ ÄÌÑ ÍÅÌËÉÈ ÏÄÎÏËÒÉÓÔÁÌÌÏË. ìÏÇÉËÁ ÄÏÓÔÕÐÎÁ?

âÒÅÄ.

Hello, Olga Nonova !

åÓÌÉ ÔÙ ÄÕÍÁÅÛØ, ÞÔÏ ÎÅÓËÏÌØËÏ ÆÕÎËÃÉÊ ÄÌÑ ÒÁÂÏÔÙ ÓÏ ÓÔÒÏËÁÍÉ - ÜÔÏ ×ÓÅ ÂÉÂÌÉÏÔÅËÉ, ÔÏ ÜÔÏ Ô×ÏÉ ÌÉÞÎÙÅ ÔÒÕÄÎÏÓÔÉ.

ðÒÉ×ÙÞËÁ ÔÕÔ ÎÁ ÐÒÅÄÐÏÓÌÅÄÎÅÍ ÍÅÓÔÅ. é ËÏÇÄÁ áÔÍÅÌ ÐÏÏÂÝÁÌ ÓÄÅÌÁÔØ ÄÅÛÅ×ÙÊ ËÏÎÔÒÏÌÌÅÒ, ÄÁ ÅÝÅ É ÏÒÉÅÎÔÉÒÏ×ÁÎÎÙÊ × ÔÏÞÎÏÓÔÉ ÎÁ ÎÁÛÉ ÚÁÄÁÞÉ, Ñ ÂÙÓÔÒÅÎØËÏ ÏÓ×ÏÉÌ ÓÒÅÄÓÔ×Á ÒÁÚÒÁÂÏÔËÉ ÐÏÄ ÎÅÇÏ É ÐÅÒÅÎÅÓ ÂïÌØÛÕÀ ÞÁÓÔØ ÐÒÏÇÒÁÍÍÎÙÈ ÂÌÏËÏ× É ÐÏÄÇÏÔÏ×ÉÌ ÏÂÒÁÍÌÅÎÉÅ ÄÌÑ ÎÕÖÎÏÇÏ ÎÁÍ ÖÅÌÅÚÁ (ÔÁÊÍÅÒÙ, uart, PWM, ADC) ÎÁ 8515 É ËÁËÏÊ-ÔÏ íÅÇÅ. ïÄÎÁËÏ ÇÄÅ-ÔÏ ÎÁ ÆÁÚÅ preliminary datasheet áÔÍÅÌ ÓËÉÓ, ÏÂÅÝÁÎÎÙÅ ÞÅÒÅÚ ÍÅÓÑà ÓÜÍÐÌÙ ÎÅ ÐÏÑ×ÉÌÉÓØ É ÞÅÒÅÚ ÇÏÄ, ÏÂÅÝÁÎÎÙÅ ÃÅÎÙ ÔÏÖÅ ÓÔÁÌÉ ×ÙÚÙ×ÁÔØ ÕÄÉ×ÌÅÎÉÅ Õ ÉÈ ÐÒÅÄÓÔÁ×ÉÔÅÌÅÊ, ËÏÒÏÞÅ ÎÅ ÓÌÏÖÉÌÏÓØ. óÐÏÓÏÂÎÙÅ ÖÅ ËÏÎËÕÒÉÒÏ×ÁÔØ Ó ÍÉËÒÏÞÉÐÏ×ÓËÉÍÉ ÕÎÉ×ÅÒÓÁÌØÎÙÅ ËÒÉÓÔÁÌÌÙ áÔÍÅÌ ÎÅ ÍÏÖÅÔ ÎÁÍ ÐÒÅÄÌÏÖÉÔØ ÎÅ ÔÏ ÞÔÏ ÐÏ ÃÅÎÁÍ, ÏÐÒÁ×ÄÙ×ÁÀÝÉÍ ÚÁÔÒÁÔÙ ÎÁ ÐÅÒÅÄÅÌËÕ ÐÌÁÔ É ÉÓÐÙÔÁÎÉÑ, ÎÏ É ÐÒÏÓÔÏ ÎÉÖÅ ÍÉËÒÏÞÉÐÏ×ÓËÉÈ. äÁ, ÐÏ ÓÏÏÔÎÏÛÅÎÉÀ ×ÏÚÍÏÖÎÏÓÔÉ/ÃÅÎÁ ÏÎÉ ÍÏÖÅÔ × ÞÅÍ-ÔÏ Õ íÉËÒÏÞÉÐÁ É ×ÙÉÇÒÙ×ÁÀÔ, ÎÏ ËÏÇÄÁ ÐÏÌÏ×ÉÎÁ ÜÔÉÈ ×ÏÚÍÏÖÎÏÓÔÅÊ ÎÅ ÎÕÖÎÁ - ÜÔÏ ÞÉÓÔÙÊ ÒÁÓÈÏÄ. äÁ ÅÝÅ ÜÔÉ ÐÏÓÔÏÑÎÎÏ ÓÌÙÛÉÍÙÅ ÓÌÏ×Á ÞÔÏ ÔÏ EEPROM ÓÌÅÔÅÌ, ÔÏ ÓÁÍ flash, ÔÏ ÉÍ ÓÕÐÅÒ×ÉÚÏÒ ÎÅÏÂÈÏÄÉÍ (ÅÝÅ ÄÅÎØÇÉ É ÍÅÓÔÏ)... ÷ÒÏÄÅ ×ÓÅ ÜÔÏ ÐÏÔÏÍ ÎÅ ÎÁÈÏÄÉÔ ÄÏËÕÍÅÎÔÁÌØÎÏÇÏ ÐÏÄÔ×ÅÒÖÄÅÎÉÑ, ÎÏ "ÌÏÖËÉ ÎÁÛÌÉÓØ, Á ÏÓÁÄÏË ÏÓÔÁÌÓÑ".

PIC - ÎÉËÁËÉÈ. á ×ÏÔ ÞÔÏ ÔÁÍ ÄÅÌÁÅÔ ÐÒÏÇÒÁÍÍÁ ÍÙ ÔÅÂÅ ÎÅ ÒÁÓÓËÁÖÅÍ, ÜÔÏ ÍÎÏÇÏ ÄÅÎÅÇ ÓÔÏÉÔ.

éÚÀÍÉÎËÁ × ÐÒÏÃÅÄÕÒÅ ÚÁÖÉÇÁÎÉÑ É ÒÁÚÏÇÒÅ×Á ÌÁÍÐÙ. ó Õ×ÁÖÅÎÉÅÍ, äÉÍÁ ïÒÌÏ×.

Hello, Olga Nonova !

äÅÔÏÞËÁ, ÐÏÒÁ ÐÒÅËÒÁÝÁÔØ ÐÉÓÁÔØ ÐÒÏÇÒÁÍÍÙ ÄÌÑ MS-DOS, ÏÎÉ ÕÖÅ ÎÉËÏÍÕ ÎÅ ÎÕÖÎÙ. HÉËÁËÉÅ ÄÒÕÇÉÅ ÉÎÓÔÒÕÍÅÎÔÁÌØÎÙÅ ÓÒÅÄÓÔ×Á ÚÁÐÉÓØ ÚÁ ÐÒÅÄÅÌÙ ÂÕÆÅÒÁ × ÏÔÌÁÖÉ×ÁÅÍÏÊ ÐÒÏÇÒÁÍÍÅ ÎÅ ×ÁÌÉÔ. ëÓÔÁÔÉ Ó ðÁÓËÁÌÅÍ ÐÒÏÉÓÈÏÄÉÔ ÔÏÖÅ ÓÁÍÏÅ, ÅÓÌÉ ÐÉÓÁÔØ ÞÔÏ-ÔÏ ÓÌÏÖÎÅÅ, ÞÅÍ Write('Hello'+'World!');

ëÏÔÏÒÁÑ ÎÁÞÉÎÁÅÔ ÔÁËÖÅ ×ÁÌÉÔØÓÑ ÏÔ ÐÒÉÛÅÄÛÉÈ ÓÎÁÒÕÖÉ ÎÅÐÒÁ×ÉÌØÎÙÈ ÄÁÎÎÙÈ...

þÔÏ ÔÒÕÄÎÏ ÒÅÁÌÉÚÏ×ÁÔØ?

üÔÏ ÏÞÅÎØ ÄÁÖÅ ×ÎÕÔÒÉ ÜÈÏÔÁÇÁ. õÖÅ ÄÌÑ AVR ÄÏÓÔÕÐÅÎ ËÏÍÐÉÌÑÔÏÒ Ó ó++, ÄÌÑ ÂÏÌÅÅ ÍÏÝÎÙÈ ÏÄÎÏËÒÉÓÔÁÌÌÏË - É ÐÏÄÁ×ÎÏ.

âÒÅÄ.

ôÙ ×ÏÏÂÝÅ × Ó×ÏÅÍ ÕÍÅ? ëÁËÏÊ ÉÄÉÏÔ ÐÏÌÅÚÅÔ ÄÉÚÁÓÓÅÍÂÌÉÒÏ×ÁÔØ ÔÏ, ÞÔÏ ÕÖÅ ÌÅÖÉÔ ÎÁ ÄÉÓËÅ _× ÉÓÈÏÄÎÉËÁÈ_, Ë ÔÏÍÕ ÖÅ ÐÏ ÂÏÌØÛÅÊ ÞÁÓÔÉ × ÓÉÛÎÙÈ ÖÅ ÉÓÈÏÄÎÉËÁÈ?

HÁ ÔÁËÉÈ ËÁË ÔÙ - ÔÏÞÎÏ ÞÔÏ ÎÅÔ.

ó Õ×ÁÖÅÎÉÅÍ, äÉÍÁ ïÒÌÏ×.

Hello Dima!

18 íÁÒ 05 17:38, you wrote to Olga Nonova:

DO> é ÞÔÏ? ïÓÏÂÅÎÎÏ ÕÞÉÔÙ×ÁÑ, ÞÔÏ ÓËÏÌØËÏ-ÔÏ ÒÁÂÏÔÏÓÐÏÓÏÂÎÏÇÏ ÐÁÓËÁÌÑ ÐÏÄ DO> ÜÔÉ ÁÒÈÉÔÅËÔÕÒÙ ÎÅÔ É ÎÅ ÐÒÅÄ×ÉÄÉÔÓÑ.

çÄÅ-ÔÏ ×ÉÄÅÌ.

Yauhen

... Powered by Linux

Hi Harry, hope you are having a nice day!

18 Мар 05, Harry Zhurov wrote to Alexey V Bugrov:

AV>> Hикак. Ядро (таскманагер) писать с нуля. Все остальное может быть AV>> и на С написано, легко перенесется. HZ> Похоже, у нас несколько разное восприятие понятия "ядро". Вот ISR, HZ> где возможно перепланирование - это ядро?

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

Т.е. у меня ISR - это не ядро, оно может быть писано на чем угодно, только вот его вызов перехватывается ядром, которое делает всю черную работу. У меня _внутри_ пользовательского ISR никакое перпланирование невозможно.

HZ>>> дают некую свободу в конкретном случае, но решение получается HZ>>> частным со всеми вытекающими. AV>> Даже для uC/OS Лябрус вполне прозрачно написал, что если AV>> интересует результат, а не процесс, то самая главная часть ОС, в AV>> том числе планировщик, должна быть написана на асме. Обвеска на C AV>> - сколько угодно. HZ> Hо сам-то он все на С делает.

Note that OSSched() could be written entirely in assembly language to reduce scheduling time. OSSched() was written in C for readability, portability and also to minimize assembly language.

Вот если последнее не требуется (ты же не занимаешься написанием ос на продажу и каждый день с платформы на платформу не прыгаешь) то писание на асме полностью оправдано.

HZ> Hа асме только низкоуровневый код HZ> вроде переключения контекстов. И тут я с ним целиком и полностью HZ> согласен, и делаю именно так. Hо функции переключения контекстов - HZ> очень небольшая часть от всего остального. А все остальное прекрасно HZ> пишется на С и оверхеда почти не создает.

А я о чем говорил? Все тоже самое + планировщик и другая концепция работы с прерываниями.

AV>> Да. Обработчик прерывания - это функция. Какая разница кто ее AV>> вызовет: внешнее событие или другой код? Единственная проблема - AV>> это reti вместо ret на выходе. Hо это можно обойти.

HZ> А вектора прерываний ты сам руками вставляешь?

;=============================================================== OS_ISRV_SECT CODE 0x0018 ; адрес вектора прерывания. Сюда ядро прибито гвоздями. ;--------------------------------------------------------------- ; save minimal context ; [skip, ибо не существенно] ; btfsc OS_CtxSwPending ; check OS request, переключение контекста запрошено вне прывания. bra _skip_user_isr ;--------------------------------------------------------------- ; proceed user interrupts ; incf OS_bIntLevel,F,ACCESS ; increment interrupt nest level incf OS_bLockCount,F,ACCESS ; we are inside interrupt, so increment locker ; call OS_ISR ; call user ISR (это тот самый обработчик, который сгенерил компилятор) ; decf OS_bLockCount,F,ACCESS decfsz OS_bIntLevel,F,ACCESS ; decrement interrupt nest level bra _os_exit ; if not zero skip task scheduler ; _skip_user_isr: ;--------------------------------------------------------------- ; тута смотрим надо ли запускать планировщик и т.д.

HZ> Поясню, что имеется HZ> в виду: в IAR'е, например, есть волшебное слово __interrupt, которое HZ> придает функции особый статус - в частности, компилятор сохраняет все HZ> используемые регистры, а не только local.

Hу и что? Это даже замечательно. От этого сгенерированный код перестал быть функцией, которая может быть вызвана коммандой call?

HZ> И еще там же предназначена к HZ> использованию волшебная прагма: #pragma vector=..., где указываешь HZ> адрес ISR.

Хинт: в этой прагме указываешь не адрес вектора, а некий произвольный адрес вне таблицы векторов. Или вообще не указываешь эту прагму, пусть функция будет там где она есть, а вектор останется не тронутым. В таблице векторов располагаешь врапер на асме, который делает описанную мной работу и вызывает этот самый обработчик (OS_ISR), расположенный по адресу, указанному в прагме.

HZ> Таким образом, компилятор делает всю остальную работу - HZ> помещение адреса ISR в таблицу векторов прерываний, реализует HZ> поведение внутри ISR как это полагается делать (все же HZ> обработчик прерываний - непростая функция).

Единственное отличие - это reti в конце вместо ret. Все остальное несущественно.

HZ> Если отказываться от этого сервиса, то придется кое-что делать HZ> руками, что не есть удобно и вдобавок граблечревато.

Если концепция одна и она не меняется, то грабли надо еще умудриться найти.

AV>> Ой. Эти десять строчек надо на асме писать. HZ> Понятно. Т.е. в сухом остатке: надо, чтобы ISR был обычной HZ> функцией, где часть кода написана на асме. Больше вопросов не имею.

Как вариант. Hо можно и более детально исследовать вопрос со штатными возможностями компилятора.

[skip]

HZ> Если будет требоваться скорость (либо какие-то другие причины HZ> вынудят), то так и делаем. Что выбрать - второй вопрос. Hо пока по HZ> скорости устраивает, можно и не дергаться, а решить все в лоб.

Это вопрос для отдельной дискуссии, но все-таки я надеюсь, что обсуждаем разные способы реализации планировщика и пытаемся взвесить их плюсы и минусы. Для моего варианта я вижу пока минус только один: меньшая (не очень значительно) переносимость кода и чуть-чуть большие накладные расходы на вход/выход из обработчика. Зато мы получаем прозрачность написания пользовательских прерываний (не делим их на осевые и неосевые), не стесняясь использовать функции ОС по прямому назначению (т.е фукции сигнализации в прерываниях) и увеличение скорости обработки прерываний, т.к. переключение контекста происходит только тогда, когда оно затребовано сигналом.

HZ>>> чтобы он вообще к этому не касался. Тогда пишем на входе свой код HZ>>> сохранения, на выходе свой код восстановления.

AV>> Hа асме?

HZ> Естественно. Пишется макрос, который состоит из ассемблерных HZ> вставок. Один на входе (сохранение), другой на выходе HZ> (восстановление).

Если это допустимо, то и вставить перед выходом из функции прерывания, сгенерированной компилятором, _asm(ret) труда не составит (это чтобы подменить reti компилятора). Значит мой вариант реализуем на 100%. Hикаких макросов для сохранения/восстановления контекста в ISR не потребуется.

WBR, AVB

MB>>> ðpÅÖÄÅ ×ÓÅÇÏ, ÎÁÓޣÔ ÇÌÀÞÎÏÓÔÉ É ÎÅÇÌÀÞÎÏÓÔÉ ÂÉÂÌÉÏÔÅË. ñ MB>>> ÞÔÏ-ÔÏ ÎÅ ÓÌÙÛÁÌ ÐpÏ ÇÌÀÞÎÙÅ ÂÉÂÌÉÏÔÅËÉ - ÎÉ × ÂÏpÌÁÎÄÏ×ÓËÉÈ ÐÁËÅÔÁÈ MB>>> ÄÌÑ KF>> äÁ, y ÂÏpÌÁÎÄÁ ÏÎÉ ÎÅ ÇÌÀÞÎÙÅ. üÔÏ ÏÓÏÂÅÎÎÏÓÔÉ pÅÁÌÉÚÁÃÉÉ. MB> ïÄÉÎ ÇÌÀË, ÔÅÍ ÎÅ ÍÅÎÅÅ, yÖÅ ÐÏÄÓËÁÚÁÌÉ - Ó ÁpËÔÁÎÇÅÎÓÏÍ. ôÁË ÛÔÁ...

üÔÏ ÎÅ ÂÁÇÁ, ÜÔÏ ÆÉÞÁ. é ÉÈ ÔÁÍ Åݣ ÐÏÌÎÏ...

MP> áÂÓÏÌÀÔÎÁÑ ÎÅÞÉÔÁÅÍÏÓÔØ - ÜÔÏ ÓÐÅÃÉÁÌØÎÙÊ ÆÁËÔÏÒ ÕÄÅÒÖÁÎÉÑ ÒÁÂÏÔÎÉËÁ ÎÁ MP> ÒÁÂÏÞÅÍ MP> ÍÅÓÔÅ ËÏÔÏÒÙÊ × ÐÒÏÇÒÁÍÍÉÓÔÓËÏÊ ÓÒÅÄÅ ÐÒÉÎÑÔÏ ÎÁÚÙ×ÁÔØ "ÐÒÏÓÔÏÔÏÊ MP> ÓÏÐÒÏ×ÏÖÄÅÎÉÑ MP> !". (× ÄÁÎÎÏÍ ÓÌÕÞÁÅ ÚÎÁË ÏÚÎÁÞÁÅÔ ÉÎ×ÅÒÓÉÀ, ÎÏ ÞÁÊÎÉËÉ ÎÅ ×ËÕÒÉ×ÁÀÔ). MP> ëÏÇÄÁ

MP> CÕÝÅÓÔ×ÕÅÔ ÏÇÒÏÍÎÙÅ ÇÁÄÀÛÎÉËÉ ÎÅÞÉÔÁÅÍÙÈ ÉÓÈÏÄÎÉËÏ×, ÎÁÐÒÉÍÅÒ sourceforge, MP> ÍÅÖÄÕ ÓÏÂÏÊ ÐÒÏÇÒÁÍÍÉÓÔÙ ÐÏÇÏ×ÁÒÉ×ÁÀÔ, ÞÔÏ ÔÏÔ ÞÅÌÏ×ÅË, ËÏÔÏÒÏÍÕ ÕÄÁÌÏÓØ MP> ÈÏÔÑ-ÂÙ ÓÏÂÒÁÔØ ÞÁÓÔØ ÉÚ ×ÙÌÏÖÅÎÎÏÇÏ ÔÁÍ - ÕÖÅ ËÒÕÔ ÎÅÍÅÒÑÎÎÏ. ÷

MP> ÁÂÓÏÌÀÔÎÏ ÌÀÂÏÍÕ ÞÅÌÏ×ÅËÕ! ðÏÔÏÍÕ, ÞÔÏ ËÒÁËÅÒ - òåûáåô ðïóôá÷ìåHHõà MP> úáäáþõ! ïÎ MP> ÎÅ ÚÁÎÉÍÁÅÔÓÑ ÉÇÒÉÝÁÍÉ Ó ÅÎÄÉÁÎÎÏÓÔØÀ É 5-ÔØÀ ÕÒÏ×ÎÑÍÉ ÁÂÓÔÒÁËÃÉÉ × 10-ÔÉ MP> ÈÉÄÅÒÁÈ, ÅÍÕ ÐÒÏÓÔÏ ÎÅËÏÇÄÁ ÚÁÎÉÍÁÔÓÑ ÔÁËÏÊ ÍÁÌÏÚÎÁÞÉÍÏÊ ÄÌÑ ÒÅÛÅÎÉÑ

òÁÓÐÅÞÁÔÁÀ É ÐÏ×ÅÛÕ ÎÁ ÓÔÅÎÕ.

LB>> ôÁËÏÊ ÖÅ ËÁË ÅÓÌÉ × ÐÏÌÕÔÏÒÎÙÊ ÇÒÕÚÏ×ÉË ÎÁÇÒÕÚÉÔØ 5 ÔÏÎÎ. ðÏÞÅÍÕ ÔÙ LB>> ÈÏÞÅÛØ ÏÔ ÂÉÂÌÉÏÔÅÞÎÏÊ ÆÕÎËÃÉÉ ÔÏÇÏ, ÞÅÇÏ ÏÎÁ ÎÉ ËÏÍÕ ÎÅ ÏÂÅÝÁÌÁ? ON> ñ ÂÙ ÈÏÔÅÌÁ, ÞÔÏÂÙ ÂÉÂÌÉÏÔÅÞÎÁÑ ÆÕÎËÃÉÑ ÐÏ-ËÒÁÊÎÅÊ ÍÅÒÅ ÎÅ ÏÂÒÕÛÉ×ÁÌÁ ×ÓÀ ON> ÓÉÓÔÅÍÕ ÃÅÌÉËÏÍ ÐÒÉ ÎÅËÏÒÒÅËÔÎÙÈ ÏÂÒÁÝÅÎÉÑÈ.

tcl, perl, python ×ÁÍ × ÒÕËÉ...

ON> ôÁËÏÅ ÏÂÒÕÛÉ×ÁÎÉÅ ÄÅÌÁÅÔ ÐÏÞÔÉ ÎÅ×ÏÚÍÏÖÎÙÍ ÏÔÌÁÄËÕ ÐÒÉÌÏÖÅÎÉÑ, ON> ÐÁÄÁÀÔ ×ÓÅ ÉÎÓÔÒÕÍÅÎÔÁÌØÎÙÅ ÓÒÅÄÓÔ×Á.

äÌÑ ÜÔÏÇÏ É ÉÍÅÅÔÓÑ "5 ÕÒÏ×ÎÅÊ ÁÂÓÔÒÁËÃÉÉ × 10 ÈÉÄÅÒÁÈ", ËÏÇÄÁ ÐÁÄÁÀÝÅÅ ÐÒÉÌÏÖÅÎÉÅ ÜÌÅÍÅÎÔÁÒÎÏ ËÏÍÐÉÌÉÒÕÅÔÓÑ ÎÁ ÐÉÓÀË, ÔÁÍ ÂÌÁÇÏÐÏÌÕÞÎÏ ÐÁÄÁÅÔ É ÓÍÏÔÒÉÔÓÑ ÇÄÅ É ÐÏÞÅÍÕ ÏÎÏ ÕÐÁÌÏ. ðÒÏÓÔÏ É ÄÏÓÔÕÐÎÏ. áÓÓÅÍÂÌÅÒ ÏÔÄÙÈÁÅÔ.

ON> ðÏÎÑÔØ ÞÔÏ-ÇÄÅ ÐÒÏÉÚÏÛÌÏ- ÎÅ×ÏÚÍÏÖÎÏ. ó ÐÒÏÇÒÁÍÍÁÍÉ ÎÁ ðÁÓËÁÌÅ ÔÁËÏÇÏ ON> ÎÅ ÐÒÏÉÓÈÏÄÉÔ.

function blablabla (s:string): boolean; begin (* ÏÂÒÁÂÏÔËÁ ÓÔÒÏËÉ, ÐÏÓÉÍ×ÏÌØÎÏ *) end;

÷ÏÐÒÏÓ: ÞÔÏ ÐÒÏÉÚÏÊģÔ, ÅÓÌÉ ÆÕÎËÃÉÉ blablabla ÐÏÄÓÕÎÕÔØ ÓÔÒÏËÕ Ó ÉÓÐÏÒÞÅÎÎÙÍ ÓޣÔÞÉËÏÍ ÓÉÍ×ÏÌÏ×? ïÔËÕÄÁ ËÏÍÐÉÌÑÔÏÒ ÍÏÖÅÔ ÚÎÁÔØ ÉÓÔÉÎÎÕÀ ÄÌÉÎÕ ÓÔÒÏËÉ... ÁÈ ÄÁ, × ÜÔÏÍ ×ÁÛÅÍ ÇÁÄÓËÏÍ ÐÁÓËÁÌÅ ÓÔÒÏËÉ-ÔÏ ÐÏ ÚÎÁÞÅÎÉÀ ÐÅÒÅÄÁÀÔÓÑ, ËÏÐÉÒÏ×ÁÎÉÅÍ! á ÅÓÌÉ ÐÏ ÓÓÙÌËÅ ÐÅÒÅÄÁÔØ ("var s:string") ? åݣ ÈÉÔÒÙÊ ×ÏÐÒÏÓ. á ËÁË × ÜÔÏÍ ×ÁÛÅÍ ÇÁÄÓËÏÍ ÐÁÓËÁÌÅ, ÎÅ ÎÁÄÏ ÔÏÌØËÏ ÏÏÐÝÉÎÕ ÐÒÉ×ÌÅËÁÔØ, ÎÁÐÉÓÁÔØ ÆÕÎËÃÉÀ ÓÏÒÔÉÒÏ×ËÉ ÐÒÉÍÅÎÉÍÕÀ Ë ÐÒÏÉÚ×ÏÌØÎÏÍÕ ÔÉÐÕ ÄÁÎÎÙÈ? ÷ÏÔ × libc ÉÍÅÅÔÓÑ qsort.

ON>>> ïÔÎÀÄØ! õ Pascal ÍÏÖÎÏ ×ËÄÀÞÉÔ ÏÐÃÉÀ ËÏÍÐÉÌÑÔÏÒÁ "Á×ÔÏÍÁÔÉÞÅÓËÁÑ ON>>> ÐÒÏ×ÅÒËÁ ×ÙÈÏÄÁ ÚÁ ÄÅËÌÁÒÉÒÏ×ÁÎÎÙÊ ÒÁÚÍÅÒ". éÓÐÏÒÞÅÎÎÁÑ ÄÌÉÎÁ ON>>> ÓÔÒÏËÉ- ÏÔÄÙÈÁÅÔ.

ñ ÓÞÉÔÁÀ, ÌÕÞÛÅ ÐÒÏÇÒÁÍÍÁ ÓÔÁÂÉÌØÎÏ ×ÁÌÑÝÁÑÓÑ × core, ÞÅÍ ÉÚÒÅÄËÁ É ÐÏ-ÈÉÔÒÏÍÕ ÓÂÏÑÝÁÑ. ôÁË ×ÏÔ × ÓÉÛÎÏÍ ×ÁÒÉÁÎÔÅ × core Ó×ÁÌÉÔØÓÑ ÇÏÒÁÚÄÏ ÌÅÇÞÅ.

ON> äÌÑ z-ÓÔÒÏË, ÐÒÉÎÑÔÙÈ × óÉ, ÔÁËÕÀ ÐÒÏ×ÅÒËÕ ÒÅÁÌÉÚÏ×ÁÔØ ÞÒÅÚ×ÙÞÁÊÎÏ ÔÒÕÄÎÏ. ON> çÏ×ÏÒÑÔ, ÞÔÏ ÔÏÌØËÏ × ó++, ÎÏ ÜÔÏ ÕÖÅ ÚÁ ÐÒÅÄÅÌÁÍÉ ÜÈÏÔÁÇÁ.

÷ C ÍÏÖÎÏ ×ӣ, ÞÔÏ × ÁÓÓÅÍÂÌÅÒÅ. ÷ ÁÓÓÅÍÂÌÅÒÅ ÍÏÖÎÏ ×ӣ. üÔÏ ÁËÓÉÏÍÁ. ÷ÏÔ × ÐÁÓËÁÌÅ ÎÅÌØÚÑ ÎÁÐÉÓÁÔØ ÎÉ printf, ÎÉ ÎÅÚÁ×ÉÓÉÍÙÊ ÏÔ ÔÉÐÁ qsort. ÷ÏÔ ÜÔÏ ÐÒÏÂÌÅÍÁ...

LB>> üÔÏ ÄÅÌÁÀÔ Á×ÔÏÒÙ ÜÔÉÈ ÂÉÂÌÉÏÔÅË, Á ÐÒÏ×ÅÒÑÀÔ, ËÒÏÍÅ Á×ÔÏÒÏ×, ÅÝÅ É LB>> ÔÙÓÑÞÉ ÐÏÌØÚÏ×ÁÔÅÌÅÊ ÜÔÉÈ ÂÉÂÌÉÏÔÅË. ON> á×ÔÏÒÙ ËÏÍÐÉÌÑÔÏÒÏ× ËÁË ÒÁÚ ÏÞÅÎØ ÎÅÂÒÅÖÎÏ ÏÔÎÏÓÑÔÓÑ Ë ÓÏÐÒÏ×ÏÖÄÁÀÝÉÍ ON> ÂÉÂÌÉÏÔÅËÁÍ, ÓÞÉÔÁÀÔ ÉÈ ×ÔÏÒÏÓÔÅÐÅÎÎÙÍ ÄÅÌÏÍ. á ÎÁ ÓÞÅÔ "ÔÙÓÑÞ ON> ÐÏÌØÚÏ×ÁÔÅÌÅÊ"-

äÁ, ×ÁÍ ÜÔÏ ÂÅÚÕÓÌÏ×ÎÏ ÏÞÅÎØ ÈÏÒÏÛÏ ÉÚ×ÅÓÔÎÏ, ËÁË ÏÔÎÏÓÑÔÓÑ Ë ÂÉÂÌÉÏÔÅËÁÍ Á×ÔÏÒÙ ËÏÍÐÉÌÑÔÏÒÏ×... õ ÂÉÂÌÉÏÔÅË, Ñ ÄÕÍÁÀ, ÅÓÔØ Ó×ÏÉ Á×ÔÏÒÙ, ËÏÔÏÒÙÅ Ë ÎÉÍ ÌÕÞÛÅ ÏÔÎÏÓÑÔÓÑ, É ÏÔÎÏÓÑÔÓÑ ÓÁÍÙÍ ÎÅÐÏÓÒÅÄÓÔ×ÅÎÎÙÍ ÏÂÒÁÚÏÍ.

ON> ÜÔÏ ÓÉÌØÎÏÅ ÐÒÅÕ×ÅÌÉÞÅÎÉÅ. íÁËÓÉÍÕÍ ÓÙÝÅÔÓÑ ÐÁÒÁ ÆÁÎÁÔÉËÏ×, ÞÔÏ ÐÏÌÅÚÅÔ ON> ÄÉÚÁÓÓÅÍÂÌÉÒÏ×ÁÔØ ÂÉÂÌÉÏÔÅËÉ É ÉÓËÁÔØ × ÎÉÈ ÂÁÇÉ. HÁ ÐÏÌØÚÏ×ÁÔÅÌÅÊ × ÜÔÏÍ ON> ÄÅÌÅ-ÓÏ×ÅÒÛÅÎÎÏ ÎÉËÁËÏÊ ÎÁÄÅÖÄÙ.

ôÏ-ÔÏ ÖÅ ÂÉÂÌÉÏÔÅËÉ ÞÁÓÔÏ ÐÒÅÄÏÓÔÁ×ÌÑÀÔÓÑ É × ÉÓÈÏÄÎÏÍ ËÏÄÅ.

ON>>> ïÂÙÞÎÙÅ ÓÔÒÏËÉ Pascal. ó ÎÉÍÉ ÏÂÙÞÎÏ ÎÉËÁËÉÈ ÈÌÏÐÏÔ ÎÅ ×ÏÚÎÉËÁÅÔ. GS>> ëÁË ÎÁÓޣÔ ÏÂßÅÄÉÎÅÎÉÑ Ä×ÕÈ "ÏÂÙÞÎÙÈ ÓÔÒÏË Pascal" × ÏÄÎÕ, ËÁÖÄÁÑ GS>> ÉÚ ÉÓÈÏÄÎÙÈ - ÐÏ 150 ÓÉÍ×ÏÌÏ×? ON> òÅÚÕÌØÔÁÔ ÂÕÄÅÔ ÏÂÒÅÚÁÎ ÄÏ ÒÁÚÍÅÒÁ 255. ðÒÉ ÜÔÏÍ, ÈÏÄ ÐÒÏÇÒÁÍÍÙ ÎÅ ON> ÓÏÂØÅÔÓÑ ON> ÄÁÖÅ ÐÒÉ ÏÔËÌÀÞÅÎÎÏÊ ÏÐÃÉÉ ÐÒÏ×ÅÒËÉ ÎÁ ÄÉÁÐÁÚÏÎ.

á ÜÔÏ ÐÌÏÈÏ, ÞÔÏ ÏÎ ÎÅ ÓÏÂأÔÓÑ. âÕÄÕÔ ÒÅÄËÏ ×ÏÚÎÉËÁÀÝÉÅ É ÔÒÕÄÎÏ ×ÏÓÐÒÏÉÚ×ÏÄÉÍÙÅ ÂÁÇÉ. á ÈÏÒÏÛÉÊ ÂÁÇ, ËÁË ÉÚ×ÅÓÔÎÏ, ÌÀÂÉÔ ÈÏÒÏÛÅÊ ÐÏ×ÔÏÒÑÅÍÏÓÔÉ É ÐÒÅÄÓËÁÚÕÅÍÏÓÔÉ. ëÏÇÄÁ ÐÒÏÇÒÁÍÍÁ ÇÁÒÁÎÔÉÒÏ×ÁÎÎÏ Ó×ÁÌÉ×ÁÅÔÓÑ × core -- ÜÔÏ ÈÏÒÏÛÉÊ, É ÌÅÇËÏ ÉÓÐÒÁ×ÉÍÙÊ ÂÁÇ.

ON> á ÅÓÌÉ ÔÏ ÖÅ ÓÁÍÏÅ ÐÒÏÄÅÌÁÔØ Ó z-ÓÔÒÏËÁÍÉ ÂÅÚ ÄÏÐÏÌÎÉÔÅÌØÎÏÇÏ ON> ÕÐÒÁ×ÌÅÎÉÑ ÄÉÎÁÍÉÞÅÓËÉÍ ÒÁÓÐÒÅÄÅÌÅÎÉÅÍ ÐÁÍÑÔÉ, ÔÏ ÒÕÈÎÅÔ ×ÓÑ ÐÒÏÇÒÁÍÍÁ.

òÕÈÎÕ×ÛÁÑ ÐÒÏÇÒÁÍÍÁ -- ÜÔÏ ÔÁËÏÊ ÓÐÏÓÏ ÏÂÒÁÂÏÔËÉ ÏÛÉÂÏË. á ïûéâëé ïâòáâáôù÷áôø Háäï. ÷óåçäá.

AB>> ñ ÔÏÞÎÏ ÎÅ ÐÏÎÑÌ, ÎÏ ÅÓÌÉ ÎÕÖÎÏ ÓÒÁ×ÎÅÎÉÅ ÓÔÒÏË, ÔÏ × avr-gcc ÅÓÔØ É ÜÔÏ: AB>> strcmp_P, strcasecmp_P, strncmp_P ON> ÷ ×ÅÒÓÉÉ 1.40 ÉÈ ÎÅ ÂÙÌÏ. ÷ÐÏÌÎÅ ÄÏÐÕÓËÁÀ, ÞÔÏ ÎÅÄÁ×ÎÏ ÂÙÌÉ ÐÒÏÉÚ×ÅÄÅÎÙ ON> ÄÏÐÏÌÎÅÎÉÑ. ðÏÄ ÄÁ×ÌÅÎÉÅÍ ÓÕÒÏ×ÏÊ ÐÒÁ×ÄÙ ÖÉÚÎÉ.

AVR GCC 1.40? äÁ... óËÁÖÕ ÐÏ ÓÅËÒÅÔÕ -- ÔÁËÏÇÏ ÎÉËÏÇÄÁ ÎÅ ÓÕÝÅÓÔ×Ï×ÁÌÏ. HÁÓËÏÌØËÏ Ñ ÐÏÍÎÀ, ×ӣ ÎÁÞÉÎÁÌÏÓØ Ó 3.0.0, ÍÏÖÅÔ ÂÙÔØ Ó ÐÏÓÌÅÄÎÉÈ 2.xx.

AG> üÔÁ ÐÒÏÂÌÅÍÁ ÔÒÁÄÉÃÉÏÎÎÏ ÒÅÛÁÅÔÓÑ ÐÒÏÓÔÅÊÛÅÊ ÐÁÍÑÔËÏÊ, ËÏÔÏÒÁÑ ÏÂÙÞÎÏ × AG> ×ÉÄÅ AG> ÎÁËÌÅÊËÉ ÐÒÉÌÁÇÁÅÔÓÑ Ë ÐÅÞÉ ÐÒÏÉÚÏÄÉÔÅÌÅÍ, ÉÌÉ ÎÁ ÈÕÄÏÊ ËÏÎÅà ÄÅÌÁÅÔÓÑ AG> ÓÁÍÉÍ AG> ÐÏÔÒÅÂÉÔÅÌÅÍ. âÙÌÏ ÂÙ ÖÅÌÁÎÉÅ... ON>> á Ó WEB-ÏÍ ×ÎÕÔÒÅ ÏÎÁ ÂÙ ÓÙÇÒÁÌÁ ÏÞÅÎØ ËÒÁÓÉ×Ï. AG> òÁÚ×Å ÞÔÏ × "ÑÝÉË"... ðÒÏÄÁÔØ ÔÁËÏÅ ÉÚÄÅÌÉÅ × ÍÁÓÓÏ×ÏÍ ÐÏÒÑÄËÅ ÎÅ×ÏÚÍÏÖÎÏ.

ó web'ÏÍ ÄÁ, ÎÅ×ÏÚÍÏÖÎÏ. ëÏÍÕ ÔÁËÏÅ ÎÁÄÏ, ×ÅÂÄÉÚÁÊÎÅÒÁÍ ÔÏÌØËÏ. á ×ÏÔ ÓÏ ×ÓÔÒÏÅÎÎÙÍ ÀÎÉÈÏÍ -- ×ÏÔ ÜÔÏ ÄÁ, ÉÚÄÅÌÉÅ, ÄÌÑ ÎÁÓÔÏÑÝÉÈ ÈÁËÅÒÏ×.
18-Mar-05 09:44 Alexey Boyko wrote to Olga Nonova:

LB>>> была возможность организовать т.н. "компилированый стек". ON>> Если честно, то задача контроля типов, слава Богу!, никак не решается. ON>> И горжусь этим. "Компилированный стек" тоже не реализуется.

AB> Компилированый стек - метод оптимизации использования памяти. Hа ассемблере, AB> естественно, реализуется. Hо вручную. Ну как сказать... Если инструмент поддерживает - то не вручную. Стек-то этот (оверлеи данных) строит линкер по дереву вызовов. В ассемблерном исходнике нужно просто позаводить сегменты с правильными именами для аргументов и локальных переменных функций - и всё. Я в ассемблерных подпрограммах под AvocetC51 применял несколько раз, чтобы локальные переменные подпрограмм включились в общее дерево. Так что и на чистом асме можно было бы.

wbr,

ðÒÉ×ÅÔÓÔ×ÕÀ ÷ÁÓ, ÍÎÏÇÏÕ×ÁÖÁÅÍÙÊ/ÁÑ/ÏÅ Kirill! óÕ íÁp 19 2005 00:52, Kirill Frolov ÐÉÓÁÌ Ë Michael Belousoff:

KF> Imho, ÎÁÉÂÏÌÅÅ ÕÄÏÂÅÎ ËÏÍÂÉÎÉÒÏ×ÁÎÎÙÊ ×ÁÒÉÁÎÔ. ëÏÇÄÁ ÓÔÒÏËÁ KF> (ÕËÁÚÁÔÅÌØ) ÚÁףÒÎÕÔÁ × ÓÔÒÕËÔÕÒÕ ÓÏ ÓޣÔÞÉËÏÍ ÄÌÉÎÙ É ÐÒÏÞÉÍÉ KF> ÒÁÚÎÙÍÉ ÁÔÒÉÂÕÔÁÍÉ (ÎÁÐÒÉÍÅÒ, ÓޣÔÞÉËÏÍ ÓÓÙÌÏË É Ô.Ð.)

ôÙ ÏÞÅÎØ ÈÏÒÏÛÏ ÏÐÉÓÁÌ Ô.Î. Long Strings, ÐÏÑ×É×ÛÉÅÓÑ × Delphi2 ÌÅÔ ÜÔÁË 10 ÎÁÚÁÄ ;). ó ÎÁÉÌÕÞÛÉÍÉ ÐÏÖÅÌÁÎÉÑÍÉ, Dmitri.

Join the Discussion

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

Didn't find your answer?

Ask the community — no account required