Jump to content

    
Sign in to follow this  
Odiemus

Можно-ли спалить проц/память неправильным конфигом?

Recommended Posts

Сидел ковырялся в romboot'е и, сдуру, закоментил (ifdef'ами) в коде инициализации SDRAM такой кусочек:

static void AT91F_InitSdram()
{
        int *pRegister;
#if 0
        //* Configure PIOC as peripheral (D16/D31)        
        AT91F_PIO_CfgPeriph(
                AT91C_BASE_PIOC, // PIO controller base address
                0xFFFF0030,
                0
        );
#endif
        
        //*Init SDRAM

 

После прошивки такого ромбута плата перестала подавать всякие признаки жизни :crying:

Как-то можно её резетнуть? как-то обнулить flash? как-то вообще узнать что с ней происходит?

При включении питания она CCC X-Modem'а, как раньше, не выдаёт. Просто тишина на консоли.

ни на DBGU, ни на последовательном порту (проверял перестановкой джамперов).

Пробовал разные комбинации джамперов J2/J3/J13 - ноль реакции :crying:

Что могло случиться? Проц умер? Память накрылась? Flash? что???

Share this post


Link to post
Share on other sites

Странно, разве что D16-D31 стали outpiut-ами, проверить питание есть ли 3.3V, 1.8V и генерацию кварцев

Share this post


Link to post
Share on other sites
Странно, разве что D16-D31 стали outpiut-ами, проверить питание есть ли 3.3V, 1.8V и генерацию кварцев

с утра питание успел проверить - в норме!

за осцилографом.. хм... полезу сегодня вечером, но у меня осцил до 5 MHz макс :(

Share this post


Link to post
Share on other sites
Сидел ковырялся в romboot'е и, сдуру, закоментил (ifdef'ами) в коде инициализации SDRAM такой кусочек:

 

После прошивки такого ромбута плата перестала подавать всякие признаки жизни :crying:

Как-то можно её резетнуть? как-то обнулить flash? как-то вообще узнать что с ней происходит?

При включении питания она CCC X-Modem'а, как раньше, не выдаёт. Просто тишина на консоли.

ни на DBGU, ни на последовательном порту (проверял перестановкой джамперов).

Пробовал разные комбинации джамперов J2/J3/J13 - ноль реакции :crying:

Что могло случиться? Проц умер? Память накрылась? Flash? что???

 

Для того, что бы активизировать встроенный загрузчик и отключить загрузку с флэшки я при закороченом переферийном ресете перезагружал сам контроллер.

Share this post


Link to post
Share on other sites
Для того, что бы активизировать встроенный загрузчик и отключить загрузку с флэшки я при закороченом переферийном ресете перезагружал сам контроллер.

это уже инетереснее..

т.е. отключить вывод RESET проца от всей схемы, потом на всю схему выдать RESET, который попадёт на флэшку, и удерживая его активным отдельно резетнуть проц чтоб он начал грузиться при неработающей флэшке?...

я правильно понял?

Edited by Odiemus

Share this post


Link to post
Share on other sites
это уже инетереснее..

т.е. отключить вывод RESET проца от всей схемы, потом на всю схему выдать RESET, который попадёт на флэшку, и удерживая его активным отдельно резетнуть проц чтоб он начал грузиться при неработающей флэшке?...

я правильно понял?

Да. Идею правильно понял, только разумнее не ресет проца отключать от всей схемы а только ресет(или чипселект) флэшки.

Share this post


Link to post
Share on other sites
это уже инетереснее..

т.е. отключить вывод RESET проца от всей схемы, потом на всю схему выдать RESET, который попадёт на флэшку, и удерживая его активным отдельно резетнуть проц чтоб он начал грузиться при неработающей флэшке?...

я правильно понял?

Я правильно понял!

Net RESET33 засадил на землю джампером, предварительно вообще сняв с платы J19, включил питалово - заработал x-modem !!!

дальше как обычно прошил romboot :)

всё, вопрос исчерпан.

благодарю! плата живёт!

Share this post


Link to post
Share on other sites

Попал в аналогичную ситуацию, записав в DataFlash копию области 0x00000000 ( ОЗУ процессора, где находился загруженный мною romboot ) при помощи модифицированного мной romboot'а: по команде "4" производится не очистка ( заполнение нулями ) начальной области DataFlash, а копирование из ОЗУ процессора в SDRAM копии romboot'а и последующая ее запись в DataFlash ( 6-й вектор при этом пока не модифицировал ).

После этого при подаче питания и при reset'e XMODEM не запускается и переустановка джамперов не помогает.

Проблема решена замыканием вывода CS буферной микросхемы ( U6, выв.1 ) на +3,3 В в момент включения платы или reset'а - запустился XMODEM ( побежали буковки CCCCC ), а дальше все как обычно.

Получается, что внутренний загрузчик процессора проверяет, независимо от положения джампера "int/ext bootloader", содержимое DataFlash ??? Причем, когда там записаны регулярные паттерны, входе 0xAA550000+i (i=0...0x4000/4 ), то ничего подобного не наблюдается !!!

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this