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

 
 
> В int ARM7TDMI-S - 8 байт?, Keil 4.70a, Microlib
toweroff
сообщение May 14 2013, 18:09
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 957
Регистрация: 19-09-06
Из: Москва
Пользователь №: 20 514



Добрый день!

Наткнулся вот на такое и, честно говоря, мозг поехал...

Код
unsigned char data_code[8192];
unsigned int *pp;
    
    pp = (unsigned int*)&data_code;
    
    for (counter_en=0; counter_en<8*1024; counter_en++)
    {
        *pp++ = counter_en;
    }

...


встаю отладчиком за циклом, смотрю байтовый массив
Все значения появляются с 8-го байта (ну и т.д. - 16, 24, 32...)

Сделал указатель unsigned short - теперь 4 байта

Мой LPC2478 заделался атомом? sm.gif

У компилятора такая строка в параметрах:
Код
-c --cpu ARM7TDMI -D__MICROLIB -g -O0
-I "C:\Program Files (x86)\Keil\ARM\RV31\INC"
-I "C:\Program Files (x86)\Keil\ARM\CMSIS\Include"
-I "C:\Program Files (x86)\Keil\ARM\Inc\Philips"
-o "*.o" --omf_browse "*.crf" --depend "*.d"


UPD

В общем так
Будте аккуратнее и внимательнее. Если смотреть в отладчике, значения массива отображаются некорректно
Если смотреть кусок памяти, в котором лежит массив, то там все в порядке
Пока то, с чем это связано, непонятно. Скорее всего, глюк Keil
Сейчас проверю с ULINK2 (до этого был J-Link ULTRA)

Еще UPD
ULINK2 работает нормально
Кто глючит - 4.70a и J-Link - надо разбираться, кто там из них... но, скорее всего, Keil
Go to the top of the page
 
+Quote Post

Сообщений в этой теме


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

 


RSS Текстовая версия Сейчас: 19th July 2025 - 16:27
Рейтинг@Mail.ru


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