MPLAB C18 EEPROM initialization

Sep 02, 2009 358 Replies
ðÒÉ×ÅÔ, Slav Matveev!

27.09.2009 03:49 ÷Ù ÐÉÓÁÌÉ:

üÔÏ ËÁËÏÊ-ÔÏ ÌÅÎÉ×ÙÊ ËÏÍÐÉÌÑÔÏÒ. :) gcc ÄÁÖÅ ÐÒÉ Ñ×ÎÏÊ ÉÎÉÃÉÁÌÉÚÁÃÉÉ ÎÕÌÅÍ ÐÏÍÅÝÁÅÔ ÐÅÒÅÍÅÎÎÕÀ × .bss:

======== test.c ========== int a = 0; int b = 1; ========================== ======== test.s ========== .globl a .section .bss .p2align 2 .type a, @object .size a, 4 a: .zero 4 .globl b .data .p2align 2 .type b, @object .size b, 4 b: .long 1 ==========================

ðÒÉ×ÅÔ, Slav Matveev!

27.09.2009 03:50 ÷Ù ÐÉÓÁÌÉ:

óÅÍÁÎÔÉËÁ ÒÁÚÎÁÑ. òÁÚÎÉÃÁ × ÔÏÍ, ÞÔÏ common symbols Ó ÏÄÉÎÁËÏ×ÙÍÉ ÉÍÅÎÁÍÉ ÉÚ ÒÁÚÎÙÈ ÍÏÄÕÌÅÊ ÌÉÎËÅÒ ÏÂßÅÄÉÎÑÅÔ (ÒÁÚÍÅÝÁÅÔ × ÏÄÎÏÍ É ÔÏÍ ÖÅ ÍÅÓÔÅ ÐÁÍÑÔÉ), × ÓÌÕÞÁÅ ÖÅ g: .long 0 ÂÕÄÅÔ ÏÐÒÅÄÅÌÅÎ ÌÏËÁÌØÎÙÊ ÓÉÍ×ÏÌ, ËÏÔÏÒÙÊ ÂÕÄÅÔ ÚÁÎÉÍÁÔØ Ó×ÏÀ ÏÂÌÁÓÔØ ÐÁÍÑÔÉ ÜËÓËÌÀÚÉ×ÎÏ. ÷ ÔÅÒÍÉÎÁÈ C ÜÔÏ external linkage É internal linkage ÓÏÏÔ×ÅÔÓÔ×ÅÎÎÏ. ðÏ-ÍÏÅÍÕ ÔÁË.
ðÒÉ×ÅÔ, Dmitry !

27 Sep 09 , 14:04 Dmitry Orlov ÐÉÓÁÌ Ë Nickita A Startcev:

DO>>> ðÏÓÌÅÄÎÉÊ ËÏÍÐØÀÔÅÒÎÙÊ (ÎÅ embedded) DO>>> ÓÔÁÒÔÁÐ, ÞÔÏ Ñ ×ÉÄÅÌ, ÂÙÌ ÄÌÑ äïó É ÔÁÍ bss ÏÂÎÕÌÑÌÓÑ × DO>>> ÓÔÁÒÔÁÐÅ, É Ñ ÕÖÅ ÐÌÏÈÏ ÐÏÍÎÀ ÆÏÒÍÁÔ .exe (ÈÏÔÑ ËÏÇÄÁ-ÔÏ É ÐÉÓÁÌ DO>>> ÚÁÇÒÕÚÞÉË ÔÁËÉÈ ÆÁÊÌÏ×), ÎÏ ËÁÖÅÔÓÑ ÔÁÍ ÔÏÖÅ ÎÅ ÂÙÌÏ DO>>> ÐÒÅÄÕÓÍÏÔÒÅÎÏ ×ÏÚÍÏÖÎÏÓÔÉ ÕËÁÚÙ×ÁÔØ ËÁËÕÀ ÏÂÌÁÓÔØ ÏÂÎÕÌÑÔØ DO>>> ÚÁÇÒÕÚÞÉËÕ.

NAS>> åÓÔØ. ÍÏÖÎÏ. íÏÖÎÏ ÕËÁÚÁÔØ ÓÅËÃÉÀ, ËÏÔÏÒÁÑ ÚÁÎÉÍÁÅÔ 0 ÂÁÊÔ × NAS>> ÆÁÊÌÅ É N ÂÁÊÔ × ÐÁÍÑÔÉ. äÁ, ÜÔÏ ÒÁÄÉ ÜËÏÎÏÍÉÉ ÍÅÓÔÁ ÎÁ ÄÉÓËÅ.

DO> á ÏÎÁ ÏÂÎÕÌÑÌÁÓØ?

ôÁËÉ ÄÁ.

DO> ÷ÐÒÏÞÅÍ, ËÁËÏÅ ÜÔÏ ÓÅÊÞÁÓ ÉÍÅÅÔ ÚÎÁÞÅÎÉÅ.

óÍÏÔÒÑ ÞÔÏ É ËÕÄÁ ÜÍÂÅÄÄÉÔØ.

. ó Õ×ÁÖÅÎÉÅÍ, HÉËÉÔÁ. icq:240059686, lj-user:nicka_startcev ... ÏÓÔÁרÔÅ (ËÏ)ÏÒÄÉÎÉÒÏ×ÁÎÉÅ (ËÏ)ÏÒÄÉÎÁÔÏÒÕ

Hello, Slav Matveev! You wrote in conference fido7.ru.embedded to Dmitry Orlov on Sun, 27 Sep

2009 14:06:58 +0400:

SM>>> line #'s: 00000000 characteristics: C0000080

DO>> Что это за абракадабра и зачем она тут?

SM> дамп заголовка exe-шника. описание секции .bss

И зачем?

dima

formatting link

Hello, Slav Matveev! You wrote in conference fido7.ru.embedded to Alexander Torres on Sun, 27 Sep

2009 14:13:37 +0400:

AT>> Сам отмотай назад, и ищи в своих пачкуляхз что тыт там бредил про AT>> ненадобность BSS?

SM> так научись обосновывать за базар и читать то, что написано, SM> а не что хочется прочесть.

SM> у меня bss не инициилизировалось за его отсутствием. как и SM> не передавались argc, argv, ennv в main.

Отсутствие bss - частный случай.

SM> а при его присутствии мне до фонаря, чем он инициализируется, SM> если в стартапе не надо под него выделять память.

SM> так понятнее?

И это тоже частный случай.

SM>>> и не вижу никаких объективных препятствий что бы и во втором SM>>> случае было .zero 4 или .long 0

AT>> Я не понимаю о чем ты говоришь. пиши понятным языком.

SM> даже не зная ни одного ассемблера, из контекста понятно, что SM> первое это четыре нулевых байта, а второе sizeof(long) SM> байт, в которые записан (long)0.

Hичего не понятно, и кому, собственно нужно расшифровывать твою абракадабру?

dima

formatting link

Hello, Alex Mogilnikov! You wrote in conference fido7.ru.embedded to Slav Matveev on Sun, 27 Sep

2009 14:53:37 +0400:

AM> Это какой-то ленивый компилятор. :) gcc даже при явной AM> инициализации нулем помещает переменную в .bss:

А как gcc сказать, чтобы он не обнулял при старте программы неинициализированные статические переменные? Лучше выборочно, но можно и все.

dima

formatting link

ðÒÉ×ÅÔ, Slav Matveev!

27.09.2009 15:48 ÷Ù ÐÉÓÁÌÉ:

äÁ, ×ÅÒÎÏ. ïÎ ÂÕÄÅÔ ÌÏËÁÌØÎÙÍ, ÅÓÌÉ ÎÅ ÄÏÂÁ×ÉÔØ ÄÉÒÅËÔÉ×Õ .global. HÏ ÅÓÌÉ ÅÅ ÄÏÂÁ×ÉÔØ, ÌÉÎËÅÒ ×ÙÄÁÓÔ ÏÛÉÂËÕ, ×ÓÔÒÅÔÉ× ÔÁËÏÊ ÓÉÍ×ÏÌ ÂÏÌÅÅ ÞÅÍ × ÏÄÎÏÍ ÍÏÄÕÌÅ. üÔÏ ÎÏÒÍÁÌØÎÏ ÄÌÑ ÑÚÙËÁ C++, ÎÏ ÎÅ C.

Hello, Nickita A Startcev! You wrote in conference fido7.ru.embedded to Dmitry Orlov on Sun, 27 Sep

2009 15:46:12 +0400:

DO>>>> Последний компьютерный (не embedded) DO>>>> стартап, что я видел, был для ДОС и там bss обнулялся в стартапе, DO>>>> и я уже плохо помню формат .exe (хотя когда-то и писал загрузчик DO>>>> таких файлов), но кажется там тоже не было предусмотрено DO>>>> возможности указывать какую область обнулять загрузчику.

NAS>>> Есть. можно. Можно указать секцию, которая занимает 0 байт в NAS>>> файле и N байт в памяти. Да, это ради экономии места на диске.

DO>> А она обнулялась?

NAS> Таки да.

Тогда дважды :)

DO>> Впрочем, какое это сейчас имеет значение.

NAS> Смотря что и куда эмбеддить.

Hу кому и зачем сейчас-то в ДОС эмбиддить?

dima

formatting link

ðÒÉ×ÅÔ, Slav !

27 Sep 09 , 15:02 Slav Matveev ÐÉÓÁÌ Ë Nickita A Startcev:

SM>>> ÐÏÞÅÍÕ ÂÙ ÜÔÕ ÓÅËÃÉÀ ÎÅ ÏÂÎÕÌÑÔØ ÑÄÅÒÎÙÍ ÚÁÇÒÕÚÞÉËÏÍ, Á ÎÅ SM>>> × ÓÔÁÒÔÁÐÅ?

NS>> ÷ ÄÏÓÅ ÎÅÔ ÑÄÅÒÎÏÇÏ ÚÁÇÒÕÚÞÉËÁ. :) × ÎÏÒÍÁÌØÎÙÈ ÖÅ ÓÉÓÔÅÍÁÈ NS>> *ÎÉËÓÁÈ É ×ÉÎÄÁÈ, ÜÔÏ ÄÅÊÓÔ×ÉÔÅÌØÎÏ ÄÅÌÁÅÔ ÑÄÅÒÎÙÊ ÚÁÇÒÕÚÞÉË.

SM> × ÄÏÓÅ ÐÒÏÇÁ × ÐÁÍÑÔØ ÔÏÖÅ ÎÅ Ó×ÑÔÙÍ ÄÕÈÏÍ ÇÒÕÚÉÔÓÑ. :)

.com ÐÏÞÔÉ Ó×ÑÔÙÍ ÄÕÈÏÍ, Á .exe Ó ÔÝÁÔÅÌØÎÙÍ ÐÒÅÐÒÏÃÅÓÓÉÎÇÏÍ. :)

SM> × ÌÀÂÏÊ ÏÓÉ ÅÓÔØ ÚÁÇÒÕÚÞÉË, ×ÏÐÒÏÓ ÔÏÌØËÏ × ÅÇÏ ÆÕÎËÃÉÏÎÁÌØÎÙÈ SM> ×ÏÚÍÏÖÎÏÓÔÑÈ.

Ü.. ÔÏÇÄÁ ÎÁÄÏ ÓÍÏÔÒÅÔØ ËÏÎËÒÅÔÎÕÀ ÏÓØ É ËÏÎËÒÅÔÎÙÅ ×ÎÕÔÒÉÏӣ×ÙÅ ÄÏÇÏ×ÏңÎÎÏÓÔÉ.

. ó Õ×ÁÖÅÎÉÅÍ, HÉËÉÔÁ. icq:240059686, lj-user:nicka_startcev ... ÐÏÌÅÔ ÎÁÄ ÇÎÅÚÄÏÍ ËÏÎÄÒÁÛËÉ

ðÒÉ×ÅÔ, Dmitry !

27 Sep 09 , 16:36 Dmitry Orlov ÐÉÓÁÌ Ë Alex Mogilnikov:

AM>> üÔÏ ËÁËÏÊ-ÔÏ ÌÅÎÉ×ÙÊ ËÏÍÐÉÌÑÔÏÒ. :) gcc ÄÁÖÅ ÐÒÉ Ñ×ÎÏÊ AM>> ÉÎÉÃÉÁÌÉÚÁÃÉÉ ÎÕÌÅÍ ÐÏÍÅÝÁÅÔ ÐÅÒÅÍÅÎÎÕÀ × .bss:

DO> á ËÁË gcc ÓËÁÚÁÔØ, ÞÔÏÂÙ ÏÎ ÎÅ ÏÂÎÕÌÑÌ ÐÒÉ ÓÔÁÒÔÅ ÐÒÏÇÒÁÍÍÙ DO> ÎÅÉÎÉÃÉÁÌÉÚÉÒÏ×ÁÎÎÙÅ ÓÔÁÔÉÞÅÓËÉÅ ÐÅÒÅÍÅÎÎÙÅ? ìÕÞÛÅ ×ÙÂÏÒÏÞÎÏ, ÎÏ ÍÏÖÎÏ DO> É ×ÓÅ.

äÌÑ ÜÔÏÇÏ ÎÕÖÎÏ ÁÓÉÌÉÔØ ËÁËÕÀ-ÔÏ ÓÔÒÁÛÎÕÀ ÁÂÒÁËÁÄÁÂÒÕ. ôÅÂÅ ÜÔÏ ÎÅ ÐÏÄÏÊģÔ.

. ó Õ×ÁÖÅÎÉÅÍ, HÉËÉÔÁ. icq:240059686, lj-user:nicka_startcev ... HÅÉÌÌÀÚÏÒÎÁÑ þÅÒÎÁÑ ÍÁÛÉÎÁ localhost'Á

äÏÂÒÏÇÏ ×ÒÅÍÅÎÉ ÓÕÔÏË, Dmitry!

27 Sep 09 16:36, Dmitry Orlov -> Alex Mogilnikov:

ôÙ ÜÔÏ... ÎÉËÏÍÕ ÎÅ ÇÏ×ÏÒÉ, ÌÁÄÎÏ? åÓÔØ ÔÁËÁÑ ÆÕÎËÃÉÑ - malloc()

Hello, Nickita A Startcev! You wrote in conference fido7.ru.embedded to Dmitry Orlov on Sun, 27 Sep

2009 20:06:08 +0400:

AM>>> Это какой-то ленивый компилятор. :) gcc даже при явной AM>>> инициализации нулем помещает переменную в .bss:

DO>> А как gcc сказать, чтобы он не обнулял при старте программы DO>> неинициализированные статические переменные? Лучше выборочно, но DO>> можно и все.

NAS> Для этого нужно асилить какую-то страшную абракадабру. NAS> Тебе это не подойдёт.

Hа самом деле, что удивительно, они это описали в документации, да еще и так, что это можно найти.

The ANSI standard requires that all objects with static storage duration that are not initialized explicitly are set to zero. With both the c018.o/c018_e.o and c018i.o/c018i_e.o start-up code modules, this requirement is not met. A third type of start-up module, c018iz.o and c018iz_e.o, is provided to meet this requirement. If this start-up code module is linked with the application, then, in addition to initializing idata sections, all objects with static storage duration that are not initialized explicitly are set to zero.

dima

formatting link

Hello, Alexey Vissarionov! You wrote in conference fido7.ru.embedded to Dmitry Orlov on Sun, 27 Sep

2009 21:55:44 +0400:

AM>>> Это какой-то ленивый компилятор. :) gcc даже при явной AM>>> инициализации нулем помещает переменную в .bss:

DO>> А как gcc сказать, чтобы он не обнулял при старте программы DO>> неинициализированные статические переменные? Лучше выборочно, но DO>> можно и все.

AV> Ты это... никому не говори, ладно? Есть такая функция - malloc()

Ты не понял о чем речь и бредишь. Hачиная с того, что надо выпить больше, чем способен принять мой организм, чтобы на PICах пользоваться динамической памятью, и заканчивая тем, что обсуждалась инициализация статических неинициализированных переменных. Под gcc тут понимается, сюрприз, subj, то есть mcc18.

dima

formatting link

Hello, Dmitry! You wrote to Alexey Vissarionov on Sun, 27 Sep 2009 19:27:42 +0000 (UTC):

DO>>> á ËÁË gcc ÓËÁÚÁÔØ, ÞÔÏÂÙ ÏÎ ÎÅ ÏÂÎÕÌÑÌ ÐÒÉ ÓÔÁÒÔÅ ÐÒÏÇÒÁÍÍÙ DO>>> ÎÅÉÎÉÃÉÁÌÉÚÉÒÏ×ÁÎÎÙÅ ÓÔÁÔÉÞÅÓËÉÅ ÐÅÒÅÍÅÎÎÙÅ? ìÕÞÛÅ ×ÙÂÏÒÏÞÎÏ, ÎÏ DO>>> ÍÏÖÎÏ É ×ÓÅ.

AV>> ôÙ ÜÔÏ... ÎÉËÏÍÕ ÎÅ ÇÏ×ÏÒÉ, ÌÁÄÎÏ? åÓÔØ ÔÁËÁÑ ÆÕÎËÃÉÑ - malloc()

DO> ôÙ ÎÅ ÐÏÎÑÌ Ï ÞÅÍ ÒÅÞØ É ÂÒÅÄÉÛØ. HÁÞÉÎÁÑ Ó ÔÏÇÏ, ÞÔÏ ÎÁÄÏ ×ÙÐÉÔØ DO> ÂÏÌØÛÅ, ÞÅÍ ÓÐÏÓÏÂÅÎ ÐÒÉÎÑÔØ ÍÏÊ ÏÒÇÁÎÉÚÍ, ÞÔÏÂÙ ÎÁ PICÁÈ ÐÏÌØÚÏ×ÁÔØÓÑ DO> ÄÉÎÁÍÉÞÅÓËÏÊ ÐÁÍÑÔØÀ, É ÚÁËÁÎÞÉ×ÁÑ ÔÅÍ, ÞÔÏ ÏÂÓÕÖÄÁÌÁÓØ ÉÎÉÃÉÁÌÉÚÁÃÉÑ DO> ÓÔÁÔÉÞÅÓËÉÈ ÎÅÉÎÉÃÉÁÌÉÚÉÒÏ×ÁÎÎÙÈ ÐÅÒÅÍÅÎÎÙÈ. ðÏÄ gcc ÔÕÔ ÐÏÎÉÍÁÅÔÓÑ, DO> ÓÀÒÐÒÉÚ, subj, ÔÏ ÅÓÔØ mcc18.

gcc Ë mcc18 ÎÅ ÉÍÅÅÔ ÎÉËÁËÏÇÏ ÏÔÎÏÛÅÎÉÑ É ÓÏÏÔ×ÅÔÓ×ÅÎÎÏ ÎÉÞÅÇÏ ÏÂÝÅÇÏ ÍÅÖÄÕ ÎÉÍÉ ÔÏÖÅ ÎÅÔ. çÎÕÓÎÙÊ × ÎÅÍ ÔÏÌØËÏ ÐÒÅÐÒÏÃÅÓÓÏÒ.

gcc ÐÏÒÔÉÒÏ×ÁÌÉ ÔÏÌØËÏ ÄÌÑ ÑÄÒÁ pic24 (ÏÎÏ ÖÅ dsPIC).

WBR, AVB

Hello, Alexey V Bugrov! You wrote in conference fido7.ru.embedded to Dmitry Orlov on Sun, 27 Sep

2009 19:45:44 +0000 (UTC):

AVB> gcc к mcc18 не имеет никакого отношения и соответсвенно ничего

Интересно почему тогда он так на него похож.

dima

formatting link

Hello, Dmitry! You wrote to Alexey V Bugrov on Sun, 27 Sep 2009 20:59:15 +0000 (UTC):

AVB>> gcc Ë mcc18 ÎÅ ÉÍÅÅÔ ÎÉËÁËÏÇÏ ÏÔÎÏÛÅÎÉÑ É ÓÏÏÔ×ÅÔÓ×ÅÎÎÏ ÎÉÞÅÇÏ DO> éÎÔÅÒÅÓÎÏ ÐÏÞÅÍÕ ÔÏÇÄÁ ÏÎ ÔÁË ÎÁ ÎÅÇÏ ÐÏÈÏÖ.

HÉÞÅÇÏ ÏÂÝÅÇÏ. ôÙ ×ÏÏÂÝÅ gcc ÐÏÌØÚÏ×ÁÌÓÑ?

WBR, AVB

Hello, Slav! You wrote to Alexander Torres on Sun, 27 Sep 2009 14:13:37 +0400:

SM> Hi Alexander!

SM> 27 Sep 09 11:07, Alexander Torres wrote to Slav Matveev:

AT>> óÁÍ ÏÔÍÏÔÁÊ ÎÁÚÁÄ, É ÉÝÉ × Ó×ÏÉÈ ÐÁÞËÕÌÑÈÚ ÞÔÏ ÔÙÔ ÔÁÍ ÂÒÅÄÉÌ ÐÒÏ AT>> ÎÅÎÁÄÏÂÎÏÓÔØ BSS?

SM> ÔÁË ÎÁÕÞÉÓØ ÏÂÏÓÎÏ×Ù×ÁÔØ ÚÁ ÂÁÚÁÒ É ÞÉÔÁÔØ ÔÏ, ÞÔÏ ÎÁÐÉÓÁÎÏ, SM> Á ÎÅ ÞÔÏ ÈÏÞÅÔÓÑ ÐÒÏÞÅÓÔØ.

ñ ÞÉÔÁÀ ÔÏ, ÞÔÏ ÔÙ ÐÉÛÅÛØ. HÅ ÕÍÅÅÛØ ÐÉÓÁÔØ - ÎÅ ÐÉÛÉ.

SM> Õ ÍÅÎÑ bss ÎÅ ÉÎÉÃÉÉÌÉÚÉÒÏ×ÁÌÏÓØ ÚÁ ÅÇÏ ÏÔÓÕÔÓÔ×ÉÅÍ. ËÁË É SM> ÎÅ ÐÅÒÅÄÁ×ÁÌÉÓØ argc, argv, ennv × main.

÷ ÏÂÓÕÖÄÁÅÍÏÍ ÜÍÂÅÄÄÅÄ ÎÅÔ ÎÉËÁËÉÅ argc

SM> Á ÐÒÉ ÅÇÏ ÐÒÉÓÕÔÓÔ×ÉÉ ÍÎÅ ÄÏ ÆÏÎÁÒÑ, ÞÅÍ ÏÎ ÉÎÉÃÉÁÌÉÚÉÒÕÅÔÓÑ, SM> ÅÓÌÉ × ÓÔÁÒÔÁÐÅ ÎÅ ÎÁÄÏ ÐÏÄ ÎÅÇÏ ×ÙÄÅÌÑÔØ ÐÁÍÑÔØ.

SM> ÔÁË ÐÏÎÑÔÎÅÅ?

á ÜÔÏ ×ÏÏÂÛÝÅ ÂÒÅÄ.

SM>>> É ÎÅ ×ÉÖÕ ÎÉËÁËÉÈ ÏÂßÅËÔÉ×ÎÙÈ ÐÒÅÐÑÔÓÔ×ÉÊ ÞÔÏ ÂÙ É ×Ï ×ÔÏÒÏÍ SM>>> ÓÌÕÞÁÅ ÂÙÌÏ .zero 4 ÉÌÉ .long 0

AT>> ñ ÎÅ ÐÏÎÉÍÁÀ Ï ÞÅÍ ÔÙ ÇÏ×ÏÒÉÛØ. ÐÉÛÉ ÐÏÎÑÔÎÙÍ ÑÚÙËÏÍ.

SM> ÄÁÖÅ ÎÅ ÚÎÁÑ ÎÉ ÏÄÎÏÇÏ ÁÓÓÅÍÂÌÅÒÁ, ÉÚ ËÏÎÔÅËÓÔÁ ÐÏÎÑÔÎÏ, ÞÔÏ SM> ÐÅÒ×ÏÅ ÜÔÏ ÞÅÔÙÒÅ ÎÕÌÅ×ÙÈ ÂÁÊÔÁ, Á ×ÔÏÒÏÅ sizeof(long) SM> ÂÁÊÔ, × ËÏÔÏÒÙÅ ÚÁÐÉÓÁÎ (long)0.

óÏ×ÅÒÛÅÎÎÏ ÎÅÐÏÎÑÔÎÏ, É ÎÅ ÐÏÈÏÖÅ ÎÉ ÎÁ ÏÄÉÎ ÉÈ ÄÅÓÑÔËÁ- ÚÎÁËÏÍÙÈ ÍÎÅ ÁÓÓÅÍÂÌÅÒÏ×.

SM>>> ÚÁ ÉÓËÌÀÞÅÎÉÅÍ ×ÏÚÍÏÖÎÏÊ ÜËÏÎÏÍÉÉ ÍÅÓÔÁ ÎÁ ÄÉÓËÅ.

AT>> ëÁËÏÍ ÅÝÅ "ÄÉÓËÅ" ?

SM> ÎÁ ÔÏÍ "ÄÉÓËÅ", × ÔÏÍ ÞÉÓÌÅ É *úõ, ÇÄÅ ÂÕÄÅÔ ÌÅÖÁÔØ ËÏÄ.

HÅÔ ÎÉËÁËÏÇÏ "ÄÉÓËÁ," ËÏÄ ÎÁÈÏÄÉÔÓÑ × ðúõ ÐÒÏÃÅÓÓÏÒÁ.

SM> ps. ÐÏÓÔÁר Ô×ÉÔ É ÕÓÐÏËÏÊÓÑ.

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

With best regards, Alexander Torres. 2:461/28

formatting link
OR
formatting link

Hello, Alexey V Bugrov! You wrote in conference fido7.ru.embedded to Dmitry Orlov on Mon, 28 Sep

2009 07:15:39 +0000 (UTC):

AVB>>> gcc к mcc18 не имеет никакого отношения и соответсвенно ничего DO>> Интересно почему тогда он так на него похож.

AVB> Hичего общего. Ты вообще gcc пользовался?

Да, приходилось.

dima

formatting link

Tue Sep 22 2009 15:46, Slav Matveev wrote to Kirill Frolov:

SM> в реальной жизни у меня был компилятор и линкер, но не было SM> библиотек, поэтому стартап я писал сам и main исключительно SM> дань уважения традициям. А поскольку задача была чистая

SM> start: SM> mov #1000,sp SM> jsr pc,_main

Э нееее. А что будет при return из main? А что будет при вызове exit? Hужно, между прочим, из return вызываеть exit, а оттуда всё записанное в atexit(3), и потом только _exit(). А abort() ? От которого никак не отвертеться, потому, что assert(). Это я сейчас какой-то разумный минимум вспомнил только. А environment -- так он через глобальную переменную может быть практически (argv вообще тоже...)

Tue Sep 22 2009 21:43, Nickita A Startcev wrote to Slav Matveev:

SM>> start: SM>> mov #1000,sp SM>> jsr pc,_main SM>> emt 377 SM>> .end start NAS> Обычно ещё BSS зануляют и стек настраивают.

Ещё как бы инициализируют .data (и конструкторы вызывают для си-два-креста). И это обязательно как бы. .

Join the Discussion

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

Didn't find your answer?

Ask the community — no account required