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

 
 
> at91sam9g20 - не запускается встроенный bootloader
alx2
сообщение May 14 2012, 14:13
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 340
Регистрация: 25-10-05
Из: Пермь, Россия
Пользователь №: 10 091



Пытаюсь запустить плату с at91sam9g20 ревизии B.
Питания на него подаются в следующем порядке:
VDDBU есть всегда (подается от батарейки).
При включении VDDIO (он же VDDANA, VDDOSC, VDDUSB, ) растет от 0 до 3.3 В (несколько миллисекунд).
Когда VDDIO достигает 2.5В, появляется VDDCORE (он же VDDPLL). После его появления я вижу импульс сброса на NRST.
Вижу генерацию 32.768 кГц на часовом кварце и 18.432 МГц на основном. BMS притянут через 100 кОм к VDDIO (пробовал соединить напрямую, разницы нет).
Вместо ожидаемого выполнения программы из встроенного ПЗУ я вижу следующее: через 100 мс после сброса процессор начинает читать NAND FLASH: на NANDOE идут отрицаиельные импульсы длительностью 70 нс с периодом 650 нс. В это время периодически вижу импульсы на CLE. На ALE импульсов не замечено. Продолжается это примерно 4 секунды, после чего все стихает.
Попыток обращения по SPI не вижу. На SPI0CS0 и на SCK0 высокий уровень, никаких импульсов нет. В DBGU ничего не выдается (как я понял, загрузчик должен выдать что-то типа RomBoot?). Более того, на выводе DTXD низкий уровень (DBGU не инициализируется?).
Три платы ведут себя одинаково.

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


--------------------
Всего наилучшего,
Alex Mogilnikov
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 14)
aaarrr
сообщение May 14 2012, 14:20
Сообщение #2


Гуру
******

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



Цитата(alx2 @ May 14 2012, 18:13) *
У меня мысли кончились...

Не пробовали отключить NAND?
Go to the top of the page
 
+Quote Post
alx2
сообщение May 15 2012, 03:17
Сообщение #3


Местный
***

Группа: Участник
Сообщений: 340
Регистрация: 25-10-05
Из: Пермь, Россия
Пользователь №: 10 091



Цитата(aaarrr @ May 14 2012, 19:20) *
Не пробовали отключить NAND?

Пробовал. Отключал CE флешки от процессора и подавал туда высокий уровень. Никаких изменений.


--------------------
Всего наилучшего,
Alex Mogilnikov
Go to the top of the page
 
+Quote Post
seltec
сообщение May 15 2012, 08:09
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 20
Регистрация: 5-01-08
Из: г. Казань
Пользователь №: 33 830



Не сильно вникал в суть вопроса, так что может и не совсем в тему, но здесь было подмечено, что в SAM7 bootloader может не корректно работать с компами на чипсете AMD. С чипсетом Intel проблем не возникало. Может это поможет?...
Go to the top of the page
 
+Quote Post
aaarrr
сообщение May 15 2012, 08:15
Сообщение #5


Гуру
******

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



Так тут до "чипсета" не доходит. Получается, что загрузчик стартует (запускает основной кварц), но работает некорректно.
Кстати, alx2, вы пробовали USB подключать, или смотрите только DBGU?
Go to the top of the page
 
+Quote Post
alx2
сообщение May 15 2012, 09:14
Сообщение #6


Местный
***

Группа: Участник
Сообщений: 340
Регистрация: 25-10-05
Из: Пермь, Россия
Пользователь №: 10 091



Цитата(aaarrr @ May 15 2012, 13:15) *
Кстати, alx2, вы пробовали USB подключать, или смотрите только DBGU?

Пробовал. Никакой реакции со стороны компьютера.

Насчет основного генератора - тут ситуация непонятная. У меня генерация (18 МГц с размахом 200 мВ) на кварце (вывод XOUT) появляется сразу в момент подачи питания, и я не вижу признаков того, что кто-то генератор "включает". В документации, действительно, написано, что после сброса генератор выключен, и его надо включать, но нигде не уточняется, что значит "выключен", и что при этом не должно быть никакой генерации...

Насчет NANDOE - как я понял, это просто сумма сигналов NCS3 и NRD, поэтому импульсы на этом выходе еще не свидетельствуют об обращении именно к NAND FLASH. Видимо, процессор обращается к области NCS3 как к статической памяти. А импульсы на CLE - на самом деле A22...

Так что пока у меня пока полное впечатление, что процессор пытается стартовать из несуществующей внешней памяти (NCS0 у меня не используется и не выведен из-под процессора)...

Кто-нибудь вообще использует sam9g20 с таким порядком подачи питаний (сначала VDDIO, потом VDDCORE)?
У меня осталась единственная мысль - попробовать поменять порядок подачи питаний, что не так-то просто сделать... sad.gif


--------------------
Всего наилучшего,
Alex Mogilnikov
Go to the top of the page
 
+Quote Post
aaarrr
сообщение May 15 2012, 09:28
Сообщение #7


Гуру
******

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



Цитата(alx2 @ May 15 2012, 13:14) *
Насчет основного генератора - тут ситуация непонятная. У меня генерация (18 МГц с размахом 200 мВ) на кварце (вывод XOUT) появляется сразу в момент подачи питания, и я не вижу признаков того, что кто-то генератор "включает". В документации, действительно, написано, что после сброса генератор выключен, и его надо включать, но нигде не уточняется, что значит "выключен", и что при этом не должно быть никакой генерации...

Ну, если выключен, то по логике и генерации быть не должно. Проверять в голову не приходило.
Попробуйте переключить BMS на загрузку с NCS0 - тогда его точно никто включать не будет.

Цитата(alx2 @ May 15 2012, 13:14) *
Кто-нибудь вообще использует sam9g20 с таким порядком подачи питаний (сначала VDDIO, потом VDDCORE)?
У меня осталась единственная мысль - попробовать поменять порядок подачи питаний, что не так-то просто сделать... sad.gif

Используем. Для ревизии B это нормально.
Go to the top of the page
 
+Quote Post
alx2
сообщение May 15 2012, 09:47
Сообщение #8


Местный
***

Группа: Участник
Сообщений: 340
Регистрация: 25-10-05
Из: Пермь, Россия
Пользователь №: 10 091



Оп-па! Сейчас проделал простой эксперимент - посадил BMS на землю. И поведение изменилось!!!
Во-первых, на основном кварце нет никакой генерации, а во-вторых, на NANDOE нет никаких импульсов, постоянный высокий уровень.

Следовательно, процессор на BMS реагирует, и высокий уровень на нем видит. Включение основного генератора, видимо, производится осмысленно, под управлением встроенного загрузчика.
Остается непонятным, какого же хрена он дальше не хочет работать как положено...


--------------------
Всего наилучшего,
Alex Mogilnikov
Go to the top of the page
 
+Quote Post
aaarrr
сообщение May 15 2012, 09:54
Сообщение #9


Гуру
******

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



Я бы еще батарейку посоветовал отключить пока, чтобы POR формировался на части, запитанной от VDDBU. У вас ведь предусмотрено "альтернативное" питание VDDBU от VDDIO?
Go to the top of the page
 
+Quote Post
alx2
сообщение May 15 2012, 10:12
Сообщение #10


Местный
***

Группа: Участник
Сообщений: 340
Регистрация: 25-10-05
Из: Пермь, Россия
Пользователь №: 10 091



Цитата(aaarrr @ May 15 2012, 14:54) *
У вас ведь предусмотрено "альтернативное" питание VDDBU от VDDIO?

Нет, sm.gif но припаять проводок недолго. Только мне непонятен смысл этого эксперимента. У меня VDDCORE и VDDBU делается двумя одинаковыми микросхемами (TPS71710). Если я вместо батарейки подам VDDIO, то VDDCORE и VDDBU будут появляться одновременно - плюс-минус разброс параметров микросхемы. И что?

Кстати, я могу вынуть батарейку, подать питание и вставить батарейку. sm.gif

Сообщение отредактировал alx2 - May 15 2012, 10:14


--------------------
Всего наилучшего,
Alex Mogilnikov
Go to the top of the page
 
+Quote Post
aaarrr
сообщение May 15 2012, 10:17
Сообщение #11


Гуру
******

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



Цитата(alx2 @ May 15 2012, 14:12) *
У меня VDDCORE и VDDBU делается двумя одинаковыми микросхемами (TPS71710).

Хм. Крутая батарейка должна быть.

Цитата(alx2 @ May 15 2012, 14:12) *
Если я вместо батарейки подам VDDIO, то VDDCORE и VDDBU будут появляться одновременно - плюс-минус разброс параметров микросхемы. И что?

POR у VDDBU части сработает.
Go to the top of the page
 
+Quote Post
alx2
сообщение May 15 2012, 10:28
Сообщение #12


Местный
***

Группа: Участник
Сообщений: 340
Регистрация: 25-10-05
Из: Пермь, Россия
Пользователь №: 10 091



Хм... Убрал батарейку. Оказалось, что и без нее на VDDBU появляется напряжение (видимо, через внутренние цепи контроллера).
После подачи основного питания контроллер отрабатывает все ту же процедуру. Только импульсы на NANDOE появляются не через 100 мс после включения, а почти через секунду (задержка на стабилизацию часового кварца?)...


--------------------
Всего наилучшего,
Alex Mogilnikov
Go to the top of the page
 
+Quote Post
aaarrr
сообщение May 15 2012, 11:01
Сообщение #13


Гуру
******

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



Цитата(alx2 @ May 15 2012, 14:28) *
После подачи основного питания контроллер отрабатывает все ту же процедуру. Только импульсы на NANDOE появляются не через 100 мс после включения, а почти через секунду (задержка на стабилизацию часового кварца?)...

Да, это медленная раскачка кварца (до 1200мс по даташиту).

Меня тут смущает пара моментов:
- вы говорите, что DBGU не инициализирован, но внутренний загрузчик должен выплюнуть строку "ROMBoot" еще до всех попыток загрузки.
- "0" на выводе DTXD. Даже если он не инициализирован, должна быть единица за счет включенного pull-up'а.
Проверьте подключение DBGU.

А на SPI какая-нибудь память не подключена?
Go to the top of the page
 
+Quote Post
alx2
сообщение May 15 2012, 11:13
Сообщение #14


Местный
***

Группа: Участник
Сообщений: 340
Регистрация: 25-10-05
Из: Пермь, Россия
Пользователь №: 10 091



УРА!!! Заработала! (с) Матроскин.

Рассказываю. Оказалось, что проблема была в сигнале JTAGSEL. Он у меня был притянут к 1В чтобы включить режим JTAG. Отпаял внешний резистор, теперь этот сигнал стал притянут к нулю внутренним pull-down резистором. И получил в терминале долгожданную "RomBOOT".

Я и не предполагал, что сам факт переключения порта JTAG/ICE может влиять на работу ядра... К самому интерфейсу у меня ничего не было подключено, все JTAG сигналы имеют подтяжки куда следует...

Столько нервов потратил... sm.gif
Всем большое спасибо за участие и поддержку!

ЗЫ. На SPI никаких памятей нет, и, как я уже писал, я не видел никаких признаков обращения к SPI - ни на SCK, ни на CS0 не было никаких импульсов.

Сообщение отредактировал alx2 - May 15 2012, 11:15


--------------------
Всего наилучшего,
Alex Mogilnikov
Go to the top of the page
 
+Quote Post
DmitryM
сообщение May 15 2012, 13:04
Сообщение #15


Знающий
****

Группа: Свой
Сообщений: 583
Регистрация: 7-06-06
Из: Таганрог
Пользователь №: 17 840



Цитата(alx2 @ May 15 2012, 15:13) *
Рассказываю. Оказалось, что проблема была в сигнале JTAGSEL. Он у меня был притянут к 1В чтобы включить режим JTAG. Отпаял внешний резистор, теперь этот сигнал стал притянут к нулю внутренним pull-down резистором. И получил в терминале долгожданную "RomBOOT".

Я и не предполагал, что сам факт переключения порта JTAG/ICE может влиять на работу ядра... К самому интерфейсу у меня ничего не было подключено, все JTAG сигналы имеют подтяжки куда следует...


Хых, кто бы мог подумать, ведь в datasheet сказано: "The JTAGSEL pin is used to select the JTAG boundary scan when asserted at a high level. It
integrates a permanent pull-down resistor of about 15 kΩ to GND, so that it can be left unconnected
for normal operations."
Естественно, в boundary scan лапы себя по другому ведут. А JTAG отладчик работает с JTAGSEL=0.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 19th July 2025 - 08:35
Рейтинг@Mail.ru


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