Softune V30L26 & mb90f553

Jul 03, 2004 7 Replies

Hi All,



У кого есть рабочей пример с #pragma section? Нужно разместить переменную в ext RAM, адр 0xB00000. Как не исхитрялся но неработает и все! Ложит по любому адресу или в internal или external RAM, но по произвольному - как вздумается. Тобишь неправильно я видать help читал. Какие ЦУ? И еще, модель Large, а некоторые ф-ции выдают мусор когда их переменные в ext RAM, когда во внутренней - все ОК. Внешняя RАМ пишется-читается правильно - сделал тест каждой ячейки. Где грабли?


ðÒÉ×ÅÔ! áë> õ ËÏÇÏ ÅÓÔØ ÒÁÂÏÞÅÊ ÐÒÉÍÅÒ Ó #pragma section? áë> HÕÖÎÏ ÒÁÚÍÅÓÔÉÔØ ÐÅÒÅÍÅÎÎÕÀ × ext RAM, áë> ÁÄÒ 0xB00000. ëÁË ÎÅ ÉÓÈÉÔÒÑÌÓÑ ÎÏ ÎÅÒÁÂÏÔÁÅÔ É ×ÓÅ! áë> ìÏÖÉÔ ÐÏ ÌÀÂÏÍÕ ÁÄÒÅÓÕ ÉÌÉ × internal ÉÌÉ external RAM, áë> ÎÏ ÐÏ ÐÒÏÉÚ×ÏÌØÎÏÍÕ - ËÁË ×ÚÄÕÍÁÅÔÓÑ. ôÏÂÉÛØ ÎÅÐÒÁ×ÉÌØÎÏ áë> Ñ ×ÉÄÁÔØ help ÞÉÔÁÌ. ëÁËÉÅ ãõ? áë> é ÅÝÅ, ÍÏÄÅÌØ Large, Á ÎÅËÏÔÏÒÙÅ Æ-ÃÉÉ ×ÙÄÁÀÔ ÍÕÓÏÒ ËÏÇÄÁ áë> ÉÈ ÐÅÒÅÍÅÎÎÙÅ × ext RAM, ËÏÇÄÁ ×Ï ×ÎÕÔÒÅÎÎÅÊ - ×ÓÅ ïë. áë> ÷ÎÅÛÎÑÑ Ráí ÐÉÛÅÔÓÑ-ÞÉÔÁÅÔÓÑ ÐÒÁ×ÉÌØÎÏ - ÓÄÅÌÁÌ ÔÅÓÔ ËÁÖÄÏÊ ÑÞÅÊËÉ. áë> çÄÅ ÇÒÁÂÌÉ?

  1. óËÁÞÁÊ ÔÅËÕÝÕÀ("ÓÁÍÁÑ Ó×ÅÖÁÑ") ×ÅÒÓÉÀ (Ó gaw.ru) É update Ë ÎÅÊ (ÐÒÏ ÜÔÏ ÐÉÓÁÌ ×ÞÅÒÁ). (÷ Ô×ÏÅ ×ÅÒÓÉÉ, ÏÔ 2000 ÇÏÄÁ, ÏÛÉÂËÉ ÐÒÉ ÒÁÚÍÅÝÅÎÉÉ ÓÅËÃÉÊ)

  1. óÄÅÌÁÊ ×ÓÅ ËÁË ÏÐÉÓÁÎÏ ×
    formatting link
    _______ óÅÒÇÅÊ.

Sun Jul 04 2004 07:51, Sergey Pinigin wrote to Андрей Коваленко:

SP> From: "Sergey Pinigin" snipped-for-privacy@foratec-com.ru АК>> И еще, модель Large, а некоторые ф-ции выдают мусор когда АК>> их переменные в ext RAM, когда во внутренней - все ОК. АК>> Внешняя RАМ пишется-читается правильно - сделал тест каждой ячейки. АК>> Где грабли?

SP> 1. Скачай текущую("самая свежая") версию (с gaw.ru) и update к ней (про SP> это писал вчера). SP> (В твое версии, от 2000 года, ошибки при размещении секций) SP> 2. Сделай все как описано в SP>

formatting link
Спасибо, прагма заработала. А вот проблема с переменными осталась - хотя вроде все как описано в указаном пдф-э :(

ðÒÉ×ÅÔ! áë>>> é ÅÝÅ, ÍÏÄÅÌØ Large, Á ÎÅËÏÔÏÒÙÅ Æ-ÃÉÉ ×ÙÄÁÀÔ ÍÕÓÏÒ ËÏÇÄÁ áë>>> ÉÈ ÐÅÒÅÍÅÎÎÙÅ × ext RAM, ËÏÇÄÁ ×Ï ×ÎÕÔÒÅÎÎÅÊ - ×ÓÅ ïë. áë>>> ÷ÎÅÛÎÑÑ Ráí ÐÉÛÅÔÓÑ-ÞÉÔÁÅÔÓÑ ÐÒÁ×ÉÌØÎÏ - ÓÄÅÌÁÌ ÔÅÓÔ ËÁÖÄÏÊ ÑÞÅÊËÉ. áë>>> çÄÅ ÇÒÁÂÌÉ?

SP>> 1. óËÁÞÁÊ ÔÅËÕÝÕÀ("ÓÁÍÁÑ Ó×ÅÖÁÑ") ×ÅÒÓÉÀ (Ó gaw.ru) É update Ë ÎÅÊ (ÐÒÏ SP>> ÜÔÏ ÐÉÓÁÌ ×ÞÅÒÁ). SP>> (÷ Ô×ÏÅ ×ÅÒÓÉÉ, ÏÔ 2000 ÇÏÄÁ, ÏÛÉÂËÉ ÐÒÉ ÒÁÚÍÅÝÅÎÉÉ ÓÅËÃÉÊ) SP>> 2. óÄÅÌÁÊ ×ÓÅ ËÁË ÏÐÉÓÁÎÏ × SP>>

formatting link
áë> óÐÁÓÉÂÏ, ÐÒÁÇÍÁ ÚÁÒÁÂÏÔÁÌÁ. á ×ÏÔ ÐÒÏÂÌÅÍÁ Ó ÐÅÒÅÍÅÎÎÙÍÉ ÏÓÔÁÌÁÓØ - ÈÏÔÑ áë> ×ÒÏÄÅ ×ÓÅ ËÁË ÏÐÉÓÁÎÏ × ÕËÁÚÁÎÏÍ ÐÄÆ-Ü :(

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

úù: òÁÂÏÔÁÀ × SMALL, ËÏ ×ÎÅÛÎÉÍ ÄÁÎÎÙÍ ÄÏÓÔÕÐÁÀÓØ ÞÅÒÅÚ far - ×ÓÅ ÏË.

_______ óÅÒÇÅÊ.

ðÒÉ×ÅÔ! áë>>> é ÅÝÅ, ÍÏÄÅÌØ Large, Á ÎÅËÏÔÏÒÙÅ Æ-ÃÉÉ ×ÙÄÁÀÔ ÍÕÓÏÒ ËÏÇÄÁ áë>>> ÉÈ ÐÅÒÅÍÅÎÎÙÅ × ext RAM, ËÏÇÄÁ ×Ï ×ÎÕÔÒÅÎÎÅÊ - ×ÓÅ ïë. áë>>> ÷ÎÅÛÎÑÑ Ráí ÐÉÛÅÔÓÑ-ÞÉÔÁÅÔÓÑ ÐÒÁ×ÉÌØÎÏ - ÓÄÅÌÁÌ ÔÅÓÔ ËÁÖÄÏÊ ÑÞÅÊËÉ. áë>>> çÄÅ ÇÒÁÂÌÉ?

SP>> 1. óËÁÞÁÊ ÔÅËÕÝÕÀ("ÓÁÍÁÑ Ó×ÅÖÁÑ") ×ÅÒÓÉÀ (Ó gaw.ru) É update Ë ÎÅÊ (ÐÒÏ SP>> ÜÔÏ ÐÉÓÁÌ ×ÞÅÒÁ). SP>> (÷ Ô×ÏÅ ×ÅÒÓÉÉ, ÏÔ 2000 ÇÏÄÁ, ÏÛÉÂËÉ ÐÒÉ ÒÁÚÍÅÝÅÎÉÉ ÓÅËÃÉÊ) SP>> 2. óÄÅÌÁÊ ×ÓÅ ËÁË ÏÐÉÓÁÎÏ × SP>>

formatting link
áë> óÐÁÓÉÂÏ, ÐÒÁÇÍÁ ÚÁÒÁÂÏÔÁÌÁ. á ×ÏÔ ÐÒÏÂÌÅÍÁ Ó ÐÅÒÅÍÅÎÎÙÍÉ ÏÓÔÁÌÁÓØ - ÈÏÔÑ áë> ×ÒÏÄÅ ×ÓÅ ËÁË ÏÐÉÓÁÎÏ × ÕËÁÚÁÎÏÍ ÐÄÆ-Ü :(

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

úù: òÁÂÏÔÁÀ × SMALL, ËÏ ×ÎÅÛÎÉÍ ÄÁÎÎÙÍ ÄÏÓÔÕÐÁÀÓØ ÞÅÒÅÚ far - ×ÓÅ ÏË.

_______ óÅÒÇÅÊ.

Tue Jul 06 2004 07:32, Sergey Pinigin wrote to Андрей Коваленко:

АК>> Спасибо, прагма заработала. А вот проблема с переменными осталась - хотя АК>> вроде все как описано в указаном пдф-э :( SP> Hеясное описание проблеммы, поэтому могу предположить что всетаки что-то SP> не так как описано в доке и представлено в примерах. SP> ЗЫ: SP> Работаю в SMALL, ко внешним данным доступаюсь через far - все ок. Сейчас все ок, есть какая-либо фича там для решения следующей траблы?:

const uchar msg1[]="text1\0"; const uchar msg2[]="text2\0";

const uchar* msgDB[]= { (const uchar*)msg1, (const uchar*)msg2 };

Subj делает следуещюю штуку: msg1 и msg2 в CONST, а поинтеры в DCONST и INIT, тоесть RAM кушает. Если msgDB большой да еще far указатели то RAMa много впустую уходит.

Отучить чем можно?

С уважением, Андрей

12-Jul-04 16:02 Андрей Коваленко wrote to Sergey Pinigin:

АК> const uchar msg1[]="text1\0"; АК> const uchar msg2[]="text2\0";

АК> const uchar* msgDB[]=

const uchar * const msgDB[]

const uchar * pc; // неконстантынй указатель на конст. объект // т.е. *pc является константным. сам pc - нет ++pc; // допустимо *pc = 0; // недопустимо

uchar * const cp; // конст. указатель на неконст. объект // т.е. cp есть константа, *cp - это просто uchar ++cp; // недопустимо *cp = 0; // допустимо

const uchar * const cpc; // конст указатель на конст объект ++cpc; // фигвам *cp = 0; // аналогично.

АК> Отучить чем можно? Поискать хорошую книгу по C :-)

wbr,

ðÒÉ×ÅÔ!

Tue Jul 13 2004 01:23, Oleksandr Redchuk wrote to "áÎÄÒÅÊ ëÏ×ÁÌÅÎËÏ":

OR> From: "Oleksandr Redchuk" snipped-for-privacy@real.kiev.ua>

OR> 12-Jul-04 16:02 áÎÄÒÅÊ ëÏ×ÁÌÅÎËÏ wrote to Sergey Pinigin:

áë>> const uchar msg1[]="text1\0"; áë>> const uchar msg2[]="text2\0"; áë>> const uchar* msgDB[]=

OR> const uchar * const msgDB[]

OR> const uchar * pc; // ÎÅËÏÎÓÔÁÎÔÙÎÊ ÕËÁÚÁÔÅÌØ ÎÁ ËÏÎÓÔ. ÏÂßÅËÔ OR> // Ô.Å. *pc Ñ×ÌÑÅÔÓÑ ËÏÎÓÔÁÎÔÎÙÍ. ÓÁÍ pc - ÎÅÔ OR> ++pc; // ÄÏÐÕÓÔÉÍÏ OR> *pc = 0; // ÎÅÄÏÐÕÓÔÉÍÏ

OR> uchar * const cp; // ËÏÎÓÔ. ÕËÁÚÁÔÅÌØ ÎÁ ÎÅËÏÎÓÔ. ÏÂßÅËÔ OR> // Ô.Å. cp ÅÓÔØ ËÏÎÓÔÁÎÔÁ, *cp - ÜÔÏ ÐÒÏÓÔÏ uchar OR> ++cp; // ÎÅÄÏÐÕÓÔÉÍÏ OR> *cp = 0; // ÄÏÐÕÓÔÉÍÏ

OR> const uchar * const cpc; // ËÏÎÓÔ ÕËÁÚÁÔÅÌØ ÎÁ ËÏÎÓÔ ÏÂßÅËÔ OR> ++cpc; // ÆÉÇ×ÁÍ OR> *cp = 0; // ÁÎÁÌÏÇÉÞÎÏ.

áë>> ïÔÕÞÉÔØ ÞÅÍ ÍÏÖÎÏ?

OR> ðÏÉÓËÁÔØ ÈÏÒÏÛÕÀ ËÎÉÇÕ ÐÏ C :-)

é ÏÂÑÚÁÔÅÌØÎÏ ÐÏÞÉÔÁÔØ ÄÏËÉ ÐÒÏ ÉÓÐÏÌØÚÕÅÍÙÊ ËÏÍÐÉÌÑÔÏÒ, ÅÇÏ ÎÁÓÔÒÏÊËÉ É Ô.Ð. ÷ start.asm ÓÍÏÔÒÉ define'Ù CONSTDATA É ROMMIRROR(ÁËÔÕÁÌØÎÏ ÄÌÑ SMALL/MEDIUM)

_______ óÅÒÇÅÊ.

Join the Discussion

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

Didn't find your answer?

Ask the community — no account required