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

 
 
> 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, 16:26
Сообщение #2


Гуру
******

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



У вас сейчас всего в распоряжении 64кБайта внутренней SRAM.
В скаттере прописан явный бред: код расположен на месте ROM, загрузить его туда нельзя.

0x1088 байт должно было поместиться. Приведите map-файл для случая, когда выдается ошибка.
Go to the top of the page
 
+Quote Post
fademike
сообщение Mar 10 2013, 16:32
Сообщение #3


Участник
*

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



Цитата(aaarrr @ Mar 10 2013, 20:26) *
У вас сейчас всего в распоряжении 64кБайта внутренней SRAM.
В скаттере прописан явный бред: код расположен на месте ROM, загрузить его туда нельзя.

0x1088 байт должно было поместиться. Приведите map-файл для случая, когда выдается ошибка.


aaarrr, прошу прощения, у меня в "Target" размер был 0x3000. Поэтому и выдавал ошибку..

Не могли бы мне объяснить что такое скаттер и как читать map-файл??
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Mar 10 2013, 16:53
Сообщение #4


Гуру
******

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



Цитата(fademike @ Mar 10 2013, 20:32) *
Не могли бы мне объяснить что такое скаттер и как читать map-файл??

Scatter - файл с описанием карт памяти и размещения секций для линкера. Формат должен быть описан в справке Кейла.
Для очень простых проектов можно генерировать этот файл средствами IDE, но лучше и правильнее составить его вручную.

Как читать map-файл должно стать понятно после изучения справки по линкеру, ибо это просто его выхлоп.
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   Вот выдержка из map-файла: ЦитатаBase Addr Size...   Mar 10 2013, 14:45
|- - fademike   Цитата(aaarrr @ Mar 10 2013, 18:45) Что б...   Mar 10 2013, 14:50
|- - 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
- - fademike   Огромное спасибо за помощь!   Mar 10 2013, 17:57


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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 02:56
Рейтинг@Mail.ru


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