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

 
 
> Chipcon CC1010. Пытаюсь запихнуть переменные в pdata. Дошел уже до исступления...
Kenelm
сообщение Oct 29 2011, 15:25
Сообщение #1





Группа: Участник
Сообщений: 14
Регистрация: 19-11-08
Пользователь №: 41 748



Среда Keil uVision2. Поверх поставлен CC1010IDE. Выбрано устройство "CC1010_debug".

Пытаюсь разместить массив в pdata и создать на него указатель, расположенный в data.

char pdata massiv[32];
char pdata * data ptr_massiv = massiv;

code void main()
{
*ptr_massiv = 0xAA;
*(ptr_massiv + 1) = 0xBB;
}

В результате при дебаггинге в окне "Watch" смотрю на содержание массива "massiv" - пустой (все элементы равны нулю). Смотрю на *ptr_massiv и *(ptr_massiv + 1) - отображается, что там содержится 0xAA и 0xBB, соответственно!!! При этом ptr_massiv указывает именно на "голову" массива "massiv"! wacko.gif

В настройках проекта стоит:
Memory model: Compact (variables in PDATA)
Стоит галка напротив "Use On-chip XDATA"

В startup.a51:
PPAGEENABLE EQU 1
PPAGE EQU 0
PPAGE_SFR DATA 092H

PS. Если массив запихнуть в data или xdata, то все работет ок.

Сообщение отредактировал Kenelm - Oct 29 2011, 16:02
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 3rd August 2025 - 14:43
Рейтинг@Mail.ru


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