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

 
 
 
Reply to this topicStart new topic
> bf533 sdram инициализация массива
Lmx2315
сообщение Aug 30 2016, 12:14
Сообщение #1


отэц
*****

Группа: Свой
Сообщений: 1 421
Регистрация: 18-09-05
Из: Москва
Пользователь №: 8 684



Добрый день уважаемые!
(Работаю в VisualDSP 5.1.2)
Подскажите что я делаю не так:
1.Сделал initcode.dxe для инициализации SDRAM - загружаю его в проекте.
Сдрам работает ,если там разместить массивы всё пишется и читается .

2. Я добавил заранее заполненный массив :
Код
#pragma section ("my_data_section",RUNTIME_INIT)
unsigned short buf_sdram3[64]={0xabcd,0xabcd,0xabcd,0xabcd,0xabcd,0xabcd,0xabcd,0xabcd,0xabcd,0xabcd,0xab
cd,0xabcd,0xabcd,
0xabcd,0xabcd,0xabcd,0xabcd,0xabcd,0xabcd,0xabcd,0xabcd,0xabcd,0xabcd,0xabcd,0xa
bcd,0xabcd,0xabcd,0xabcd,0xabcd,0xabcd,0xabcd,0xabcd,0xabcd,
0xabcd,0xabcd,0xabcd,0xabcd,0xabcd,0xabcd,0xabcd,0xabcd,0xabcd,0xabcd,0xabcd,0xa
bcd,0xabcd,0xabcd,0xabcd,0xabcd,0xabcd,0xabcd,0xabcd,0xabcd,
0xabcd,0xabcd,0xabcd,0xabcd,0xabcd,0xabcd,0xabcd,0xabcd,0xabcd,0xabcd,0xabcd};


в .ldf файле прописал :
Код
  my_data_section RUNTIME_INIT
        {
        INPUT_SECTION_ALIGN(4)
        INPUT_SECTIONS( $OBJECTS(my_data_section) )
        }>MEM_SDRAM0_BANK0


компилю программу, вывожу массив на экран - там одни нули.
Вроде как не проинициализировался, почему?


--------------------
"..не нравятся мои выборы? ..приходите в мой суд."
Узурпатор П.
Go to the top of the page
 
+Quote Post
kolobochishe
сообщение Sep 5 2016, 17:17
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 233
Регистрация: 14-04-10
Из: Россия, г.Челябинск
Пользователь №: 56 634



А как проверяете массив? В окне просмотра переменных или по адресу? В настройках есть галочка "уничтожать неиспользуемые переменные". если он у вас нигде кроме объявления не находится в тексте, то компилятор просто мог стереть этот блок.
Go to the top of the page
 
+Quote Post
jcxz
сообщение Sep 6 2016, 05:59
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 3 046
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(Lmx2315 @ Aug 30 2016, 18:14) *
компилю программу, вывожу массив на экран - там одни нули.
Вроде как не проинициализировался, почему?

А где у Вас инитится SDRAM? Как я понимаю - firmware у Вас грузится bootROM-ом откуда-то (флешь?) частично в SDRAM, потом стартует. После старта firmware внутри него делаете инит SDRAM?
Или может меняете какую-то частоту, от которой тактируется SDRAM? Не выходит ли она за допустимые пределы? Или может за допустимые пределы на новой частоте выходят предустановленные тайминги в регистрах контроллера SDRAM?
Если так - то перед этим надо SDRAM перевести например в режим Self Refresh и только в таком состоянии можно поменять тактовую SDRAM.
Go to the top of the page
 
+Quote Post

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

 


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


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