реклама на сайте
подробности

 
 
> Помогите разобраться с указателями
vesago
сообщение Mar 22 2006, 07:24
Сообщение #1


Тутэйшы
****

Группа: Свой
Сообщений: 708
Регистрация: 30-11-04
Пользователь №: 1 263



Пишу проект в карме для lpc2214. В частности кусок передачи в уарт данных с внешенй срам. Написал функцию, которая этим занимается. Компилится нормально, а вот в дебагере валят ошибки:
Non-aligned Access: Thumb Instruction at 00000CC6H, Memory Access at 4000070DH
при попытке записи в переменную, адресуемую указателем какого либо значения:
unsigned long data;
unsigned long *ptr_to_data;
unsigned long *ptr_to_addr;
unsigned char i,j;

ptr_to_addr = (unsigned long*)((&skatnet.buf[0]) + RX_MEM_ADDR); //Вычисляем адрес 32 битного окна
ptr_to_data = (unsigned long*)(&data);
i = 0;
do
{
*ptr_to_addr = i;

data = Ext_Mem_Sram_Read(&err_code, ((*ptr_to_addr)>>2));

}while(i<blbblf);
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Edmundo
сообщение Mar 22 2006, 09:15
Сообщение #2


Мастер
****

Группа: Свой
Сообщений: 730
Регистрация: 18-02-06
Из: Москва
Пользователь №: 14 474



Это точно. Поэтому считается хорошим тоном делать так, чтобы не пришлось применять директиву __packed smile.gif
Учитывать выравнивание на этапе проектирования, так сказать. Хотя признаюсь, не всегда так получается.


--------------------
شامل
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 28th June 2025 - 13:43
Рейтинг@Mail.ru


Страница сгенерированна за 0.01395 секунд с 7
ELECTRONIX ©2004-2016