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

 
 
> ARM9 - Проблема с переменными
fademike
сообщение Mar 10 2013, 14:01
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 19
Регистрация: 5-03-13
Пользователь №: 75 903



Наткнулся на очень нелепую проблемку: Каким-то образом изменение одних переменных меняют другие переменные. Не понимаю, как такое возможно!?

Код
unsigned char Block_Files[512];
unsigned char File[32];

int main (void) {                       // Main Program                      

unsigned int clock;
unsigned long Peremennaja[512];        // Создадим ненужную переменную
    
Config_GPIO ();

TFT_LCD_Init();

TFT_LCD_BGcolor(0xFF0000);
TFT_LCD_ConSetColor(0x000000, 0xFFFFFF);
TFT_LCD_ConSetPos(0,0);


SDcard_init();
Show_Folder(Block_Files, File);

    for (clock=0; clock<512; clock++) Peremennaja[clock] = 0x00;     // Передаем ненужной переменной, например, нули

for (clock=0; clock<512; clock++){
    Delay(50);
TFT_LCD_Char  (Block_Files[clock]);    // Выведенные символы из-за "Peremennaja" Стали черными квадратиками
}

while(1){};
}



Функции: "TFT_LCD_ConSetColor(0x000000, 0xFFFFFF); и TFT_LCD_ConSetPos(0,0);" просто записывают цвет, строку и столбец в переменные "unsigned int".

Без записи в переменную "Peremennaja[512]" все работает. А когда в нее записываем значения, то эти значения вносятся в переменные указателя цвета и курсора...


Подскажите, плиз, в чем секрет??
Прикрепленные файлы
Прикрепленный файл  Beda.rar ( 530.59 килобайт ) Кол-во скачиваний: 10
 
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
aaarrr
сообщение Mar 10 2013, 14:45
Сообщение #2


Гуру
******

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



Вот выдержка из map-файла:
Цитата
Base Addr Size Type Attr Idx E Section Name Object

0x00300000 0x00002960 Data RW 12 .data lcd_driver.o
0x00302960 0x00000220 Zero RW 35 .bss main.o
0x00302b80 0x00000060 Zero RW 140 .bss c_5.l(libspace.o)
0x00302be0 0x00000000 Zero RW 2 HEAP sam9g45.o
0x00302be0 0x000000c8 Zero RW 1 STACK sam9g45.o


Что будет, когда стек наползет на main.o(.bss), думаю, должно быть понятно.
Go to the top of the page
 
+Quote Post
fademike
сообщение Mar 10 2013, 14:50
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 19
Регистрация: 5-03-13
Пользователь №: 75 903



Цитата(aaarrr @ Mar 10 2013, 18:45) *
Что будет, когда стек наползет на main.o(.bss), думаю, должно быть понятно.


Значит, мне нужно подключать внешнее ОЗУ??
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- fademike   ARM9 - Проблема с переменными   Mar 10 2013, 14:01
- - aaarrr   А стека достаточно для двухкилобайтного массива?   Mar 10 2013, 14:07
|- - fademike   Цитата(aaarrr @ Mar 10 2013, 18:07) А сте...   Mar 10 2013, 14:19
|- - _Артём_   Цитата(fademike @ Mar 10 2013, 16:19) Каж...   Mar 10 2013, 14:26
|- - fademike   Цитата(_Артём_ @ Mar 10 2013, 18:26) Если...   Mar 10 2013, 14:43
|- - Fedor   А сколько ОЗУ на плате?   Mar 10 2013, 15:41
|- - fademike   Цитата(Fedor @ Mar 10 2013, 19:41) А скол...   Mar 10 2013, 16:02
|- - aaarrr   Цитата(fademike @ Mar 10 2013, 18:50) Зна...   Mar 10 2013, 15:00
|- - _Артём_   Цитата(fademike @ Mar 10 2013, 16:50) Зна...   Mar 10 2013, 15:01
- - fademike   Объем стека это там - ISR_Stack_Size??   Mar 10 2013, 15:15
|- - aaarrr   Цитата(fademike @ Mar 10 2013, 19:15) Объ...   Mar 10 2013, 15:18
- - fademike   И, если не сложно, подскажите мне, пожалуйста, лит...   Mar 10 2013, 15:30
|- - _Артём_   Цитата(fademike @ Mar 10 2013, 17:30) И, ...   Mar 10 2013, 15:41
|- - aaarrr   Цитата(fademike @ Mar 10 2013, 19:30) И, ...   Mar 10 2013, 15:43
- - aaarrr   У вас сейчас всего в распоряжении 64кБайта внутрен...   Mar 10 2013, 16:26
|- - fademike   Цитата(aaarrr @ Mar 10 2013, 20:26) У вас...   Mar 10 2013, 16:32
|- - aaarrr   Цитата(fademike @ Mar 10 2013, 20:32) Не ...   Mar 10 2013, 16:53
- - fademike   Огромное спасибо за помощь!   Mar 10 2013, 17:57


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

 


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


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