speccy2010.bin 64 версия original а speccy2010.rbf брал 66 отсюда http://zx-pk.ru/attachment.php?attac...5&d=1361972198 при такой конфигурации всё работает без артефактов.
speccy2010.bin 64 версия original а speccy2010.rbf брал 66 отсюда http://zx-pk.ru/attachment.php?attac...5&d=1361972198 при такой конфигурации всё работает без артефактов.
Балтик 128kb; Ленинград 512kb; Speccy2010 r2
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
хорошо, я сделаю
- - - Добавлено - - -
https://www.dropbox.com/s/b8txq2xa1b...y2010.bin?dl=0
https://www.dropbox.com/s/edqyy86ail...y2010.rbf?dl=0
только я не проверял их, только собрал. Напиши, получилось ли. Это 67 экспериментальная.
Ещё сейчас накрою стол и попробую прогу для проверки самопрограммирования
- - - Добавлено - - -
Ricia, вот сел написать тест этот и задумался. str75x это arm7. он 32-х битный. записывает флеш он 4 байтами сразу. я подумал, что если эта ошибка внутри проца, то не только бит должен быть постоянный, но и байт в этой четвёрке. и вот я взял все адреса, которые ты давал, и... остаток от деления на 4 каждого из них даёт 3. это, конечно, не очень хорошая новость...
- - - Добавлено - - -
Короче написал я этот тест. Ricia, просто заливаешь как обычный бутлодер, снимаешь перемычку, сбрасываешь и читаешь консоль. И так много раз.
Тест пока простой, завтра чуть сложнее сделаю. https://www.dropbox.com/s/hosvn596yf...mtest.bin?dl=0
Последний раз редактировалось serkiri; 31.12.2016 в 18:47.
speccy2010 rev1, rev2, pentagon 128K
Всех с НГ!
Посмотрите на код загрузки прошивки в ПЛИС:
В строке f_read читает по 1 байту, что очень медленно.Код:if( nSTATUS() == Bit_RESET ) { __TRACE( "FPGA configuration status OK...\n" ); for( dword pos = 0; pos < fpgaConfig.fsize; pos++ ) { byte data8; UINT res; if( f_read( &fpgaConfig, &data8, 1, &res ) != FR_OK ) break; if( res == 0 ) break; for( byte j = 0; j < 8; j++ ) { DCLK( Bit_RESET ); DATA( ( data8 & 0x01 ) == 0 ? Bit_RESET : Bit_SET ); data8 >>= 1; DCLK( Bit_SET ); } if( ( pos & 0xfff ) == 0 ) { WDT_Kick(); __TRACE( "." ); } } }
Вот моя процедура из другого проекта (основанная на коде syd), на АРМе из той же серии:
Как видно из кода, читается сразу BufLen=4К (что, конечно, излишне). Так вот, если в АРМе есть еще свободное встроенное ОЗУ, то можно увеличить буфер до 32, скажем, байт. У меня скорость заливки удвоилась по сравнению с неоптимизированным вариантом. Так что желающие могут попробовать проверить.Код:if( nSTATUS() ) { printf( "FPGA configuration status OK.\n\r" ); printf( "Loading" ); // Loading configuration in PS mode BYTE CurData, j, i; UINT Read2Buf; DWORD Cnt = 0; while ( f_read ( &fpgaConfig, &Buffer, BufLen, &Read2Buf ) == FR_OK ) { if ( Read2Buf == 0 ) break; for ( i = 0; i < Read2Buf; i++ ) { CurData = Buffer[i]; for ( j = 8; j > 0; j-- ) { // DCLK_LOW; if ( CurData & 1 ) { *PtrD1 = ( *PtrD1 & ~GPIO_Pin_6 ) | GPIO_Pin_7; // DATA_HIGH; } else { *PtrD1 &= ~GPIO_Pin_6 & ~GPIO_Pin_7; // DATA_LOW; } CurData >>= 1; DCLK_HIGH; } } if ( ( (Cnt++) & 0x3FF ) == 0 ) printf("."); } }
ZXM-Phoenix rev.01 2048K, VG93 hw emulator
только я не проверял их, только собрал. Напиши, получилось ли. Это 67 экспериментальная.>>>>>> Я вижу cовсем не ту версию 1.01 rev 65ext работает не очень стабильно правда атрибутов не вижу.
Speccy2010 boot ver 1.3(internal flash test)!
Writing 0x55
Reading
Writing 0xAA
Reading
The End
Speccy2010 boot ver 1.3(internal flash test)!
Writing 0x55
Reading
Writing 0xAA
Reading
The End
Speccy2010 boot ver 1.3(internal flash test)!
Writing 0x55
Reading
Writing 0xAA
Reading
The End
Speccy2010 boot ver 1.3(internal flash test)!
Writing 0x55
Reading
Writing 0xAA
Reading
The End
Последний раз редактировалось Ricia; 01.01.2017 в 17:49.
Балтик 128kb; Ленинград 512kb; Speccy2010 r2
Нет ли замыканий ножек арма на кварц ? Он очень близко расположен. Хорошо бы его приподнять на миллиметр над платой.
"L-256"
походу ошибок самозаписи нет.... ну я ещё чуть сложнее тест сделаю, но тем не менее.... странно...
- - - Добавлено - - -
Ricia, ну я уже по-инерции дописал простейший скремблер, чтобы не совсем статикой флеш проверить.
https://www.dropbox.com/s/4p0jlykc97...amble.bin?dl=0
попробуй плз, но у меня почти полнаа уверенность, что тест пройдёт чисто. сейчас подумаю как написать проверочное считывание из карточки.
- - - Добавлено - - -
Короче написал ещё простенький тест карточки. https://www.dropbox.com/s/ranv27ydku...mcard.bin?dl=0 он читает каждое слово по 200 раз и сравнивает. И ещё я сделал чтобы проц шился всегда. Ну тест довольно долго идёт.
Ricia, всё, теперь жду твоих результатов. Надеюсь теперь докопаемся.
speccy2010 rev1, rev2, pentagon 128K
народ, а почему в перечне элементов платы р2 отсутствуют r20 и r28? забыли их?
speccy2010 rev1, rev2, pentagon 128K
Вот что я увидел:
--------------------------------------------------------------------------------------------------------------------------------------------
Internal flash test with simple scramble
Erasing
Writing 0x55
.................................................. ............
Reading
Erasing
Writing 0xAA
.................................................. ............
Reading
Erasing
Writing scramble
.................................................. ............
Reading scramble
The End
Internal flash test with simple scramble
Erasing
Writing 0x55
.................................................. ............
Reading
Erasing
Writing 0xAA
.................................................. ............
Reading
Erasing
Writing scramble
.................................................. ............
Reading scramble
Found error - at pos =20016aa4, value in flash = +%+%+%)$, should be = +%+%+%+$
Found error - at pos =200173a4, value in flash = +%+%+%)$, should be = +%+%+%+$
Found error - at pos =20017724, value in flash = 24242404, should be = 24242424
Found error - at pos =20017ba4, value in flash = +%+%+%)$, should be = +%+%+%+$
Found error - at pos =2001aba4, value in flash = +%+%+%)$, should be = +%+%+%+$
Found error - at pos =2001bea4, value in flash = +%+%+%)$, should be = +%+%+%+$
Found error - at pos =2001e6a4, value in flash = +%+%+%)$, should be = +%+%+%+$
Found error - at pos =2001eba4, value in flash = +%+%+%)$, should be = +%+%+%+$
The End
Internal flash test with simple scramble
Erasing
Writing 0x55
.................................................. ............
Reading
Erasing
Writing 0xAA
.................................................. ............
Reading
Erasing
Writing scramble
.................................................. ............
Reading scramble
Found error - at pos =200136a4, value in flash = +%+%+%)$, should be = +%+%+%+$
Found error - at pos =20013fa4, value in flash = +%+%+%)$, should be = +%+%+%+$
Found error - at pos =200156a4, value in flash = +%+%+%)$, should be = +%+%+%+$
Found error - at pos =200156b4, value in flash = ,%,%,%*$, should be = ,%,%,%,$
Found error - at pos =20015ea4, value in flash = +%+%+%)$, should be = +%+%+%+$
Found error - at pos =20015eb4, value in flash = ,%,%,%*$, should be = ,%,%,%,$
Found error - at pos =20016ba0, value in flash = +!+!+!(0, should be = +!+!+!*0
Found error - at pos =20016da4, value in flash = +%+%+%)$, should be = +%+%+%+$
Found error - at pos =200177a4, value in flash = +%+%+%)$, should be = +%+%+%+$
Found error - at pos =20017ab4, value in flash = ,%,%,%*$, should be = ,%,%,%,$
Found error - at pos =20017bb4, value in flash = ,%,%,%*$, should be = ,%,%,%,$
Found error - at pos =20017ea4, value in flash = +%+%+%)$, should be = +%+%+%+$
Found error - at pos =20017fa0, value in flash = +!+!+!(0, should be = +!+!+!*0
Found error - at pos =20017fa4, value in flash = +%+%+%)$, should be = +%+%+%+$
Found error - at pos =20017fb0, value in flash = ,!,!,!)0, should be = ,!,!,!+0
Found error - at pos =20019fb4, value in flash = ,%,%,%*$, should be = ,%,%,%,$
Found error - at pos =2001b3a4, value in flash = +%+%+%)$, should be = +%+%+%+$
Found error - at pos =2001baa4, value in flash = +%+%+%)$, should be = +%+%+%+$
Found error - at pos =2001c7a4, value in flash = +%+%+%)$, should be = +%+%+%+$
Found error - at pos =2001d7a4, value in flash = +%+%+%)$, should be = +%+%+%+$
Found error - at pos =2001dbb4, value in flash = ,%,%,%*$, should be = ,%,%,%,$
Found error - at pos =2001e2a4, value in flash = +%+%+%)$, should be = +%+%+%+$
Found error - at pos =2001e724, value in flash = 24242404, should be = 24242424
Found error - at pos =2001e9a4, value in flash = +%+%+%)$, should be = +%+%+%+$
Found error - at pos =2001eba4, value in flash = +%+%+%)$, should be = +%+%+%+$
Found error - at pos =2001eea4, value in flash = +%+%+%)$, should be = +%+%+%+$
Found error - at pos =2001efa4, value in flash = +%+%+%)$, should be = +%+%+%+$
Found error - at pos =2001f2b4, value in flash = ,%,%,%*$, should be = ,%,%,%,$
Found error - at pos =2001f3a4, value in flash = +%+%+%)$, should be = +%+%+%+$
Found error - at pos =2001f3b4, value in flash = ,%,%,%*$, should be = ,%,%,%,$
Found error - at pos =2001f6a4, value in flash = +%+%+%)$, should be = +%+%+%+$
Found error - at pos =2001f7a4, value in flash = +%+%+%)$, should be = +%+%+%+$
Found error - at pos =2001f9a4, value in flash = +%+%+%)$, should be = +%+%+%+$
Found error - at pos =2001faa4, value in flash = +%+%+%)$, should be = +%+%+%+$
Found error - at pos =2001ffa0, value in flash = +!+!+!(0, should be = +!+!+!*0
Found error - at pos =2001ffa4, value in flash = +%+%+%)$, should be = +%+%+%+$
The End
Internal flash test with simple scramble
Erasing
Writing 0x55
.................................................. ............
Reading
Erasing
Writing 0xAA
.................................................. ............
Reading
Erasing
Writing scramble
.................................................. ............
Reading scramble
Found error - at pos =2000fea4, value in flash = +%+%+%)$, should be = +%+%+%+$
Found error - at pos =200136b4, value in flash = ,%,%,%*$, should be = ,%,%,%,$
Found error - at pos =20015ba4, value in flash = +%+%+%)$, should be = +%+%+%+$
Found error - at pos =20016aa4, value in flash = +%+%+%)$, should be = +%+%+%+$
Found error - at pos =200177a0, value in flash = +!+!+!(0, should be = +!+!+!*0
Found error - at pos =200177a4, value in flash = +%+%+%)$, should be = +%+%+%+$
Found error - at pos =200177b4, value in flash = ,%,%,%*$, should be = ,%,%,%,$
Found error - at pos =20017ea0, value in flash = +!+!+!(0, should be = +!+!+!*0
Found error - at pos =20017fa0, value in flash = +!+!+!(0, should be = +!+!+!*0
Found error - at pos =20017fb4, value in flash = ,%,%,%*$, should be = ,%,%,%,$
Found error - at pos =2001aea4, value in flash = +%+%+%)$, should be = +%+%+%+$
Found error - at pos =2001b7a4, value in flash = +%+%+%)$, should be = +%+%+%+$
Found error - at pos =2001bfa4, value in flash = +%+%+%)$, should be = +%+%+%+$
Found error - at pos =2001cea4, value in flash = +%+%+%)$, should be = +%+%+%+$
Found error - at pos =2001d3a4, value in flash = +%+%+%)$, should be = +%+%+%+$
Found error - at pos =2001e7a4, value in flash = +%+%+%)$, should be = +%+%+%+$
Found error - at pos =2001eea4, value in flash = +%+%+%)$, should be = +%+%+%+$
Found error - at pos =2001fab4, value in flash = ,%,%,%*$, should be = ,%,%,%,$
Found error - at pos =2001ffa4, value in flash = +%+%+%)$, should be = +%+%+%+$
The End
Балтик 128kb; Ленинград 512kb; Speccy2010 r2
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)