ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Пятница
19 апреля
665731 Топик полностью
il-2 (07.04.2016 11:14, просмотров: 152) ответил SciFi на Вот ведь как авр мозги набекрень сворачивает. Народ начинает думать, что извращение (т.е. разделение адресных пространств) - это норма...
Увы, но это норма :-( Отказываться от использования процессора только потому, что у него "неправильная" архитектура - это неправильно. Мне недавно пришлось портировать AVR-овский проект на STM32. В результате у меня получился мультипроцессорный проект. Проблему с указателями решил так: Определения для неймановской архитектуры: #define ROM_PTR const // For ROM pointers #define GEN_PTR // For generic pointers Определения для IAR-AVR: #define ROM_PTR __flash // For ROM pointers #define GEN_PTR __generic // For generic pointers Использование в программе: void GEN_PTR *ptr1; //обычный указатель void GEN_PTR const *ptr2; // обычный указатель (только для чтения) void *ptr3; // указатель на данные в RAM void const *ptr4; // указатель на данные в RAM (только для чтения) void ROM_PTR *ptr5; // указатель на ROM/FLASH