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

 
 
3 страниц V  < 1 2 3 >  
Reply to this topicStart new topic
> bf533 sdram инициализация массива
dxp
сообщение Apr 8 2017, 13:13
Сообщение #16


Adept
******

Группа: Свой
Сообщений: 3 369
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343



QUOTE (Lmx2315 @ Apr 8 2017, 19:55) *
и настройка сдрам и pll настраиваются в init. В основном приложеннии ничего не трогаю из этого.

Это правильно. sm.gif

QUOTE (Lmx2315 @ Apr 8 2017, 19:55) *
в ldr или в ldf ?

Да, расширение файла ldf, но сам файл образа у них называется ldr. Вот, кстати, смотрелка для него.

Если правильно отработала утилита elfloader.exe (ей сообщили правильные опции), то в загрузочном образе будет секция с флагом INIT и он будет в первых рядах, а где-то за ней должна быть секция с данными, в заголовке которой должен быть адрес массива в SDRAM и его размер. Этим вьювером всё это вполне удобно проинспектировать - адреса, размеры и флаги он показывает читабельно.


--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
Go to the top of the page
 
+Quote Post
Lmx2315
сообщение Apr 8 2017, 13:26
Сообщение #17


отэц
*****

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



Цитата(dxp @ Apr 8 2017, 16:13) *
Это правильно. sm.gif
Да, расширение файла ldf, но сам файл образа у них называется ldr. Вот, кстати, смотрелка для него.

Если правильно отработала утилита elfloader.exe (ей сообщили правильные опции), то в загрузочном образе будет секция с флагом INIT и он будет в первых рядах, а где-то за ней должна быть секция с данными, в заголовке которой должен быть адрес массива в SDRAM и его размер. Этим вьювером всё это вполне удобно проинспектировать - адреса, размеры и флаги он показывает читабельно.


открыл этой программой одну из старых прошивок (там массив лежал в самом начале sdrama - с адреса 0x68)
И вижу две прошивки , init и рабочую : DXE0 и DXE1 , в DXE1 вижу свой массив с правильного адреса заполненный правильными данными.
Ничего тогда не понимаю.
Может прошивка так быстро грузится что пишет в сдрам данные, а сдрам ещё в "промежуточном состоянии" находится ? Может после init прошивки нужно какую-то паузу создать?


--------------------
"..не нравятся мои выборы? ..приходите в мой суд."
Узурпатор П.
Go to the top of the page
 
+Quote Post
dxp
сообщение Apr 8 2017, 14:07
Сообщение #18


Adept
******

Группа: Свой
Сообщений: 3 369
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343



QUOTE (Lmx2315 @ Apr 8 2017, 20:26) *
Может прошивка так быстро грузится что пишет в сдрам данные, а сдрам ещё в "промежуточном состоянии" находится ? Может после init прошивки нужно какую-то паузу создать?

Это вряд ли - если контроллер настроен, то он сразу работает. Вы можете в init добавить свой код, чтобы поэкспериментировать, в т.ч. и паузу. И потом, у вас, вы сказали, там нули лежат. А это означает, что данные-то туда грузятся - если бы контроллер не работал, то там лежал бы "мусор". Такое впечатление, что там кто-то поверх нули записывает. Посмотрите, не ли случайно ещё одной секции с этим же адресом и флагом ZEROFILL?


--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
Go to the top of the page
 
+Quote Post
Lmx2315
сообщение Apr 8 2017, 15:08
Сообщение #19


отэц
*****

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



Цитата(dxp @ Apr 8 2017, 17:07) *
Такое впечатление, что там кто-то поверх нули записывает. Посмотрите, не ли случайно ещё одной секции с этим же адресом и флагом ZEROFILL?

..других данных на тот же адрес в файле нет.


--------------------
"..не нравятся мои выборы? ..приходите в мой суд."
Узурпатор П.
Go to the top of the page
 
+Quote Post
jcxz
сообщение Apr 8 2017, 18:26
Сообщение #20


Гуру
******

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



Цитата(Lmx2315 @ Apr 8 2017, 17:08) *
..других данных на тот же адрес в файле нет.

эмулятор есть? Поставьте watchpoint на первое слово вашего массива и увидите кто в него и что пишет.
Также можно записать перед стартапом какое-нить значение (при помощи эмулятора) в одну из ячеек массива и посмотреть после стартапа её содержимое.
Возможно у вас кто-то портит этот массив.
Отлаживать своё ПО можете только Вы сами, удалённо это не сделать.
Go to the top of the page
 
+Quote Post
Lmx2315
сообщение Apr 8 2017, 18:48
Сообщение #21


отэц
*****

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



Цитата(jcxz @ Apr 8 2017, 21:26) *
эмулятор есть?.

..ооо! эмулятора нет, но в VDSP есть симулятор, может поможет?

Цитата(Lmx2315 @ Apr 8 2017, 21:42) *
..ооо! эмулятора нет, но в VDSP есть симулятор, может поможет?

..хотя симулятор без сдрамки наверное не поможет sad.gif . Ну на работе есть отладочная плата аналога под блекфин, там правда сдрам другой , посмотрю на ней.


--------------------
"..не нравятся мои выборы? ..приходите в мой суд."
Узурпатор П.
Go to the top of the page
 
+Quote Post
Lmx2315
сообщение Apr 12 2017, 15:11
Сообщение #22


отэц
*****

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



Создал свою секцию в файле ldf
CODE
init_sdram RUNTIME_INIT
{
INPUT_SECTION_ALIGN(4)
INPUT_SECTIONS($OBJECTS(init_sdram))
} > MEM_SDRAM0_BANK1


Массив стал выводиться но только почему-то по пол слова правильно , т.е.
Массив записан так :

Код
#pragma section ("init_sdram",RUNTIME_INIT)
unsigned short buf_sdram3[buf_size3]={0xabcd,0xabcd,0xabcd};


а выводится это:
Код
buf_sdram3:
AB00 AB00 AB00 AB00


Почему?

Причём если ручками записать по адресу массива двухбайтное слово - то оно записывается правильно, и читается правильно.


--------------------
"..не нравятся мои выборы? ..приходите в мой суд."
Узурпатор П.
Go to the top of the page
 
+Quote Post
dxp
сообщение Apr 13 2017, 05:18
Сообщение #23


Adept
******

Группа: Свой
Сообщений: 3 369
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343



QUOTE (Lmx2315 @ Apr 12 2017, 22:11) *
а выводится это:
CODE
buf_sdram3:
AB00 AB00 AB00 AB00


Почему?

А в ldr файле в соответствующий секции тоже такие же значения лежат?

У меня в коде инициализирумый массив описан так:
CODE
//------------------------------------------------------------------------------
#pragma section("sdram1")
TCoordinates BrightnessIcon[46] =
{
    {1,8}, {2,2}, {2,8}, {2,13}, {3,3}, {3,12}, {4,6}, {4,7}, {4,8}, {4,9},
    {5,5}, {5,6}, {5,9}, {5,10}, {6,4}, {6,5}, {6,10}, {6,11}, {7,4}, {7,11},
    {8,1}, {8,2}, {8,4}, {8,11}, {8,13}, {8,14}, {9,4}, {9,11}, {10,4}, {10,5},
    {10,10}, {10,11}, {11,5}, {11,6}, {11,9}, {11,10}, {12,6}, {12,7}, {12,8}, {12,9},
    {13,3}, {13,12}, {14,2}, {14,8}, {14,13}, {15,8}
};
//------------------------------------------------------------------------------

А в линкерном скрипте
CODE
        sdram1
        {
            INPUT_SECTION_ALIGN(4)
            INPUT_SECTIONS($OBJECTS(sdram1) $LIBRARIES(sdram1))
        } >MEM_SDRAM1

Не помню никаких проблем.


--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
Go to the top of the page
 
+Quote Post
Lmx2315
сообщение Apr 13 2017, 07:19
Сообщение #24


отэц
*****

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



Цитата(dxp @ Apr 13 2017, 08:18) *
А в ldr файле в соответствующий секции тоже такие же значения лежат?


я ничего не понимаю - посмотрел гляделкой LdrViewer.exe в файле NewProject.ldr и не нашёл там своего массива, хотя он (пусть половинчато) выводится и в файле NewProject.map.xml есть :

Код
<OUTPUT_SECTION name='init_sdram' id='03D85970' memory_id='00582A08' type='SHT_PROGBITS' start_address='0x4' word_size='0x80' word_size_unmapped='0x0' word_size_reserved='0x0' >
<INPUT_SECTIONS>
<INPUT_SECTION id='03858170' name='init_sdram' start_address='0x4' size='0x80' element_at='0x0' >
<INPUT_FILE><![CDATA[.\Release\main.doj]]></INPUT_FILE>
<SYMBOL name='_buf_sdram3' address='0x4' size='0x80' binding='GLOBAL'><DEMANGLED_NAME><![CDATA[buf_sdram3]]></DEMANGLED_NAME></SYMBOL>
<SYMBOL name='._buf_sdram3.end' address='0x84' size='0x0' binding='LOCAL'><DEMANGLED_NAME><![CDATA[]]></DEMANGLED_NAME></SYMBOL>

Прикрепленные файлы
Прикрепленный файл  NewProject.rar ( 22.57 килобайт ) Кол-во скачиваний: 10
 


--------------------
"..не нравятся мои выборы? ..приходите в мой суд."
Узурпатор П.
Go to the top of the page
 
+Quote Post
dxp
сообщение Apr 13 2017, 07:37
Сообщение #25


Adept
******

Группа: Свой
Сообщений: 3 369
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343



QUOTE (Lmx2315 @ Apr 13 2017, 14:19) *
я ничего не понимаю - посмотрел гляделкой LdrViewer.exe в файле NewProject.ldr и не нашёл там своего массива, хотя он (пусть половинчато) выводится и в файле NewProject.map.xml есть :

Да, я тоже не вижу в ldr (в моём есть такие секции - в адресом пространстве SDRAM, т.е. утилита отображает исправно). Если есть в мапе, следовательно, должно быть и в dxe. Если из dxe в ldr не попадает, надо смотреть процесс генерации образа - утилита elfloader. У меня её запуск:

CODE
COMMON_FLAGS = ' -proc ADSP-' + Processor + ' -si-revision ' + DeviceRev
...
LDRFLAGS  = COMMON_FLAGS
LDRFLAGS += ' -Width 16'

...

LOADER + LDRFLAGS + ' -Init ' + <исполняемый init>


где: LOADER - elfloader.exe


--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
Go to the top of the page
 
+Quote Post
Lmx2315
сообщение Apr 13 2017, 08:23
Сообщение #26


отэц
*****

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



Цитата(dxp @ Apr 13 2017, 10:37) *

А вы не из под VisualDSP работаете?


--------------------
"..не нравятся мои выборы? ..приходите в мой суд."
Узурпатор П.
Go to the top of the page
 
+Quote Post
dxp
сообщение Apr 13 2017, 09:47
Сообщение #27


Adept
******

Группа: Свой
Сообщений: 3 369
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343



QUOTE (Lmx2315 @ Apr 13 2017, 15:23) *
А вы не из под VisualDSP работаете?

Нет, IDE VisialDSP++ только для отладчика использую (точнее, использовал, пока не перелез на линух, кодирование и сборка внешними тулзами (slickedit + scons)).

У вас тоже нет препятствий напрямую запустить любой инструмент из пакета. Попробуйте руками (утилитой elfloader.exe) ldr файл сгенерировать.


--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
Go to the top of the page
 
+Quote Post
Lmx2315
сообщение Apr 13 2017, 11:54
Сообщение #28


отэц
*****

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



По прежнему выводит по пол слова:

вывод моего терминала:
Цитата
buf_sdram3:
AA00 BB00 CC00 DD00 EE00 1100 2200 3300


Хотя если пишу после включения ручками в память - пишет и читает нормально, но при условии что пишу по чётному адресу.
А если пытаюсь записать двухбайтное слово по нечётному адресу в памяти - всё зависает, почему?
Прикрепленные файлы
Прикрепленный файл  tst1.rar ( 1.75 мегабайт ) Кол-во скачиваний: 10
Прикрепленный файл  init_code.rar ( 56.68 килобайт ) Кол-во скачиваний: 11
 


--------------------
"..не нравятся мои выборы? ..приходите в мой суд."
Узурпатор П.
Go to the top of the page
 
+Quote Post
dxp
сообщение Apr 13 2017, 12:04
Сообщение #29


Adept
******

Группа: Свой
Сообщений: 3 369
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343



QUOTE (Lmx2315 @ Apr 13 2017, 18:54) *
Хотя если пишу после включения ручками в память - пишет и читает нормально, но при условии что пишу по чётному адресу.
А если пытаюсь записать двухбайтное слово по нечётному адресу в памяти - всё зависает, почему?

У Blackfin есть требование по выравниванию. Однобайтные обращения можно делать по любому адресу, двухбайтные (halfword) - только по чётным адресам, четырёхбайтные (word) - только по адресам, кратным четырём. Если это нарушить, то возникает аппаратное исключение. Это всё описано в документации. Поэтому у вас проц и виснет.


--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
Go to the top of the page
 
+Quote Post
Lmx2315
сообщение Apr 13 2017, 13:11
Сообщение #30


отэц
*****

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



Цитата(dxp @ Apr 13 2017, 15:04) *
Поэтому у вас проц и виснет.

спасибо.


--------------------
"..не нравятся мои выборы? ..приходите в мой суд."
Узурпатор П.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 21st October 2017 - 17:47
Рейтинг@Mail.ru


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