[an error occurred while processing this directive]
Спасибо за информацию. А еще такой вопрос по указателям в IAR для PIC16 или что мне не нравится в HI-TECH (+)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено Беня 29 октября 2002 г. 18:33
В ответ на: Насчет перемещений функций по памяти отправлено Baser 29 октября 2002 г. 16:39

Вот чего IMHO не хватает в HI-TECH, так это универсальных указателей. По-моему, указатели у них только однобайтовые. А если у вас в кристалле более 255 байт ОЗУ, то надо явно указывать по какому банку "работает" указатель. Например,
bank2 char * ptr ; - этот указатель не будет работать с банком 0 и 1.
Так вот сделали бы универсальный 2-байтовый указатель - т. е. если я объявляю
char * ptr, то чтобы этот указатель мог указывать и на любой банк ОЗУ и даже на байт в ПЗУ. В одном байте указателя должен быть тип памяти, а в другом - адрес. А если я хочу, чтобы программа работала быстрее и не "расшифровавала" указатель, то при объявлении
bank2 char * ptr должен создаваться 1-байтовый указатель, который указывает только на банк 1.
В компиляторах для 51-х процессоров сделано именно так - есть универсальный 3-хбайтовый указатель, а если я объявлю
char data * ptr - то объявится обнобайтовый указатель, который может указывать только на область памяти data.

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru