bvvlab
Участник-
Постов
10 -
Зарегистрирован
-
Посещение
Репутация
0 ОбычныйКонтакты
-
Сайт
Array
-
ICQ
Array
Информация
-
Город
Array
Посетители профиля
617 просмотров профиля
-
Монтаж печатных плат
bvvlab опубликовал тема в Ищу работу
Ручной и автоматизированный монтаж прототипов и мелких партий печатных плат. Установка SMD-компонентов в корпусах от 0402, SOIC, TSSOP, PLCC, LQFP, QFN производится на SMD установщике. Нанесение паяльной пасты производится с помощью встроенного диспенсера пасты на небольших партиях, либо через трафарет на более крупных. Цена монтажа при заказе от 5000 точек пайки 0,6руб/т.п. Заявки на email: bvvlab собака qmail.com либо на https://vk.com/club109024101 г. Нижний Новгород -
Какие сделал правки u-boot под мою K9GAG08 (OOB=128, PAGE=4096, BLOCK=128PAGE): 1. nand_cp.c //page_size = 2048; page_size = 4096; //page_shift = 11; page_shift = 12; тогда убут будет верно стартовать с нанд независимо или в режиме IROM или выполнения с нанд. Но для того чтоб его можно было в нанд прописать нужно подправить функции nand write/read 2.nand.c static struct nand_ecclayout s3c_nand_oob_mlc_128 = { .useecc = MTD_NANDECC_AUTOPLACE, /* Only for U-Boot *///the batoff .eccbytes = 64, .eccpos = { 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127}, .oobfree = { {.offset = 2, .length = 28+32}} }; //nand->ecc.layout = &s3c_nand_oob_mlc_64; nand->ecc.layout = &s3c_nand_oob_mlc_128; 3.nand_util.c //#define MAX_PAGE_SIZE 2048 //#define MAX_OOB_SIZE 64 #define MAX_PAGE_SIZE 4096 #define MAX_OOB_SIZE 128 if (!(meminfo->oobsize == 16 && meminfo->writesize == 512) && !(meminfo->oobsize == 8 && meminfo->writesize == 256) && !(meminfo->oobsize == 64 && meminfo->writesize == 2048) && !(meminfo->oobsize == 128 && meminfo->writesize == 4096)) { printf("Unknown flash (not normal NAND)\n"); return -1; } 4.nand_base.c static struct nand_ecclayout nand_oob_128 = { .eccbytes = 48, .eccpos = { 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127}, .oobfree = { {.offset = 2, .length = 78}} }; case 128: chip->ecc.layout = &nand_oob_128; break; case 16: 5.nand.h //#define NAND_MAX_OOBSIZE 64 //#define NAND_MAX_PAGESIZE 2048 #define NAND_MAX_OOBSIZE 128 #define NAND_MAX_PAGESIZE 4096 после этих правок успешно стал шиться в нанд убут, кернел. Непонятки творятся с rootfs. ОБраз взял от kit2416 формат yaffs. В нанд заливается, но при старте ядро паникует, говорит что все блоки бэд. ядру передаю setenv bootargs noinitrd root=/dev/mtdblock2 console=ttySAC0,115200 Вывел в консоли nand dump первой странички фс, в начале блока OOB два байта нулевые и секция ECC тоже странная. Кто нибудь сделайте nand dump первых 2 страниц фс ваших плат. И еще б глянуть начало бинарника rootfs. Заранее благодарю.
-
Протестировал, u-boot грузится с SD, круть... теперь осталось аккуратно все настроить под свою железку. Как же работало у сообщества kit2416, релизы проца чтоль разные?
-
Вчера настроил H-JTAG и его флешер под свою плату( 2 гига samsung K9GAG08), сегодня загрузил убут в нанд от kit2416, результат тот же "OK" :) Отлично, alexf, мой опыт в подтверждение вашей теории! Будете в Нижнем, угощю и невиртуально! Скиньте мне на почту бинарник протестировать, не могу щас перекомпилить, только дома, bvvlab(at)yandex.ru
-
Я испытывал утилиту на разных трех 2 гиговых картах, SD ADATA, MicroSD Kingston и Transcend, результат тот же. Вначале предположил что отличие от kit2416 в подключении памяти ddr, ведь проц поддерживает 2 банка( 2 пина чип селект). Подкорректил исходники убута, вместо 0x30000000 перевел на 0x38000000, перекомпилил- результат тот же -"ОК". Далее решил что дело скорее всего в сигнатуре BL1. В документе 896554S3C2450_IROM_ApplicationNote_Rev003 есть flow chart что делает BL0 IROM'а, Verify integrity of BL1 Success? типа проверяет сигнатуру, независимо откуда бутится с nand или sd. И неясно отрубается как либо эта проверка или нет. В комплекте с платой идет диск, там есть утилита заливки образа винды на sd, решил проверить делает ли она подпись в предпоследнем секторе, но программа не запускается вообще ни на xp ни на убунте, так что проверить не могу. Могу проверить через отладчик пишет ли туда moviNAND_Fusing_Tool-512K-boot, но думаю что нет. В доке на иром еще написано, что если есть ошибки ECC или integrity то на линии GPC5 появятся импульсы, может ли кто это проверить? Мне нужно проц поднять чтоб это проверить.
-
Результат тот же "OK" значит дело в бинарнике, брал от kit2416, будем разбираться...
-
bvvlab на yandex.ru , не знал что мой ящик закрыт для других.
-
Присоединяюсь к обсуждению, у меня схожая задача поставить линукс на китайскую плату с S3C2416, изначально установлена wince. Скиньте мне тоже, пжалуйста, утилиту uboot_writer.exe , пробовал заливать с помощью moviNAND_Fusing_Tool-512K-boot.exe , в результате "OK" в терминалке. У кого нибудь загрузился u-boot с sd/mmc? Сейчас прикручиваю jtag, буду разбираться...
-
тот линк не доступен, вот я и запостил, а за кейген спасиб :yeah: