G
Guest
Guest
Здравейте приятели!
Бих искал да споделя practicle програмиране tms320c5509 проблем.
В голяма памет модел на данните указатели са 23 бита дълго, така че те се съхраняват в 2 думи (32 бита).
Използване на С, ако пиша
Int * пинта;
пинта = (INT *) 0xffff;
пинта / / резултат зависи от версията на процесора.ако това е версия 3.0 или по-висок резултат е 0x10000 otherwice е 0x0000
Сега код:
Int * пинта;
пинта = (INT *) 0xffff;
пинта пинта = 10 / / на reselt е 0x0009 независимо от версията CPU, тъй като Добавяне # 10, AR1 се използва не на пълен регистър XAR1.Това поведение налага много строги ограничения на секцията по отношение на размера на страницата граници.За пример на куп не могат да бъдат по-големи след 64 К думи.Молбата ми е в зона за обработка на изображения, така че е много лошо за мен.
Моят въпрос е да сте изправени пред подобни проблеми страница граница?Има ли soltion?Някои съвети?
Благодаря предварително!
Дора
Бих искал да споделя practicle програмиране tms320c5509 проблем.
В голяма памет модел на данните указатели са 23 бита дълго, така че те се съхраняват в 2 думи (32 бита).
Използване на С, ако пиша
Int * пинта;
пинта = (INT *) 0xffff;
пинта / / резултат зависи от версията на процесора.ако това е версия 3.0 или по-висок резултат е 0x10000 otherwice е 0x0000
Сега код:
Int * пинта;
пинта = (INT *) 0xffff;
пинта пинта = 10 / / на reselt е 0x0009 независимо от версията CPU, тъй като Добавяне # 10, AR1 се използва не на пълен регистър XAR1.Това поведение налага много строги ограничения на секцията по отношение на размера на страницата граници.За пример на куп не могат да бъдат по-големи след 64 К думи.Молбата ми е в зона за обработка на изображения, така че е много лошо за мен.
Моят въпрос е да сте изправени пред подобни проблеми страница граница?Има ли soltion?Някои съвети?
Благодаря предварително!
Дора