shamrel 0 12 февраля, 2014 Опубликовано 12 февраля, 2014 · Жалоба Доброго Здоровья! Имеется устройства на основе Beaglebone Black (BBB). На плату добавлена NAND память MT29F2G08ABAEAH4. Схема включения в приложении. nand.PDF В настоящий момент система грузиться с SD карты. Однако, хочется грузиться с NAND. Для этого считаю нужным добавить в файлы "Device Tree", описывающие платформу, информацию о NAND. При добавлении руководствовался информацией: PATCH. Philip Avinash. В результате чего,в файл am335x-bone-common.dtsi добавил: am33xx_pinmux: pinmux@44e10800 { pinctrl-names = "default"; pinctrl-0 = <&nandflash_pins_s0>; ... nandflash_pins_s0: nandflash_pins_s0 { pinctrl-single,pins = < 0x0 0x30 /* gpmc_ad0.gpmc_ad0, INPUT | PULLUP | MODE0 */ 0x4 0x30 /* gpmc_ad1.gpmc_ad1, INPUT | PULLUP | MODE0 */ 0x8 0x30 /* gpmc_ad2.gpmc_ad2, INPUT | PULLUP | MODE0 */ 0xc 0x30 /* gpmc_ad3.gpmc_ad3, INPUT | PULLUP | MODE0 */ 0x10 0x30 /* gpmc_ad4.gpmc_ad4, INPUT | PULLUP | MODE0 */ 0x14 0x30 /* gpmc_ad5.gpmc_ad5, INPUT | PULLUP | MODE0 */ 0x18 0x30 /* gpmc_ad6.gpmc_ad6, INPUT | PULLUP | MODE0 */ 0x1c 0x30 /* gpmc_ad7.gpmc_ad7, INPUT | PULLUP | MODE0 */ 0x70 0x30 /* gpmc_wait0.gpmc_wait0, INPUT | PULLUP | MODE0 */ 0x74 0x37 /* gpmc_wpn.gpio0_30, INPUT | PULLUP | MODE7 */ 0x7c 0x8 /* gpmc_csn0.gpmc_csn0, PULL DISA */ 0x90 0x8 /* gpmc_advn_ale.gpmc_advn_ale, PULL DISA */ 0x94 0x8 /* gpmc_oen_ren.gpmc_oen_ren, PULL DISA */ 0x98 0x8 /* gpmc_wen.gpmc_wen, PULL DISA */ 0x9c 0x8 /* gpmc_be0n_cle.gpmc_be0n_cle, PULL DISA */ >; }; }; ocp: ocp { ... elm: elm@48080000 { status = "okay"; }; gpmc: gpmc@50000000 { status = "okay"; ranges = <0 0 0x08000000 0x10000000>; /* CS0: NAND */ /*compatible = "ti,am3352-gpms"; ?????? */ ti,hwmods = "gpms"; nand@0,0 { reg = <0 0 0>; /* CS0, offset 0 */ nand-bus-width = <8>; ti,nand-ecc-opt = "bch8"; gpmc,sync-clk = <0>; gpmc,cs-on = <0>; gpmc,cs-rd-off = <44>; gpmc,cs-wr-off = <44>; gpmc,adv-on = <6>; gpmc,adv-rd-off = <34>; gpmc,adv-wr-off = <44>; gpmc,we-off = <40>; gpmc,oe-off = <54>; gpmc,access = <64>; gpmc,rd-cycle = <82>; gpmc,wr-cycle = <82>; gpmc,wr-access = <40>; gpmc,wr-data-mux-bus = <0>; #address-cells = <1>; #size-cells = <1>; elm_id = <&elm>; /* MTD partition table */ partition@0 { label = "SPL1"; reg = <0x00000000 0x000020000>; }; partition@1 { label = "SPL2"; reg = <0x00020000 0x00020000>; }; partition@2 { label = "SPL3"; reg = <0x00040000 0x00020000>; }; partition@3 { label = "SPL4"; reg = <0x00060000 0x00020000>; }; partition@4 { label = "U-boot"; reg = <0x00080000 0x001e0000>; }; partition@5 { label = "environment"; reg = <0x00260000 0x00020000>; }; partition@6 { label = "Kernel"; reg = <0x00280000 0x00500000>; }; partition@7 { label = "File-System"; reg = <0x00780000 0x0F880000>; }; }; }; }; В файл am33xx.dtsi добавил: ocp { .... gpmc: gpmc@50000000 { compatible = "ti,am3352-gpmc"; ti,hwmods = "gpmc"; /*reg = <0x50000000 0x01000000>;*/ reg = <0x50000000 0x2000>; interrupts = <100>; gpmc,num-cs = <7>; gpmc,num-cs = <8>; gpmc,num-waitpins = <2>; #address-cells = <2>; #size-cells = <1>; status = "disabled"; }; elm: elm@48080000 { reg = <0x48080000 0x2000>; interrupts = <4>; /*compatible = "ti,am3352-elm";*/ ti,hwmods = "elm"; status = "disabled"; }; } Также в этом файле пришлось отключить(закоментировал) mmc2 и mmc3. Иначе при попытке смуксить пины на NAND ядро паниковало. В настройках ядра включено все, что связано с NAND и присущему ему файловыми системами. В системе появилось устройство /dev/ubi_ctrl, однако при попытки приатачить его получаю ошибку: root@am33:~# ubiattach /dev/ubi_ctrl -m 2 ubiattach: error!: cannot attach mtd2 error 19 (No such device) У кого есть соответствующий опыт, помогите. Как включить NAND? P.S.: Уважаемые модераторы, может быть имеет смысл слить с темой "DS1338. AM33xx. Linux-3.8.13. Device Tree." ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Jury093 2 12 февраля, 2014 Опубликовано 12 февраля, 2014 · Жалоба В настройках ядра включено все, что связано с NAND и присущему ему файловыми системами. В системе появилось устройство /dev/ubi_ctrl, однако при попытки приатачить его получаю ошибку: root@am33:~# ubiattach /dev/ubi_ctrl -m 2 ubiattach: error!: cannot attach mtd2 error 19 (No such device) перед тем, как ubi-аттачить смотрите в лог ядра - есть ли опознание нанда и появление /dev/mtd.. и сначала ubiformat, потом ubiattach.. только потом достаточно ubiattach Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
shamrel 0 13 февраля, 2014 Опубликовано 13 февраля, 2014 · Жалоба перед тем, как ubi-аттачить смотрите в лог ядра - есть ли опознание нанда и появление /dev/mtd.. и сначала ubiformat, потом ubiattach.. только потом достаточно ubiattach В том то и дело, что нет устройства в системе. После загрузки: root@am33:~# dmesg | grep NAND [ 32.545592] jffs2: version 2.2. (NAND) (SUMMARY) © 2001-2006 Red Hat, Inc. [ 33.636919] OneNAND driver initializing root@am33:~# cat /proc/mtd dev: size erasesize name root@am33:~# Причем память жива. в u-boot она есть, в нее можно писать и читать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Jury093 2 13 февраля, 2014 Опубликовано 13 февраля, 2014 · Жалоба В том то и дело, что нет устройства в системе. Причем память жива. в u-boot она есть, в нее можно писать и читать. т.е. юбут "видит" нанд и может с ним работать? тогда надо добится в логе ядра похожей строчки: [ 8.314117] NAND device: Manufacturer ID: 0xec, Chip ID: 0xd3 (Samsung NAND 1GiB 3,3V 8-bit) разумеется с данными вашего чипа.. найдите в исходниках ядра драйвер нанда, навтыкайте туда в функцию _probe отладочных printk - если драйвер вызывается, то по треку можно понять, где происходит сбой инициализации.. если не вызывается, то смотрите драйвер контроллера gpmc для АРМа.. вполне может, что у вас ошибка в описание железа в dts файле (я с этими структурами незнаком и надеюсь, что нескоро понадобится) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
shamrel 0 14 февраля, 2014 Опубликовано 14 февраля, 2014 · Жалоба т.е. юбут "видит" нанд и может с ним работать? тогда надо добится в логе ядра похожей строчки: [ 8.314117] NAND device: Manufacturer ID: 0xec, Chip ID: 0xd3 (Samsung NAND 1GiB 3,3V 8-bit) разумеется с данными вашего чипа.. найдите в исходниках ядра драйвер нанда, навтыкайте туда в функцию _probe отладочных printk - если драйвер вызывается, то по треку можно понять, где происходит сбой инициализации.. если не вызывается, то смотрите драйвер контроллера gpmc для АРМа.. вполне может, что у вас ошибка в описание железа в dts файле (я с этими структурами незнаком и надеюсь, что нескоро понадобится) Добро. Спасибо за совет! буду ядро дебажить. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
shamrel 0 17 февраля, 2014 Опубликовано 17 февраля, 2014 · Жалоба тогда надо добится в логе ядра похожей строчки: [ 8.314117] NAND device: Manufacturer ID: 0xec, Chip ID: 0xd3 (Samsung NAND 1GiB 3,3V 8-bit) разумеется с данными вашего чипа.. найдите в исходниках ядра драйвер нанда, навтыкайте туда в функцию _probe отладочных printk - если драйвер вызывается, то по треку можно понять, где происходит сбой инициализации.. если не вызывается, то смотрите драйвер контроллера gpmc для АРМа.. вполне может, что у вас ошибка в описание железа в dts файле (я с этими структурами незнаком и надеюсь, что нескоро понадобится) ... не выходит Каменный Цветок... Складывается впечатление, что ядро и не начинает искать NAND. Не могу проследить путь вызова драйвера, связь DTB и собственно драйвера. В файл ./drivers/mtd/nand/nand_base.c. добавил информацию для дебага, поставил всюду printk, из всего многообразия, вызывается только функция nand_base_init(void), которая, собственно, кроме регистрации светодиода на переключение согласно NAND ничегошеньки не делает, функции инициализации NAND при запуски ядра не используются. Эти функции подсовываются макросу EXPORT_SYMBOL(nand_scan); EXPORT_SYMBOL(nand_scan_ident); реализацию EXPORT_SYMBOL нашел в ./include/linux/export.h , но понимания мне не добавила. Люди добрые, научите, как дебажить ядро? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Jury093 2 17 февраля, 2014 Опубликовано 17 февраля, 2014 · Жалоба ... не выходит Каменный Цветок... пока вижу два пути: 1. попробовать изменить на что-то типа: compatible = "ti,am33xx-elm"; или compatible = "ti,am335x-elm"; у вас BBB - а это am3359, может драйверу не нравится упоминание am3352.. тут надо в исходниках смотреть, что же по факту должно вызываться.. 2. взять ядро версией помладше для BBB что-то типа 3.2.0, там где нормальное описание в файле платы, а не дурацкий dts для evm там есть поддержка nand смысл действия - убедится, что железо исправно, нанд подключен правильно и поддержан ядром и только после этого пилить пункт №1.. бегло глянул исходники - вроде цепочка интит gpmc, из которого вызывается nand_ident и nand_scan, т.е. перед нандом надо запустить инит gpmc контроллера.. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
shamrel 0 18 февраля, 2014 Опубликовано 18 февраля, 2014 (изменено) · Жалоба Здоровья всем! Проследил по исходникам путь от считывания DT, до инициализации драйвера. Нашел вчем трабла, hwmod для GPMC модуля был задал не корректно. Исправил. В ситеме появились признаки NAND: root@am33:~# dmesg | grep NAND [ 32.703146] jffs2: version 2.2. (NAND) (SUMMARY) �© 2001-2006 Red Hat, Inc. [ 34.003647] enabling NAND BCH ecc with 8-bit correction [ 34.020513] NAND device: Manufacturer ID: 0x2c, Chip ID: 0xda (Micron MT29F2G08AB4 [ 34.492286] OneNAND driver initializing root@am33:~# cat /proc/mtd dev: size erasesize name mtd0: 00020000 00020000 "SPL1" mtd1: 00020000 00020000 "SPL2" mtd2: 00020000 00020000 "SPL3" mtd3: 00020000 00020000 "SPL4" mtd4: 001e0000 00020000 "U-boot" mtd5: 00020000 00020000 "environment" mtd6: 00500000 00020000 "Kernel" mtd7: 0f880000 00020000 "File-System" root@am33:~# dmesg | grep GPMC [ 0.099427] omap-gpmc 50000000.gpmc: GPMC revision 6.0 [ 0.099645] GPMC CS0: cs_on : 0 ticks, 0 ns (was 0 ticks) 0 ns [ 0.099659] GPMC CS0: cs_rd_off : 5 ticks, 50 ns (was 30 ticks) 44 ns [ 0.099672] GPMC CS0: cs_wr_off : 5 ticks, 50 ns (was 30 ticks) 44 ns [ 0.099684] GPMC CS0: adv_on : 1 ticks, 10 ns (was 0 ticks) 6 ns [ 0.099697] GPMC CS0: adv_rd_off: 4 ticks, 40 ns (was 30 ticks) 34 ns [ 0.099709] GPMC CS0: adv_wr_off: 5 ticks, 50 ns (was 30 ticks) 44 ns [ 0.099721] GPMC CS0: oe_on : 1 ticks, 10 ns (was 7 ticks) 6 ns [ 0.099734] GPMC CS0: oe_off : 6 ticks, 60 ns (was 24 ticks) 54 ns [ 0.099746] GPMC CS0: we_on : 1 ticks, 10 ns (was 5 ticks) 6 ns [ 0.099759] GPMC CS0: we_off : 4 ticks, 40 ns (was 22 ticks) 40 ns [ 0.099771] GPMC CS0: rd_cycle : 9 ticks, 90 ns (was 30 ticks) 82 ns [ 0.099784] GPMC CS0: wr_cycle : 9 ticks, 90 ns (was 30 ticks) 82 ns [ 0.099797] GPMC CS0: access : 7 ticks, 70 ns (was 21 ticks) 64 ns [ 0.099808] GPMC CS0: page_burst_access: 0 ticks, 0 ns (was 0 ticks) 0 ns [ 0.099819] GPMC CS0: bus_turnaround: 0 ticks, 0 ns (was 0 ticks) 0 ns [ 0.099831] GPMC CS0: cycle2cycle_delay: 0 ticks, 0 ns (was 15 ticks) 0 ns [ 0.099842] GPMC CS0: wait_monitoring: 0 ticks, 0 ns (was 0 ticks) 0 ns [ 0.099853] GPMC CS0: clk_activation: 0 ticks, 0 ns (was 0 ticks) 0 ns [ 0.099865] GPMC CS0: wr_data_mux_bus: 0 ticks, 0 ns (was 0 ticks) 0 ns [ 0.099876] GPMC CS0: wr_access : 0 ticks, 0 ns (was 22 ticks) 0 ns root@am33:~# ls -l /dev/mtd* crw------- 1 root root 90, 0 Feb 18 13:35 /dev/mtd0 crw------- 1 root root 90, 1 Feb 18 13:35 /dev/mtd0ro crw------- 1 root root 90, 2 Feb 18 13:35 /dev/mtd1 crw------- 1 root root 90, 3 Feb 18 13:35 /dev/mtd1ro crw------- 1 root root 90, 4 Feb 18 13:35 /dev/mtd2 crw------- 1 root root 90, 5 Feb 18 13:35 /dev/mtd2ro crw------- 1 root root 90, 6 Feb 18 13:35 /dev/mtd3 crw------- 1 root root 90, 7 Feb 18 13:35 /dev/mtd3ro crw------- 1 root root 90, 8 Feb 18 13:35 /dev/mtd4 crw------- 1 root root 90, 9 Feb 18 13:35 /dev/mtd4ro crw------- 1 root root 90, 10 Feb 18 13:35 /dev/mtd5 crw------- 1 root root 90, 11 Feb 18 13:35 /dev/mtd5ro crw------- 1 root root 90, 12 Feb 18 13:35 /dev/mtd6 crw------- 1 root root 90, 13 Feb 18 13:35 /dev/mtd6ro crw------- 1 root root 90, 14 Feb 18 13:35 /dev/mtd7 crw------- 1 root root 90, 15 Feb 18 13:35 /dev/mtd7ro brw-rw---- 1 root disk 31, 0 Feb 18 13:35 /dev/mtdblock0 brw-rw---- 1 root disk 31, 1 Feb 18 13:35 /dev/mtdblock1 brw-rw---- 1 root disk 31, 2 Feb 18 13:35 /dev/mtdblock2 brw-rw---- 1 root disk 31, 3 Feb 18 13:35 /dev/mtdblock3 brw-rw---- 1 root disk 31, 4 Feb 18 13:35 /dev/mtdblock4 brw-rw---- 1 root disk 31, 5 Feb 18 13:35 /dev/mtdblock5 brw-rw---- 1 root disk 31, 6 Feb 18 13:35 /dev/mtdblock6 brw-rw---- 1 root disk 31, 7 Feb 18 13:35 /dev/mtdblock7 Однако, вот беда! При попытки смонтировать, выходит куча ошибок: [ 2691.557480] UBI error: ubi_io_read: error -74 (ECC error) while reading 512 bytess [ 2691.568412] [<c0010317>] (unwind_backtrace+0x1/0x8a) from [<c01eb9a1>] (ubi_io_re) [ 2691.577605] [<c01eb9a1>] (ubi_io_read+0x155/0x1f0) from [<c01ebce3>] (ubi_io_read) [ 2691.587332] [<c01ebce3>] (ubi_io_read_vid_hdr+0x4f/0x13c) from [<c01eeccd>] (scan) [ 2691.597345] [<c01eeccd>] (scan_peb.part.4+0x10d/0x3e4) from [<c01ef009>] (scan_al) [ 2691.606370] [<c01ef009>] (scan_all+0x65/0x754) from [<c01ef9b9>] (ubi_attach+0x15) [ 2691.614922] [<c01ef9b9>] (ubi_attach+0x15d/0x234) from [<c01e82c3>] (ubi_attach_m) [ 2691.624471] [<c01e82c3>] (ubi_attach_mtd_dev+0x503/0x97c) from [<c01e88e3>] (ctrl) [ 2691.634421] [<c01e88e3>] (ctrl_cdev_ioctl+0x7f/0x104) from [<c009e239>] (do_vfs_i) [ 2691.643799] [<c009e239>] (do_vfs_ioctl+0x3a9/0x3f0) from [<c009e2af>] (sys_ioctl+) [ 2691.652532] [<c009e2af>] (sys_ioctl+0x2f/0x44) from [<c000c401>] (ret_fast_syscal) [ 2691.661554] UBI: scanning is finished [ 2691.665405] UBI error: late_analysis: MTD device is not UBI-formatted and possiblt [ 2691.677391] UBI error: ubi_attach_mtd_dev: failed to attach mtd7, error -22 В настройках ядра включено все, что связано с NAND и присущему ему файловыми системами. Может в этом проблема? Что-то лишнее включил. Что минимально следует включить в ядре, чтоб получить работающий NAND? Изменено 18 февраля, 2014 пользователем shamrel Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Jury093 2 18 февраля, 2014 Опубликовано 18 февраля, 2014 (изменено) · Жалоба Может в этом проблема? Что-то лишнее включил. Что минимально следует включить в ядре, чтоб получить работающий NAND? а последовательность действий ваша какая? я делаю так (для начального инита): ubiformat /dev/mtd1 -y ubiattach /dev/ubi_ctrl -m 1 ubimkvol /dev/ubi0 -m -N rootfs mount -t ubifs ubi:rootfs /mnt перед тем, как писать команды, просмотрите встроенный хелп с ключами.. Изменено 18 февраля, 2014 пользователем Jury093 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
shamrel 0 19 февраля, 2014 Опубликовано 19 февраля, 2014 (изменено) · Жалоба Спасибо, Jury093, и низкий поклон! Из линукса получается смонтировать, отформатировать, развернуть образ rootfs. Сейчас проблема в том, что u-boot и ядро имеют различную схему ECC. То-есть, образ файловой системы, записанный под u-boot, не монтируется в Linux. А если прошить в NAND образ u-boot.img и MLO из под Линукса, то не грузиться с NAND. Если же u-boot.img и MLO записаны в NAND под u-boot, то все хорошо. Сейчас загрузиться получается с uSD, но на серийном устройстве ее не будет. Нужно все действия выполнять под u-boot. Образ делал в два этапа: сначала mkfs.ubifs, а потом ubinize. Ядро и u-boot собраны с схемой ECC -- BH8 (аппаратный). u-boot версии 2014.01. Раньше можно было выбирать схему есс командой nandecc, теперь команды этой нет. .conffig содержит: # # Disk-On-Chip Device Drivers # # CONFIG_MTD_DOC2000 is not set # CONFIG_MTD_DOC2001 is not set # CONFIG_MTD_DOC2001PLUS is not set # CONFIG_MTD_DOCG3 is not set CONFIG_BCH_CONST_M=13 CONFIG_BCH_CONST_T=8 CONFIG_MTD_NAND_ECC=y # CONFIG_MTD_NAND_ECC_SMC is not set CONFIG_MTD_NAND=y # CONFIG_MTD_NAND_ECC_BCH is not set # CONFIG_MTD_SM_COMMON is not set # CONFIG_MTD_NAND_MUSEUM_IDS is not set # CONFIG_MTD_NAND_DENALI is not set # CONFIG_MTD_NAND_GPIO is not set CONFIG_MTD_NAND_OMAP2=y CONFIG_MTD_NAND_OMAP_BCH=y CONFIG_MTD_NAND_OMAP_BCH8=y # CONFIG_MTD_NAND_OMAP_BCH4 is not set CONFIG_MTD_NAND_IDS=y # CONFIG_MTD_NAND_DISKONCHIP is not set # CONFIG_MTD_NAND_DOCG4 is not set # CONFIG_MTD_NAND_NANDSIM is not set CONFIG_MTD_NAND_PLATFORM=y # CONFIG_MTD_ALAUDA is not set # CONFIG_MTD_ONENAND is not set из файла конфигурации платформы для u-boot: #ifdef CONFIG_NAND #define CONFIG_NAND_OMAP_GPMC #define CONFIG_NAND_OMAP_ELM #define CONFIG_SYS_NAND_5_ADDR_CYCLE #define CONFIG_SYS_NAND_PAGE_COUNT (CONFIG_SYS_NAND_BLOCK_SIZE / \ CONFIG_SYS_NAND_PAGE_SIZE) #define CONFIG_SYS_NAND_PAGE_SIZE 2048 #define CONFIG_SYS_NAND_OOBSIZE 64 #define CONFIG_SYS_NAND_BLOCK_SIZE (128*1024) #define CONFIG_SYS_NAND_BAD_BLOCK_POS NAND_LARGE_BADBLOCK_POS #define CONFIG_SYS_NAND_ECCPOS { 2, 3, 4, 5, 6, 7, 8, 9, \ 10, 11, 12, 13, 14, 15, 16, 17, \ 18, 19, 20, 21, 22, 23, 24, 25, \ 26, 27, 28, 29, 30, 31, 32, 33, \ 34, 35, 36, 37, 38, 39, 40, 41, \ 42, 43, 44, 45, 46, 47, 48, 49, \ 50, 51, 52, 53, 54, 55, 56, 57, } #define CONFIG_SYS_NAND_ECCSIZE 512 #define CONFIG_SYS_NAND_ECCBYTES 14 #define CONFIG_SYS_NAND_ONFI_DETECTION #define CONFIG_NAND_OMAP_ECCSCHEME OMAP_ECC_BCH8_CODE_HW #define CONFIG_SYS_NAND_U_BOOT_START CONFIG_SYS_TEXT_BASE #define CONFIG_SYS_NAND_U_BOOT_OFFS 0x80000 #endif #endif /* NAND support */ #ifdef CONFIG_NAND #define CONFIG_CMD_NAND #define GPMC_NAND_ECC_LP_x16_LAYOUT 1 #if !defined(CONFIG_SPI_BOOT) && !defined(CONFIG_NOR_BOOT) #define MTDIDS_DEFAULT "nand0=omap2-nand.0" #define MTDPARTS_DEFAULT "mtdparts=omap2-nand.0:128k(SPL)," \ "128k(SPL.backup1)," \ "128k(SPL.backup2)," \ "128k(SPL.backup3),1792k(u-boot)," \ "128k(u-boot-spl-os)," \ "128k(u-boot-env),5m(kernel),-(rootfs)" #define CONFIG_ENV_IS_IN_NAND #define CONFIG_ENV_OFFSET 0x260000 /* environment starts here */ #define CONFIG_SYS_ENV_SECT_SIZE (128 << 10) /* 128 KiB */ #endif #endif P.S: Причина редактирования: добавил конфигурацию. Изменено 19 февраля, 2014 пользователем shamrel Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Jury093 2 19 февраля, 2014 Опубликовано 19 февраля, 2014 · Жалоба Сейчас загрузиться получается с uSD, но на серийном устройстве ее не будет. Нужно все действия выполнять под u-boot. у меня коллеги решили эту проблему - комплект бинарников на "юсб флешке", которая втыкается в прибор.. прибор включаем, с флешки грузится технологическая прошивка, которая шьет боевую.. далее ребут и в бой.. тоже бились над проблемой расположения и свойств ECC и технологией ubinize (вроде правильно написал).. имхо, начните с малого - попробуйте отключить дефайнами контроль ECC в юбуте и в ядре.. в доках на ядро есть файл, где описан механизм для нанда (Documentation/mtd/nand_ecc.txt), почитайте.. кстати, вы перед записью из юбута или линукса нанд трёте в области для записи? а то мало ли забыли.. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться