реклама на сайте
подробности

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> Чем и как прочитать образ из NAND?, есть плата на процессоре TI AM1705
svss
сообщение Jan 17 2013, 08:34
Сообщение #16


Местный
***

Группа: Свой
Сообщений: 231
Регистрация: 19-12-08
Из: Новосибирск
Пользователь №: 42 594



Цитата(samike @ Jan 17 2013, 10:28) *
Печально.
Так как же все таки корректно прочитать из NAND необходимый образ (U-boot + Linux + rootFS + приложение), чтобы записать этот образ в другие платы?

Да, печально. Казалось бы универсальная задача всеобщей востребованности, но смысла в её решении мало, ибо считанный образ с высокой вероятностью при записи попадёт в сбойные участки NAND .
Поэтому (по моему скромному разумению) готового Вы не найдёте.

Копируют систему по частям:
вначале в NAND складывают несколько копий u-boot - в надежде, что хотя бы одна копия окажется годной,
затем - ядро, файловую систему и остальное.

Я не утверждаю, что это единственный способ. Так делают - ничего личного.
Конкретные платформы для этого комплектуются специализированным софтом, при этом требования к железу тоже существуют.
(Пример: http://e2e.ti.com/support/dsp/sitara_arm17.../t/159131.aspx)


Несколько озадачили слова от IgorKossak
Цитата
NAND flash (ради удешевления, вероятно) поставляется с некоторым процентом сбойных секторов, которые при производстве соответствующим образом помечены


NAND делают ради удешевления хранения бит информации. Просто.
NAND невозможно поставить гарантированно без "некоторого процента", ибо уже при перевозке с завода в магазин число сбойных бит может измениться
Да, на заводе NAND тестируют и обнаруженные сбойные блоки помещают в список. Если список короткий, то - в магазин, иначе - в утиль.


Цитата
- U-boot заливаем в NAND с помощью программатора,
- устанавливаем м/сх NAND на плату,

Вы, вероятно, счастливый человек. У меня все NAND - BGA... sad.gif
Go to the top of the page
 
+Quote Post
IgorKossak
сообщение Jan 17 2013, 10:38
Сообщение #17


Шаман
******

Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221



Цитата(svss @ Jan 17 2013, 10:34) *
Несколько озадачили слова от IgorKossak
NAND делают ради удешевления хранения бит информации. Просто.
NAND невозможно поставить гарантированно без "некоторого процента", ибо уже при перевозке с завода в магазин число сбойных бит может измениться
Да, на заводе NAND тестируют и обнаруженные сбойные блоки помещают в список. Если список короткий, то - в магазин, иначе - в утиль.

То же самое я и хотел сказать. Может не совсем удачно вышло.
По теме, у меня процедура записи такая:
1. загружается в озу U-boot (версия для озу) и запускается;
2. загружается и программируется в НАНД версия U-boot для прошивки;
3. подобнейшим образом загружаются и прошиваются остальные разделы: u-boot-env, splash, kernel, rootfs.
Не совсем оптимально, но другого способа пока у меня нет.
Go to the top of the page
 
+Quote Post
alx2
сообщение Jan 18 2013, 04:37
Сообщение #18


Местный
***

Группа: Участник
Сообщений: 340
Регистрация: 25-10-05
Из: Пермь, Россия
Пользователь №: 10 091



Цитата(_3m @ Jan 17 2013, 10:44) *
Бэды могут появляться во время работы, софт их на лету помечает и обходит.

Уточните, пожалуйста, какой именно софт их помечает и обходит - драйвер, лежащий "ниже" /dev/mtdblock*, или софт файловой системы, лежащий "выше"? Верно ли я понял, что именно софт файловой системы?

Цитата(samike @ Jan 17 2013, 13:28) *
Вобщем, процесс автоматизации прошивки большого количества плат пока видится таким:

Мне вообще такой подход (модификация образа файловой системы в целевой плате) кажется странным. Причем странным дважды.
1. Сначала Вы создаете файловую систему без нужного приложения (а что там тогда есть?), записываете ее в ПЗУ платы, потом устанавливаете приложение, после чего считываете образ FS из платы обратно для последующего тиражирования. Не логичней ли будет сразу установить все нужные пакеты, включая ваше приложение, и сразу сгенерировать образ файловой системы, готовый к производству?
2. Если уж по каким-то непонятным мне причинам Вы не хотите (или не можете) сразу генерировать образ FS с тем содержимым, которое требуется, и задача стоит именно в модификации уже имеющейся FS, не лучше ли будет "развернуть" содержимое FS на персоналке, выполнить необходимые модификации (доустановить какие-то пакеты) и затем заново сгенерировать новый образ? И не связываться вообще с NAND-ПЗУ и целевым устройством вообще...


--------------------
Всего наилучшего,
Alex Mogilnikov
Go to the top of the page
 
+Quote Post
samike
сообщение Jan 18 2013, 05:52
Сообщение #19


Участник
*

Группа: Участник
Сообщений: 66
Регистрация: 12-04-06
Из: Москва
Пользователь №: 16 039



Цитата(alx2 @ Jan 18 2013, 08:37) *
Уточните, пожалуйста, какой именно софт их помечает и обходит

Меня также интересует этот вопрос ...

Цитата(alx2 @ Jan 18 2013, 08:37) *
Мне вообще такой подход (модификация образа файловой системы в целевой плате) кажется странным.

Да нет, я не собираюсь модифицировать образ файловой системы.
Пока остановился на варианте, подобном тому, что описал IgorKossak.
Go to the top of the page
 
+Quote Post
xemul
сообщение Jan 18 2013, 07:28
Сообщение #20



*****

Группа: Свой
Сообщений: 1 928
Регистрация: 11-07-06
Пользователь №: 18 731



Цитата(alx2 @ Jan 18 2013, 08:37) *
Уточните, пожалуйста, какой именно софт их помечает и обходит - драйвер, лежащий "ниже" /dev/mtdblock*, или софт файловой системы, лежащий "выше"? Верно ли я понял, что именно софт файловой системы?

Требовать от софта файловой системы отвечать за bad blocks носителя бессмысленно.
В HDD листы бэдов пишутся контроллером во флэш-память (т.е. более другой носитель). Полагаю, в NAND сделано примерно также - контроллер пишет ошибки большой дешёвой памяти в более дорогую, но независимую память (на том же кристалле). Наружу контроллер предоставляет линейный массив, но не обязательно одинаковой длины - с этим и связаны неприятности с переносом системы посредством dd, имхо.
Go to the top of the page
 
+Quote Post
_3m
сообщение Jan 18 2013, 09:47
Сообщение #21


Знающий
****

Группа: Участник
Сообщений: 745
Регистрация: 28-12-06
Пользователь №: 23 960



Цитата(xemul @ Jan 18 2013, 11:28) *
Требовать от софта файловой системы отвечать за bad blocks носителя бессмысленно.
В HDD листы бэдов пишутся контроллером во флэш-память (т.е. более другой носитель). Полагаю, в NAND сделано примерно также - контроллер пишет ошибки большой дешёвой памяти в более дорогую, но независимую память (на том же кристалле).

Нету там "более дорогой независимой" все в нанд!
"финские студенты" с вами не согласны и bad blocks появляющиеся вследствие износа помечает фс.
Курите Bad_Block_table_support
Код
Set the option NAND_BBT_WRITE to enable the table write support. This allows the update of the bad block table(s) in case a block has to be marked bad due to wear. The MTD interface function block_markbad is calling the update function of the bad block table. If the write support is enabled then the table is updated on FLASH.

Помечает бэды в частности:
drivers/mtd/ubi/wl.c
fs/jffs2/erase.c

Еще посмотрите drivers/mtd/nand/nand_bbt.c
Go to the top of the page
 
+Quote Post
xemul
сообщение Jan 18 2013, 10:31
Сообщение #22



*****

Группа: Свой
Сообщений: 1 928
Регистрация: 11-07-06
Пользователь №: 18 731



Цитата(_3m @ Jan 18 2013, 13:47) *
Нету там "более дорогой независимой" все в нанд!
"финские студенты" с вами не согласны и bad blocks появляющиеся вследствие износа помечает фс.
Курите Bad_Block_table_support

Значит опять склероз (касательно размещения флэша другого свойства для bad blocks на том же чипе).
В позапрошлом году развлекался, вытаскивая инфу с usb-шных флэшек. В приведённой Вами ссылке следующий параграф описывает обычный для них случай.
А по граблям с хранением bbt носителя на нём же производители hdd уже ходили.
Go to the top of the page
 
+Quote Post

2 страниц V  < 1 2
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 7th July 2025 - 03:02
Рейтинг@Mail.ru


Страница сгенерированна за 0.02575 секунд с 7
ELECTRONIX ©2004-2016