Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум разработчиков электроники ELECTRONIX.ru _ Rainbow _ Запуск rainbow 1.1

Автор: Odiemus Apr 21 2007, 23:01

Спаял я версию Rainbow 1.1
по мере сборки проверил питание - работает.
запаял сетевой контроллер, запаял RJ45, запаял flash (AT45DB642D) и AT91RM9200.
как рекомендовали, включил - на терминале побежали 'CCCCC' x-modem'а, типа работает.
попробовал залить romboot.bin - вроде как залился, но после него на консоли тишина.
было предположение что это потому что память еще не впаяна. Впял память.
Ситуация не изменилась.
Пробовал сам собрать romboot из исходников на heavy-online.ru и залить, пробовал залить уже готовый romboot.bin оттуда же, пробовал заливать который поставляется атмелом - изменений нет.
Есть-ли какие рекомендации как узнать-проверить в каком месте у меня затык?
MAX2323 пашет и проц работает (судя по тому что на терминал откликается), но дальше - молчок.
может у проца какая-то часть вылетела при его монтаже? sad.gif

Автор: AlexMad Apr 22 2007, 09:53

Без памяти РомБут работать не будет, с не работающей памятью, тоже, с неправильно проинициализированной памятью... по крайней мере, что-то он в консоль выдаст. Если есть джитаг, то стоит загнать в камень тест памяти и посмотреть осциллографом на всех выводах памяти на отсутствие сопель. Если нет джитага и осциллографа, то пробовать минимальные примеры от Атмела, где есть только инициализация уарта и выдача строки в консоль. Пока консоль не заработает, ничего не получится.
Потом уже пробовать тест памяти.
P.S. а DBGU подключили? Я, просто не уверен, буковка Ц может бежать и на основном уарте.

Автор: Odiemus Apr 22 2007, 11:13

Цитата(AlexMad @ Apr 22 2007, 10:53) *
Без памяти РомБут работать не будет, с не работающей памятью, тоже, с неправильно проинициализированной памятью...


Вообще в самом процессоре 16 Kb SRAM встроено, ромбут занимает около 11 кил, т.е. влазит в рекомендованные атмелом 12 Kb (16 - 4). Я потому и не увидел причин ему не загрузиться и не запуститься выведя хоть что-то на консоль. когда я почитал об инициализации и процессе загрузки то там сказано что как раз ромбут первым попадает в память, ему отдаётся девственно чистое свежерезетнутое hardware и он должен сам всё начать инициализировать, в том числе и память, flash, usart...

Цитата
по крайней мере, что-то он в консоль выдаст. Если есть джитаг, то стоит загнать в камень тест памяти и посмотреть осциллографом на всех выводах памяти на отсутствие сопель. Если нет джитага и осциллографа, то пробовать минимальные примеры от Атмела, где есть только инициализация уарта и выдача строки в консоль. Пока консоль не заработает, ничего не получится.


"сопли" - это закоротки и/или непропаи при пайке?
jtag пока нет, но схему я нашел и собираюсь уже его паять. какой со стороны виндов для него софт?
пока jtag паяется буду пробовать примеры от атмела, если смогу их скомпилить...

Цитата
Потом уже пробовать тест памяти.


ага, это уже стоит в плане

Цитата
P.S. а DBGU подключили? Я, просто не уверен, буковка Ц может бежать и на основном уарте.


на основном не бежит, я проверил. всё работает именно на DBGU.

да, еще момент: при загрузке одной версии romboot'а загрузка проходит до конца. При загрузке того робмута который скомпилировал я (или взял с heavy-online) - передача в какой-то момент останавливается и стоит sad.gif

Автор: AlexMad Apr 22 2007, 13:54

Цитата(Odiemus @ Apr 22 2007, 12:13) *
да, еще момент: при загрузке одной версии romboot'а загрузка проходит до конца. При загрузке того робмута который скомпилировал я (или взял с heavy-online) - передача в какой-то момент останавливается и стоит sad.gif

Доходит до конца и что? висит дальше, или выводит меню? Ромбут действительно запускается из внутренней памяти процессора, отсюда мораль: он должен быть не больше этой памяти. Я сначала тоже перепутал на сайте Хэви ромбут (11к) и у-бут (113к). Если он превысит этот размер, то передача зависнет, что, как я понимаю, у Вас и происходит.
А про то, что он не будет работать без памяти (внешней) я несколько погорячился... работать он будет, но только внешне, потому что его основная функция - это загрузка в память следующего загрузчика (у-бут) или сразу рабочего софта. У меня были проблемы, пока я не переписал инициализацию памяти под свои микросхемы.
Есть желание сделать что-то самоконфигуурируемое, но это в следующей жизни.

Автор: Odiemus Apr 22 2007, 14:15

Цитата(AlexMad @ Apr 22 2007, 14:54) *
Доходит до конца и что? висит дальше, или выводит меню?

в том-то и дело что до конца загрузка не доходит и висит, зависает при передаче x-modem'ом.
если бы он доводил до конца загрузку и что-то запускалось уже внутри на процессоре я был бы куда более спокоен. я боюсь что мог попалить проц при монтаже sad.gif или какую-то его часть могло выбить статикой?
Цитата
Ромбут действительно запускается из внутренней памяти процессора, отсюда мораль: он должен быть не больше этой памяти. Я сначала тоже перепутал на сайте Хэви ромбут (11к) и у-бут (113к). Если он превысит этот размер, то передача зависнет, что, как я понимаю, у Вас и происходит.

это-то я как раз не перепутал!
я гружу именно romboot который у меня объмом 10116 байт.
до u-boot'а еще далеко sad.gif
Цитата
... У меня были проблемы, пока я не переписал инициализацию памяти под свои микросхемы.

а что именно пришлось переписывать?
у меня сейчас стоят два чипа памяти HY57V561620FTP-H

Автор: AlexMad Apr 22 2007, 15:12

Цитата(Odiemus @ Apr 22 2007, 15:15) *
а что именно пришлось переписывать?
у меня сейчас стоят два чипа памяти HY57V561620FTP-H

Переписывал инициализацию СДРАМ.
вот так:
http://electronix.ru/forum/index.php?showtopic=25634
это надо смотреть на даташит Ваших микросхем.

Автор: Odiemus Apr 22 2007, 23:29

продвижение!
оказывается надо сначала запустить передачу, только потом нажать reset чтоб с перым же C началась передача - так работает!

Цитата(AlexMad @ Apr 22 2007, 16:12) *
Переписывал инициализацию СДРАМ.
вот так:
http://electronix.ru/forum/index.php?showtopic=25634
это надо смотреть на даташит Ваших микросхем.


сейчас буду по этому треду идти и смотреть что у меня не работает.
у меня сейчас выводит строку
Код
Добро пожаловать в minicom 2.1                                                
                                                                              
ОПЦИИ: History Buffer, F-key Macros, Search History Buffer, I18n              
Дата компиляции Feb  6 2007, 00:07:27.                                        
                                                                              
Нажмите CTRL-A Z для получения подсказки по клавишам                          
                                                                              
                                                                              
AT91F_LowLevelInit(): Debug channel initialized                                
press any key to enter bootloader                                              
Load U-BOOT from dataflash[c0008000] to SDRAM[20f00000]                        
Set PLLA to 180Mhz and Master clock to 45Mhz and start U-BOOTЪ

но по крайней мере проц пашет! smile.gif

Автор: Vishay Apr 23 2007, 09:47

Цитата(Odiemus @ Apr 22 2007, 12:13) *
Вообще в самом процессоре 16 Kb SRAM встроено, ромбут занимает около 11 кил, т.е. влазит в рекомендованные атмелом 12 Kb (16 - 4).


2Odiemus

А не подскажите, что такое "(16 - 4)" ?

Автор: Odiemus Apr 23 2007, 11:56

Цитата(Vishay @ Apr 23 2007, 10:47) *
А не подскажите, что такое "(16 - 4)" ?


16Kb - суммарный объём встроенной SRAM в проце, 4Kb Atmel рекомендует резервировать под stack, так что для апликух остаётся всего 12 кил, куда они и должны влезть.

Да, RomBoot я уже вполне запустил wink.gif . не сразу заметил что надо быстро нажать any key для выхода в меню. скомпилённый мной нормально работает. теперь буду терзать его на предмет заливки его-же во flash и заливки u-boot.

Автор: Odiemus Apr 25 2007, 00:33

Теперь другая беда - после загрузки romboot.bin он запускается, но грузить u-boot.bin не хочет sad.gif :

Код
CCCCCCCCCCpress any key to enter bootloader

ATMEL LOADER VER 1.01 Apr 24 2007 00:56:07
*----------------------------------------*
DataFlash[0x0]:AT45DB642
Nb pages: 008192
Page Size: 001056
Size=08650752 bytes
Logical address: 0xC0000000
*----------------------------------------*
1: Download Dataflash [addr]
2: Read Dataflash [addr]
3: Start U-BOOT
4: Clear bootloader section in Dataflash
---
*----------------------------------------*
Enter: 1 c0000000
Download Dataflash [0xc0000000]
CCCCCCC

пока буду пытаться сам по даташитам что-то выудить....
Кто может сказать какие значения констант для PLL и вообще для клоков 16MHz кварца надо указать при компиляции romboot чтоб он правильно проинитил всё?

Автор: COMA Apr 25 2007, 16:20

так ромбут и убут прошиты во флеш?

Автор: Odiemus Apr 26 2007, 10:42

Цитата(COMA @ Apr 25 2007, 17:20) *
так ромбут и убут прошиты во флеш?

нет, во flash еще ничего не прошито
а надо прошить программатором извне или можно romboot залить по xmodem и он себя прошьет?

Автор: Dron_Gus Apr 27 2007, 12:32

Цитата(Odiemus @ Apr 26 2007, 11:42) *
а надо прошить программатором извне или можно romboot залить по xmodem и он себя прошьет?




Да. После того, как он запустился, его надо послать еще раз. Уже для прошивки во флешь. На heavy-online есть хорошая инструкция. Там все это описано.

Автор: Odiemus Apr 27 2007, 22:17

Цитата(Dron_Gus @ Apr 27 2007, 13:32) *
Да. После того, как он запустился, его надо послать еще раз. Уже для прошивки во флешь. На heavy-online есть хорошая инструкция. Там все это описано.

я эту инструкцию уже чуть ли не наизусть выучил blink.gif
я пробовал второй раз посылать и romboot.bin еще раз, и u-boot.bin - передача по x-modem не проходит, из-за ошибок при передаче x-modem отваливается. такое впечатление что или
порт неправильно сконфигурен или память или что еще sad.gif
т.е. когда сам проц работает от slowclock после резета то x-modem еще как-то пашет, а вот после запуска romboot и егойных переинициализий железа x-modem самого romboot'а не пашет - не принимает ничего.
да, кварц я сейчас перепаял с 16000 kHz на 18432 kHz.
я еще попробовал добавить простейший тест памяти в сам romboot - записав числа начиная с адреса 0x20000000 объёмом около 16 метров (хотя памяти запаяно 64 метра суммарно) и сравнив потом то что я записал с тем что там на самом деле лежит после записи - там какая-то лажа sad.gif
когда я пробую проверить тож самое начиная с адреса 0xC0000000 то получаю практически сразу после запуска этого теста:
-F- Data Abort detected
вот что у меня за тест:
Код
            case '5': {
#define MEMTEST_ADDR_START      0x20000000
#define MEMTEST_SIZE            16777210
                int *ptr, i;
                printf("Starting memory test.\n\r");
                printf("Writting.\n\r");
                ptr = (int *)MEMTEST_ADDR_START;
                for (i = 0; i < MEMTEST_SIZE; i++) {
                    *ptr = i;
                    ptr++;
                }
                printf("Reading.\n\r");
                ptr = (int *)MEMTEST_ADDR_START;
                for (i = 0; i < MEMTEST_SIZE; i++) {
                    int x;
                    x = *ptr;
                    if (x == i) {

                    } else {
                        printf("Error @ 0x%x: expected 0x%x found 0x%x.\n\r",
                                ptr, i, x);
                    }
                    ptr++;
                }
            }
            command = 0;
            break;

а при тесте с 0x20000000 я получаю такой результат:
Код
AT91F_LowLevelInit(): Debug channel initialized                                                                            
press any key to enter bootloader                                                                                          
                                                                                                                            
ATMEL LOADER VER 1.01 Apr 27 2007 23:48:13                                                                                  
*----------------------------------------*                                                                                  
DataFlash[0x0]:AT45DB642                                                                                                    
Nb pages: 008192                                                                                                            
Page Size: 001056                                                                                                          
Size=08650752 bytes                                                                                                        
Logical address: 0xC0000000                                                                                                
Main = 18432000 Hz                                                                                                          
CPU = 48054841 Hz                                                                                                          
*----------------------------------------*                                                                                  
1: Download Dataflash [addr]                                                                                                
2: Read Dataflash [addr]                                                                                                    
3: Start U-BOOT                                                                                                            
4: Clear bootloader section in Dataflash                                                                                    
5: Simple SDRAM test                                                                                                        
*----------------------------------------*                                                                                  
Enter: 5                                                                                                                    
Starting memory test.
Writting.                                                                                                                  
Reading.                                                                                                                    
Error @ 0x20000000: expected 0x0 found 0x820000.                                                                            
Error @ 0x20000004: expected 0x1 found 0x820001.                                                                            
Error @ 0x20000008: expected 0x2 found 0x820002.                                                                            
Error @ 0x2000000c: expected 0x3 found 0x820003.                                                                            
Error @ 0x20000010: expected 0x4 found 0x820004.                                                                            
Error @ 0x20000014: expected 0x5 found 0x820005.                                                                            
Error @ 0x20000018: expected 0x6 found 0x820006.                                                                            
Error @ 0x2000001c: expected 0x7 found 0x820007.                                                                            
Error @ 0x20000020: expected 0x8 found 0x820008.                                                                            
Error @ 0x20000024: expected 0x9 found 0x820009.                                                                            
Error @ 0x20000028: expected 0xa found 0x82000a.
...


я не пойму - то-ли память не так инициализирована, то-ли память битая, так как чипы выпаяны из диммов (но вроде выпаивал аккуратно, не перегревал особо).

сейчас сижу изучаю даташиты на микросхемы памяти
я-то взял не 8-ми или 16-ти метровые чипы, как это сделано в оригинале rainbow, а поставил два 32-х метровых HY57V56160FTP-H.

Автор: Dron_Gus Apr 28 2007, 00:08

В адресах 0xC0000000 проверять нечего. Это логический адрес флешки. Не более.
А с памятью - попробуйте мой тест. Я его тут где-то выкладывал. Мне помог.

Автор: Odiemus May 12 2007, 22:47

Цитата(Dron_Gus @ Apr 28 2007, 04:08) *
В адресах 0xC0000000 проверять нечего. Это логический адрес флешки. Не более.
А с памятью - попробуйте мой тест. Я его тут где-то выкладывал. Мне помог.

запустил таки!!
оказалось проблемы с непропаями и с инициализацией SDRAM.

Автор: slava2005 Jun 8 2007, 06:55

Позвольте задать несколько вопросов:

1. romboot.bin без установленной SDRAM может ли прошить dataflash ?
2. SDRAM можно впаивать по одной мс ?
3. romboot.bin инициализирует ли PLL и SDRAM ?

Сорри за тупые вопросы.

Автор: Petka Jun 8 2007, 10:15

Цитата(slava2005 @ Jun 8 2007, 10:55) *
Позвольте задать несколько вопросов:

1. romboot.bin без установленной SDRAM может ли прошить dataflash ?
2. SDRAM можно впаивать по одной мс ?
3. romboot.bin инициализирует ли PLL и SDRAM ?

Сорри за тупые вопросы.

1. нет
2. нет.
3. да.

Автор: Vishay Jun 8 2007, 10:31

Цитата(Petka @ Jun 8 2007, 13:15) *
1. нет
2. нет.
3. да.


А почему romboot, загруженный в ОЗУ процессора, не может прошить Dataflash без SDRAM ?

Автор: slava2005 Jun 8 2007, 11:30

Цитата(Petka @ Jun 8 2007, 14:15) *
1. нет
2. нет.
3. да.


Спасибо!

Автор: slava2005 Jun 8 2007, 14:18

Итак, впаял SDRAM, после чего успешно загрузил romboot.bin в dataflash, далее загрузил u-boot (http://heavy-online.ru/arm-linux/files/ready/u-boot/) - загрузилось успешно, но при старте выдает вот это:


AT91F_LowLevelInit(): Debug channel initialized
press any key to enter bootloader
Load U-BOOT from dataflash[c0008000] to SDRAM[20f00000]
Set PLLA to 180Mhz and Master clock to 45Mhz and start U-BOOTÿ­]‚ßßä@a^a^a@XÁù@
@l@b``f@]@aazdgzbfY­]‚ßßä@ÃßÄÍz@b`Ž`````@]~@b`Ža‚ƒcƒ@@‚££z@]~@b`Žb`mmd¢@ƒßÞÎÙÇ
íâÁäÙßÞz‚ÁÞÛ@C`z@b```````@cb@‚­ÞÛÞßçÞ@ÆÜÁãØ@ÝÁÞíÎÁÃìíâÅâ@`ø``y```y`†ÜÁãØz@@`@Û‚
ŒÁäÁŽÜÁãØz¬lm„‚ndbžÂ@àÁÏÅãz@@@xayb ÁÏÅ@£ÙúÍz@@@a`mn£ÙúÅ}@xnm`gmb@ÂùìÍãœßÏÙÃÁÜ@Á
ÌÌâÅããz@`øƒ```````âÅÁ@`zƒ```````@ìß@ƒ```gŽŽŽ@X¢ŸYâÍÁ@azƒ```x```@ìß@ƒ``aŽŽ††@X¢
ŸYâÍÁ@bzƒ``b````@ìß@ƒ``bo†ŽŽ@âÅÁ@czƒ``bx```@äß@ƒ`xc†ŽŽŽ@ZZZ@§ÁâÞÙÞÏ@]@ÂÁÄ@ƒ¢ƒ\
@åãÙÞÇ@ÌÍÆÁíÜì@ÍÞîÙâßÞÝÍÞì™Þz@@@@ãÍâÙÁÜŸíìz@@@ãÍâÙÁ܍ââz@@@ãÍâÙÁÜÍìØz@ãÅììÙÞÏ@
ƒ@ÁÄÌâÅãã@äß@abzcdzmnzoxzyÁzÂà ˜¹@Þßì@ÃßÞÞÍÃìÅÌAAœÙÞÛz@a``ÂÁãͬ¸@ŽíÜÜ@„åàÜÅø˜Ùì@
ÁÞù@ÛÅù@äß@ãäßà@ÁíìßÂßßäz@@c@@b@@a@@`@í]Âßßì~@


Я чего то не пойму, что это ?

Автор: Petka Jun 9 2007, 11:00

Цитата(slava2005 @ Jun 8 2007, 18:18) *
Итак, впаял SDRAM, после чего успешно загрузил romboot.bin в dataflash, далее загрузил u-boot (http://heavy-online.ru/arm-linux/files/ready/u-boot/) - загрузилось успешно, но при старте выдает вот это:
AT91F_LowLevelInit(): Debug channel initialized
press any key to enter bootloader
Load U-BOOT from dataflash[c0008000] to SDRAM[20f00000]
Set PLLA to 180Mhz and Master clock to 45Mhz and start U-BOOTÿ]‚ßßä@a^a^a@XÁù@
@l@b``f@]@aazdgzbfY]‚ßßä@ÃßÄÍz@b`Ž`````@]~@b`Ža‚ƒcƒ@@‚££z@]~@b`Žb`mmd¢@ƒßÞÎÙÇ
..............
ÁÞù@ÛÅù@äß@ãäßà@ÁíìßÂßßäz@@c@@b@@a@@`@í]Âßßì~@
Я чего то не пойму, что это ?

потому-что u-boot неправильно настроил делитель UARTа

Автор: slava2005 Jun 9 2007, 16:39

Может быть есть у кого-нибудь тест памяти готовый, что бы через дебажный порт залить ?

Автор: Petka Jun 9 2007, 18:38

Цитата(slava2005 @ Jun 9 2007, 20:39) *
Может быть есть у кого-нибудь тест памяти готовый, что бы через дебажный порт залить ?

на какую частоту у вас кварц? какой размер памяти?

Автор: slava2005 Jun 10 2007, 06:47

Цитата(Petka @ Jun 9 2007, 22:38) *
на какую частоту у вас кварц? какой размер памяти?


Кварц на 16, памяти 64 мегабайта (2 чипа HY57V561620CT-H).
----
Перепаял кварц на 18.432, после чего успешно стартанул u-boot от heavy:

AT91F_LowLevelInit(): Debug channel initialized
press any key to enter bootloader
Load U-BOOT from dataflash[c0008000] to SDRAM[20f00000]
Set PLLA to 180Mhz and Master clock to 45Mhz and start U-BOOTÿ

U-Boot 1.1.1 (May 4 2006 - 11:47:26)

U-Boot code: 20F00000 -> 20F1BC3C BSS: -> 20F20554
RAM Configuration:
Bank #0: 20000000 32 MB
Unknown flash manufacturer 0x00900090
Flash: 0 kB
DataFlash:AT45DB642
Nb pages: 8192
Page Size: 1056
Size= 8650752 bytes
Logical address: 0xC0000000
Area 0: C0000000 to C0007FFF (RO)
Area 1: C0008000 to C001FFFF (RO)
Area 2: C0020000 to C0027FFF
Area 3: C0028000 to C083FFFF
*** Warning - bad CRC, using default environment

In: serial
Out: serial
Err: serial
eth: setting MAC address to 12:34:56:78:9a:bc
PHY not connected!!
Link: 100baseTX Full Duplex
Hit any key to stop autoboot: 0
## Booting image at 10020000 ...
Bad Magic Number
u-boot>

------------

Но меня смущает
RAM Configuration:
Bank #0: 20000000 32 MB

У меня-то памяти 64 07.gif

mtest тоже ругается:

Testing 20000000 ... 21ede000:
Iteration: 1
FAILURE (read/write) @ 0x20edddac: expected 0x003b776c, actual 0xffc48894)

Автор: Odiemus Jun 11 2007, 19:19

Цитата
Кварц на 16, памяти 64 мегабайта (2 чипа HY57V561620CT-H).
----
Перепаял кварц на 18.432, после чего успешно стартанул u-boot от heavy:

AT91F_LowLevelInit(): Debug channel initialized
press any key to enter bootloader
Load U-BOOT from dataflash[c0008000] to SDRAM[20f00000]
Set PLLA to 180Mhz and Master clock to 45Mhz and start U-BOOTя

U-Boot 1.1.1 (May 4 2006 - 11:47:26)

U-Boot code: 20F00000 -> 20F1BC3C BSS: -> 20F20554
RAM Configuration:
Bank #0: 20000000 32 MB
Unknown flash manufacturer 0x00900090
Flash: 0 kB
DataFlash:AT45DB642
Nb pages: 8192
Page Size: 1056
Size= 8650752 bytes
Logical address: 0xC0000000
Area 0: C0000000 to C0007FFF (RO)
Area 1: C0008000 to C001FFFF (RO)
Area 2: C0020000 to C0027FFF
Area 3: C0028000 to C083FFFF
*** Warning - bad CRC, using default environment

In: serial
Out: serial
Err: serial
eth: setting MAC address to 12:34:56:78:9a:bc
PHY not connected!!
Link: 100baseTX Full Duplex
Hit any key to stop autoboot: 0
## Booting image at 10020000 ...
Bad Magic Number
u-boot>

------------

Но меня смущает
RAM Configuration:
Bank #0: 20000000 32 MB

Сколько памяти на плате прописывается в bootrom при компиляции. эту цифру он потом и выводит, можно хоть 512 метров прописать smile.gif
Цитата
У меня-то памяти 64 07.gif

mtest тоже ругается:

Testing 20000000 ... 21ede000:
Iteration: 1
FAILURE (read/write) @ 0x20edddac: expected 0x003b776c, actual 0xffc48894)


вот это похоже на непропаи ножек памяти! у меня примерно такое было с самодельным тестом памяти - пишем одно а читается совсем другое.

Автор: dch Jun 13 2007, 12:30

Цитата(slava2005 @ Jun 10 2007, 10:47) *
FAILURE (read/write) @ 0x20edddac: expected 0x003b776c, actual 0xffc48894)

Это может быть нормально, часто u-boot распаковывают в 15ый мегобайт, а стек он гладет под себя, поэтому адресок 20edddac как раз в область стека и попадает

Автор: andr2000 Jun 14 2007, 11:54

1. попробуйте вот это. это незаконченный бутлоадер (еррата на PLL - буду переделывать).
по коду видно, что он совсем не мой, но я его переписывал под себя smile.gif
в нем есть тест сдрам - сам пользуюсь на новых платах
если не получится скомпилить (сори, я не проверял будет ли
компилиться в условиях, отличных от моего воркспейса), просто
возьмите тест памяти и вставьте в свой код

2. у-бут у меня выдает примерно такое же сообщение на вполне рабочей плате

файл переименуйте в *.tar.bz2

 at91boot.tar ( 92.91 килобайт ) : 240
 

Автор: THK Mar 15 2008, 12:53

Добрый день!
Столкнулся с такой проблемой:
Одна плата Rainbow, после включения питания "мертвая" т.е. на консоли полная тишина, но стоит коснуться вывода 114 МК (TST1) и плата оживает! Залил в нее romboot, u-boot, uimage и fsimage от Heavy. Linux грузится все вроде-бы ОК, но после отключения питания надо опять дотрагиваться до вывода TST1, чтобы плата ожила sad.gifsad.gifsad.gif

На выводах TST0 и TST1 нули. В даташите о тестовых режимах ничего не написано.

Куда копать и где можно прочестьо тестовых режимах?

Автор: COMA Mar 15 2008, 17:23

113, 114 ноги надо сажать на землю через 1кОм. Вроде так описано в доках.

Автор: THK Mar 16 2008, 09:50

Цитата(COMA @ Mar 15 2008, 20:23) *
113, 114 ноги надо сажать на землю через 1кОм. Вроде так описано в доках.

У меня так и сделано(плата Rainbow). Касаюсь вывода резистора R27 1кОм, идущего на вывод 114.
Для определенности:
Плата Rainbow, все элементы запаяны, 2 платы работают без проблем, 1-у надо "заводить".
После того,как плата "завелась" - работает до следущего отключения питания (флеш шъется, файлы по сети скачивабтся, линукс работает).
Reset переносится хорошо, плата продолжает работать.
Такое ощущение, что что-то с процессором или его обвеской.
Еще один момент: иногда при включении на терминале выскакивают 1-2 буквы мусора.

Автор: COMA Mar 16 2008, 10:11

У меня две спаянные платы RainBow. Одна лежит дома - качает файлы из сети. uptime доходит до месяца, пока не отключат свет smile.gif
Другая лежит на работе. С обоими нет проблем. Может у вас где то земля потерялась? smile.gif

Автор: THK Mar 16 2008, 11:54

Цитата(COMA @ Mar 16 2008, 13:11) *
.....
Может у вас где то земля потерялась? smile.gif

К сожалению нет.
С двумя первими тоже проблемм нет (спаял, промыл, включил - работают), а эту спаял по просьбе друга и такой косяк получился! Весь монтаж просмотрел через лупу несколько раз не нашел ничего подозрительного, что делать ума не приложу!

Где можно почитать про тестовые режимы AT91RM9200? Вдруг мысль какая появится....

Автор: THK Mar 20 2008, 10:54

Идеи кончаются....
Проверил уровни на выводах МК PA31/BMS, PC6/NWAIT, PC8/A24, JTDGSEL, NTRST (нарыл в нете) совпадают с рабочей платой. Прабовал повесить конденсатор 0,1 мк с выв. TST1 на +3,3в - фокус не прошел.

Остается только предположение что загрузчик, который грузит RomBoot не работает и запускается, только после тычка на TST1. Идея пришла по аналогии c АRM7. Есть-ли какой нибудь способ востановить загрузчик? Или это совсем бредовая идея?.....

ЗЫ Каков процент брака МК AT91RM9200? Гдето читал, что попадаются не рабочие экземпляры.

Автор: Fortun Jun 19 2008, 07:53

Была у меня такая проблема на отладочной плате SAKURA v.2: подрубил первый раз плату по дебажному порту к ПК, включаю питание... и ничего, никаких обещенных буковок "СССС"...
Ну да ладно, не впервой! smile.gif Жму ресет - побежали буковки, но только "ггггг"! Именно при подаче питания на плату никакой реакции по дебажному порту, только после ресета! Метод "тычка" на TST1 не пробовал, фантазии не хватило smile.gif
Начинал проверять всю обвязку (фильтры PLL, номиналы их емкостей, кварцы...), пайку - ничего не помогало, все время бежали эти злощастные "гггг"! Когда генератор идей закончился и надежда угасла, рещил на всякий случай поменять этот западлянский ЧАСОВОЙ КВАРЦ (тот, который медленную тактовую частоту в контроллере задает, а также является источником клоков для дебажного битрейда). И точно, все сразу запустилось! Видимо я его немножко перегрел, когда его корпус к "земле" припаивал и его резонансная частота сместилась. Теперь все запускается сразу после подачи питание на плату. Попробуй кварц махни, может поможет smile.gif

Автор: THK Jun 19 2008, 14:13

Цитата(Fortun @ Jun 19 2008, 11:53) *
....
Попробуй кварц махни, может поможет smile.gif


Спасибо за ответ!
Кварц менял и один и другой - глухо... Проблему решил неочень красивым способом, поставил конденсатор 1мк с выв. TST1 на +3,3в.

Русская версия Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)