|
|
  |
s3c2416 начальная загрузка, подробности... |
|
|
|
Feb 21 2011, 21:40
|
Местный
  
Группа: Свой
Сообщений: 420
Регистрация: 22-12-04
Пользователь №: 1 608

|
Цитата(Dron_Gus @ Feb 21 2011, 05:28)  Нашел некий загрузчик под s3c6410 http://zenvoid.org/software/qi-smartq/ . Там же и скрипт для флешевания. Script выглядит разумно. Вычисляет с какого сектора писать и вперед. У меня есть прилада с диска от 6410 но работает или нет не знаю поскольку убил свой 6410.
|
|
|
|
|
Apr 7 2011, 14:38
|
Группа: Участник
Сообщений: 10
Регистрация: 6-11-08
Из: Нижний Новгород
Пользователь №: 41 420

|
Какие сделал правки 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.
Заранее благодарю.
|
|
|
|
|
Jun 2 2011, 08:39
|
Группа: Новичок
Сообщений: 2
Регистрация: 2-06-11
Пользователь №: 65 432

|
Сорри за офтоп: есть девайс на 2416(навигатор) не грузит ОС, хотел поставить ОС, да пока не знаю с какой стороны подойти. Как я понял из форума, рабочего решения нет пока. В Моём только загрузчик грузится, пишет "Aug 10 2009 v1.a12.b501.c0.d0". Есть полный дамп когдато рабочей винды, но нет инфо по прошивке. Интересует инфо по JTAG к этому процу ну и собственно прошивка с SD.
|
|
|
|
|
Jun 3 2011, 07:24
|
Группа: Новичок
Сообщений: 2
Регистрация: 2-06-11
Пользователь №: 65 432

|
Чётко обозначенного jtag нет. вероятно, как это обычно бывает, выводы разбросаны по плате.. но это только гипотетически. О том какая из SD разведена 1 или 2 можно проверить только вставив карточку с ВООТлоадером, хотя не факт что плата сконфигурирована для загрузки с SD. Нормально она грузится с NAND. По другому я не знаю как это узнать. Ну разве фото платы выложить. Как вариант можно снять проц и вызвонить ноги jtag и SD но нехотелось бы. На плате 2 кнопки вкл\выкл и резет... это всё Вопрос: -чем создать загрузочную SD? - Можно ли по дампу прошивки выяснить имя файла флага ? типа как для ("Prestigio GeoVision 430@"-(BootImg.cfg,xip.bin в корне SD) ) Как следствие, зная это, можно загрузить свою прошиву.
п.с. вопросов много , да вот ответы ...(( и выбросить жаль, и поднять нечем.
|
|
|
|
|
Jun 22 2011, 10:17
|
Частый гость
 
Группа: Участник
Сообщений: 75
Регистрация: 25-07-04
Из: Rostov-on-Don
Пользователь №: 382

|
Есть устройство с s3c2416 и нанд флэшкой k9gag08, хочу написать свой лоадер для этих девайсов. Если кто сталкивался и поможет прояснить следующие вопросы - буду благодарен.
1. Почему k9gag08 упорно приписываю геометрию в 2гб из страниц по 4096? Реальная геометрия этой странной флэшки 2076 блока, страницы 8192 + 436 spare, в блоке 128 страниц. Кто не верит, может посмотреть в мануале. Всякие непонятности возникают, например, когда я пробую читать 2ю страницу по адресу 0x2000 и вижу данные из 1-й страницы, а потом данные читаются нормально. Это они сделали для "совместимости", чтоб их s3c запускали первые 8к или есть свои хитрости?
2. Какое-то совсем вольное и непонятное обращение с регистрами, даже в примерах от самсунга, не говоря уже от творчестве народном. Чтение и контроль ECC сделано как кому нравится, биты ecc_lock перепутаны с ecc_unlock, по-разному выставляются адреса и команды при чтении, используются разные биты готовности... Я сделал все по мануалу для 8бит ECC, но почему-то у меня все время Uncorrectable ecc error, нет ошибок только на пустых блоках. Никто не подскажет проверенный исходник с ECC, желательно для s3c2416 и этой флэшки или просто свои наблюдения?
|
|
|
|
|
Jun 23 2011, 08:48
|
Частый гость
 
Группа: Участник
Сообщений: 75
Регистрация: 25-07-04
Из: Rostov-on-Don
Пользователь №: 382

|
Цитата(Dron_Gus @ Jun 22 2011, 16:17)  2) тут уже обсуждалось. формат spare области не "общепринятый". Байты ECC не на тех позициях и не в том порядке. Поэтому на флешке будут присутствовать два формата ECC и будут друг на друга ругаться. Загрузчик уже есть. Например этот. Ну или у-бут. Я тут тоже выкладывал первичный загрузчик (правда с SD карты). Функция чтения страницы с нандины есть в ROM. Как ее пользовать - есть в qi-boot'е, с поправкой на другие адреса. Если с 0 адреса формат будет не HWECC 8bit - то с нанд флэшки ничего не стартанет, просто не загрузятся первые 8кб. Как хранятся остальные данные - это уже кому как нравится, я говорю пока о первых 8кб, на всякий случай приаттачил первую страницу со spare.
|
|
|
|
|
Jun 23 2011, 11:24
|
Частый гость
 
Группа: Участник
Сообщений: 75
Регистрация: 25-07-04
Из: Rostov-on-Don
Пользователь №: 382

|
Цитата(Dron_Gus @ Jun 23 2011, 14:44)  А в чем вопрос то? Д я ж до этого вроде писал - вопрос в работе с k9gag08 c 8Kb страницами и кодом для чтения с HW ECC 8бит протестированным желательно на этой флэшке. В принципе вопрос снят - я нашел реализацию самсунгом NF8_ReadPage_Adv и еще пошагаю по загрузчику внутреннему для уверенности-) Если нетрудно - выложите плиз первые 8кб с областью spare, именно как все лежит во флэшке - интересно посмотреть. Спасибо.
|
|
|
|
|
Jul 22 2011, 09:49
|
Участник

Группа: Участник
Сообщений: 16
Регистрация: 10-01-06
Из: Украина
Пользователь №: 13 014

|
Коллеги, у кого есть KIT2416 с установленной на нем модулем SOM2416 ? Не могу понять как там пины GPC5/6/7 подсоединены? Наружу они вроде не выведены... Или может у кого есть схема от SOM2416? И еще вопрос, может пропустил в доках. Какой из хостов MMC используется IROM при копировании BL1?
Сообщение отредактировал serhio - Jul 22 2011, 10:45
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|