Ник:
Пароль:

Контакты

E-mail: info@starterkit.ru
тел.: +7 922 680-21-73
тел.: +7 922 680-21-74
Телеграм: t.me/starterkit_ru
Партнеры:
otladka.com.ua - г.Киев

Способы оплаты

User Info


Добро пожаловать,
Guest

Регистрация или входРегистрация или вход
Потеряли пароль?Потеряли пароль?

Ник:
Пароль:

ПользователейПользователей:1
Поисковых ботовПоисковых ботов:3
ГостейГостей:1

ОбновитьПодробнееВсегоВсего:5
Форум » starterkit.ru » Embedded Linux
imx233 и NAND 32Mb помогите подружить
ADA007
Добавлено 05.10.2011 01:21
0
Сообщение: 1
ADA007
0

Пункты: 3113
Регистрация: 01.08.2011
Пол: Мужчина
Здрям...Так получилось, что имеется такая связка imx233 и K9F5608U0D (32 Mb NAND). Покурив немного datasheet в nand_device_info.c дописал конфигурацию этого NAND-a
Код

{
.end_of_table = false,
.manufacturer_code = 0xec,
.device_code = 0x75,
.cell_technology = NAND_DEVICE_CELL_TECH_SLC,
.chip_size_in_bytes = 32LL*SZ_1M,
.block_size_in_pages = 16,
.page_total_size_in_bytes = 1*SZ_512 + 16,
.ecc_strength_in_bits = 4,
.ecc_size_in_bytes = 512,
.data_setup_in_ns = 20,
.data_hold_in_ns = 10,
.address_setup_in_ns = 0,
.gpmi_sample_delay_in_ns = 6,
.tREA_in_ns = -1,
.tRLOH_in_ns = -1,
.tRHOH_in_ns = -1,
"K9F5608U0D",
},

Далее получил ошибку от gpmi Unsupported page data size 512
page_data_siza_in_bytes ему не понравилась. .. а в gpmi-base.c написан case в котором только 2048 или 4096 эта переменная может равняться для успешного прохождения условия.
Ну далее методом тыка попробовал вставить туда case 512 с такими же параметрами, что и у 2048. На что получил такое
Код

bch_setup: cannot tune BCH for page size 512
Scanning for NCB...
GPMI: Checking page 0x00000000
Checking BB on common-formatted flash
Scanning device for bad blocks
gpmi_dma_exchange: error -110, CS = 0, channel 4

Ну в общем фигня получилась....
Помогите, кто чем может
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 05.10.2011 16:04 Сообщение: 2
sasamy
4.70

Пункты: 77331
Регистрация: 14.08.2009
Цитата

Unsupported page data size 512
Помогите, кто чем может


Боюсь тут уже не помочь ничем.
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 05.10.2011 19:02 Сообщение: 3
Jury093
4.5

Пункты: 54233
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата
Далее получил ошибку от gpmi Unsupported page data size 512
page_data_siza_in_bytes ему не понравилась. .. а в gpmi-base.c написан case в котором только 2048 или 4096

значит прописали конфигурацию неправильно, ибо в DS сказано:
Код
Automatic Program and Erase
- Page Program : (2K + 64)Byte
- Block Erase : (128K + 4K)Byte
• Page Read Operation
- Page Size : (2K + 64)Byte

т.е. размер страницы флеша 2048 и ваш gpmi справедливо ругается..

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
ADA007
Добавлено 05.10.2011 21:04 Редактировалось 05.10.2011 21:04 Сообщение: 4
ADA007
0

Пункты: 3113
Регистрация: 01.08.2011
Пол: Мужчина
Цитата

значит прописали конфигурацию неправильно, ибо в DS сказано:

Странно...я в ДШ вычитал такое...
Page Program
-(512 + 16)Byte
Block Erase :
- (16K + 512)Byte
Page Read Operation
Page Size
- (512 + 16)Byte
Брал тут (ссылка)

Чисто теоретически, я считаю, разобравшись в gpmi и прочем добавить поддержку 32 Мб можно....но стоит ли игра свеч? насколько сложно это сделать?
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 05.10.2011 23:13 Сообщение: 5
Jury093
4.5

Пункты: 54233
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата
Странно...я в ДШ вычитал такое...

угу, похоже я не тот DS посмотрел, действительно 512 байт..

Цитата
Чисто теоретически, я считаю, разобравшись в gpmi и прочем добавить поддержку 32 Мб можно....но стоит ли игра свеч? насколько сложно это сделать?

на сайте самсунга этот чип в статусе EOL, имеет смысл прикручивать если нет под рукой другого. ибо, допустим, прикрутите, а он возьми и сдохни - нафига рисковать..

сложность процесса внедрения оценить не могу - не касался iMX. но если Саша сказал "в морг" - значит в морг..

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
ADA007
Добавлено 06.10.2011 15:18 Сообщение: 6
ADA007
0

Пункты: 3113
Регистрация: 01.08.2011
Пол: Мужчина
Может немного не в тему....
Перепаял NAND на K9HCG08U1M (4Gb) .... то что было под рукой....
2.6.31. из ltib выдает такое
Код

Scanning for NAND Flash chips...

NAND device: Manufacturer ID: 0xec, Chip ID: 0xd7 (Samsung NAND 4GiB 3,3V 8-bit)

Manufacturer : Samsung (0xec)

Device Code : 0xd7

Cell Technology : MLC

Chip Size : 4 GiB

Pages per Block : 128

Page Geometry : 4096+128

ECC Strength : 4 bits

ECC Size : 512 B

Data Setup Time : 15 ns

Data Hold Time : 15 ns

Address Setup Time: 25 ns

GPMI Sample Delay : 6 ns

tREA : Unknown

tRLOH : Unknown

tRHOH : Unknown

Description : K9LBG08U0M (32Gb), K9HCG08U1M (64Gb), K9MDG08U5M (128Gb)

Scanning for NCB...

GPMI: Checking page 0x00000000

Checking BB on common-formatted flash

И застряет на этом сообщении....
А ядро из mfg выдает такое
Код

Scanning for NAND Flash chips...

NAND device: Manufacturer ID: 0xec, Chip ID: 0xd7 (Samsung NAND 4GiB 3,3V 8-bit)

Manufacturer : Samsung (0xec)

Device Code : 0xd7

Cell Technology : MLC

Chip Size : 4 GiB

Pages per Block : 128

Page Geometry : 4096+128

ECC Strength : 4 bits

ECC Size : 512 B

Data Setup Time : 15 ns

Data Hold Time : 15 ns

Address Setup Time: 25 ns

GPMI Sample Delay : 6 ns

tREA : Unknown

tRLOH : Unknown

tRHOH : Unknown

Description : K9LBG08U0M (32Gb), K9HCG08U1M (64Gb), K9MDG08U5M (128Gb)

Scanning for NCB...

GPMI: Checking page 0x00000000

Checking BB on common-formatted flash

Unable to handle kernel NULL pointer dereference at virtual address 00000000

pgd = c0004000

[00000000] *pgd=00000000

Internal error: Oops: 17 [#1] PREEMPT

Modules linked in:

CPU: 0 Not tainted (2.6.31-updater-00212-g1a80619-dirty #15)

PC is at rb_erase+0x310/0x354

LR is at __remove_hrtimer+0x64/0x74

pc : [<c012f5e4>] lr : [<c004b7bc>] psr: 80000093

sp : c0243ee0 ip : 00000000 fp : 00000000

r10: c024b150 r9 : 60000093 r8 : c024b670

r7 : 00000000 r6 : c024b158 r5 : 00000001 r4 : 00000000

r3 : 00000001 r2 : 00000000 r1 : c024b158 r0 : c024b670

Flags: Nzcv IRQs off FIQs on Mode SVC_32 ISA ARM Segment kernel

Control: 0005317f Table: 4183c000 DAC: 00000017

Process swapper (pid: 0, stack limit = 0xc0242270)

Stack: (0xc0243ee0 to 0xc0244000)

3ee0: c024b150 c024b670 00000001 c004b7bc c024b120 c024b670 00000000 202fbf00

3f00: 00000004 c004bcc4 00000000 1dcd6500 00000000 c0243f20 c004be90 ffff8c92

3f20: ffff8c91 ffff8c96 00000004 40019e58 ffff8c91 c024b670 00000000 202fbf00

3f40: 00000004 00000005 ffff8c91 c024b670 00000000 c004bed8 00000000 00000002

3f60: 00000001 c024b670 02faf080 c0054b54 00000002 00000000 1d4c56fd 00000004

3f80: 00000000 ffff8c96 60000013 c0247170 00000000 c11b9c60 202fbf00 00000004

3fa0: 1d4c56fd 00000004 c0242000 c0242000 c0259b40 c001be08 c0245a58 40019e58

3fc0: 41069265 40019e24 00000000 c001fcac c027d6a8 c00089ec c0008354 00000000

3fe0: 00000000 c001be08 00053175 c0259b98 c001c20c 40008034 00000000 00000000

[<c012f5e4>] (rb_erase+0x310/0x354) from [<c004b7bc>] (__remove_hrtimer+0x64/0x74)

[<c004b7bc>] (__remove_hrtimer+0x64/0x74) from [<c004bcc4>] (__hrtimer_start_range_ns+0x68/0x258)

[<c004bcc4>] (__hrtimer_start_range_ns+0x68/0x258) from [<c004bed8>] (hrtimer_start+0x24/0x2c)

[<c004bed8>] (hrtimer_start+0x24/0x2c) from [<c0054b54>] (tick_nohz_stop_sched_tick+0x2a8/0x384)

[<c0054b54>] (tick_nohz_stop_sched_tick+0x2a8/0x384) from [<c001fcac>] (cpu_idle+0x20/0xbc)

[<c001fcac>] (cpu_idle+0x20/0xbc) from [<c00089ec>] (start_kernel+0x284/0x2f0)

[<c00089ec>] (start_kernel+0x284/0x2f0) from [<40008034>] (0x40008034)

Code: e3c33003 e1a04003 e35c0000 0a000002 (e59c3000)

---[ end trace a56c0542d856c29c ]---

Kernel panic - not syncing: Attempted to kill the idle task!


Это ему NAND снова не нравится? Куда копать?
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 06.10.2011 18:31 Сообщение: 7
sasamy
4.70

Пункты: 77331
Регистрация: 14.08.2009
Попробуйте вот этот имидж
ftp://pub:pub@starterkit.ru/linux.sb
Спуститься к концу Подняться к началу
Персональная информация
ADA007
Добавлено 06.10.2011 18:49 Сообщение: 8
ADA007
0

Пункты: 3113
Регистрация: 01.08.2011
Пол: Мужчина
Попробывал Ваше ядро....по видимаму вы собрали 2.6.35 ...
Но почему-то у меня оно не запустилось
Гоняет по кругу это
Код

PowerPrep start initialize power...
Battery Voltage = 0.82V
No battery or bad batterydetected!!!.Disabling batteryvoltage measurements./r/nJul 12 201120:53:30
EMI_CTRL 0x1C084040
FRAC 0x92926152
init_ddr_mt46v32m16_133Mhz
power 0x00820710
Frac 0x92926152
start change cpu freq
hbus 0x00000003
cpu 0x00010002
0x80508002


PowerPrep start initialize power...
Battery Voltage = 0.82V
No battery or bad batterydetected!!!.Disabling batteryvoltage measurements./r/nJul 12 201120:53:30
EMI_CTRL 0x1C084040
FRAC 0x92926152
init_ddr_mt46v32m16_133Mhz
power 0x00820710
Frac 0x92926152
start change cpu freq
hbus 0x00000003
cpu 0x00010002
0x80508002

.... и т.д.


У меня такое было, когда я пробовал залить в плату 35-е ядро с ftp местного. Однако 2.6.31 стартует нормально....
Уже давно столкнулся с этим и не могу понять в чем причина, может Вы подскажете?
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 06.10.2011 19:16 Редактировалось 06.10.2011 19:38 Сообщение: 9
sasamy
4.70

Пункты: 77331
Регистрация: 14.08.2009
Так тут до ядра и не доходит дело - только загрузчик. Мне кажется у них там некорректно питание запускается, когда-то давно находил ошибку, видимо там немало еще :) но плате стартеркита впрочем они не мешают стартовать...

upd вы случайно не забыли дроссель запаять (L1 по схеме стартеркита 99, 97 контакты) ?
Спуститься к концу Подняться к началу
Персональная информация
ADA007
Добавлено 06.10.2011 19:48 Сообщение: 10
ADA007
0

Пункты: 3113
Регистрация: 01.08.2011
Пол: Мужчина
Ну дк 2.6.31 ж стартует .... может как-то настройки из него какие-то перенести нужно...

P.S. дроссель есть на 97 и 99 ногах 15uH
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Embedded Linux