Softune V30L26 & mb90f553

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From Russian to

Threaded View
Hi All,

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


Softune V30L26 & mb90f553
Привет!

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

1. Скачай текущую("самая свежая") версию (с gaw.ru) и update к ней (про это
писал вчера).
(В твое версии, от 2000 года, ошибки при размещении секций)
2. Сделай все как описано в
http://www.fme.gsdc.de/pdf/an-900034-19-businterface.pdf

_______
Сергей.


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

 АК>> И еще, модель Large, а некоторые ф-ции выдают мусор когда
 АК>> их переменные в ext RAM, когда во внутренней - все ОК.
 АК>> Внешняя RАМ пишется-читается правильно - сделал тест каждой ячейки.
 АК>> Где грабли?

 SP> 1. Скачай текущую("самая свежая") версию (с gaw.ru) и update к ней (про
 SP> это писал вчера).
 SP> (В твое версии, от 2000 года, ошибки при размещении секций)
 SP> 2. Сделай все как описано в
 SP> http://www.fme.gsdc.de/pdf/an-900034-19-businterface.pdf

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


Softune V30L26 & mb90f553
Привет!

 АК>>> И еще, модель Large, а некоторые ф-ции выдают мусор когда
 АК>>> их переменные в ext RAM, когда во внутренней - все ОК.
 АК>>> Внешняя RАМ пишется-читается правильно - сделал тест каждой ячейки.
 АК>>> Где грабли?

 SP>> 1. Скачай текущую("самая свежая") версию (с gaw.ru) и update к ней (про
 SP>> это писал вчера).
 SP>> (В твое версии, от 2000 года, ошибки при размещении секций)
 SP>> 2. Сделай все как описано в
 SP>> http://www.fme.gsdc.de/pdf/an-900034-19-businterface.pdf

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

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


ЗЫ:
Работаю в SMALL, ко внешним данным доступаюсь через far - все ок.

_______
Сергей.


Softune V30L26 & mb90f553
Привет!

 АК>>> И еще, модель Large, а некоторые ф-ции выдают мусор когда
 АК>>> их переменные в ext RAM, когда во внутренней - все ОК.
 АК>>> Внешняя RАМ пишется-читается правильно - сделал тест каждой ячейки.
 АК>>> Где грабли?

 SP>> 1. Скачай текущую("самая свежая") версию (с gaw.ru) и update к ней (про
 SP>> это писал вчера).
 SP>> (В твое версии, от 2000 года, ошибки при размещении секций)
 SP>> 2. Сделай все как описано в
 SP>> http://www.fme.gsdc.de/pdf/an-900034-19-businterface.pdf

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

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


ЗЫ:
Работаю в SMALL, ко внешним данным доступаюсь через far - все ок.

_______
Сергей.


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

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

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

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

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

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

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


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

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

АК> 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,


--
/* Oleksandr Redchuk, Brovary, Ukraine */
/* real '\x40' real '\x2E' kiev '\x2E' ua     */


Re: Softune V30L26 & mb90f553
Привет!

Tue Jul 13 2004 01:23, Oleksandr Redchuk wrote to "Андрей Коваленко":


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

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

 АК>> 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)

_______
Сергей.


Site Timeline