Технический форум по робототехнике.
pike » 26 мар 2011, 20:23
здравствуйте!
столкнулся вот с таким непонятным для меня вопросом.
для простоты возьмем, например, flash mx29gl640e t/b (datasheet можно скачать в сети).
суть вопроса вот в чем: предположим, процессор(не принципиально какой) после hard reset(после подачи питания и сигнала на reset pin) выполняет инструкции со строго определенного адреса. Как правило, с 0x000000000. Допустим, первые 8 МБ адресного пространства процессора я размаппил на вышеуказанную флеш. Заливаем бинарник и ...все вроде бы отлично. НО, не всегда. Проблема вот в чем: есть nor флеш с секторами нескольких типов:
1) uniform сектора, когда вся флеш "разбита" на сектора одинакового размера(на примере вышеуказанной флеш все сектора занимают 64 КБ)
2) boot sectors, как правило, разбивается первый или последний сектор на число, кратное двум
(на примере вышеуказанной флеш первый сектор разбит на 8 мелких секторов(которые зовутся boot sectors) по 8 кб). Соответственно, различают TOP и BOTTOM флеш.
так вот все к чему я это описал, если же на примере процессора использую BOTTOM или UNIFORM флеш - процессор нормально извлекает код и данные при старте. А вот если использовать флеш типа TOP - то ничего процессор извлечь не может.
Собственно, для чего нужны TOP boot sectors и в чем физика зарыта этих boot sectors?
если кто знает - большая просьба отписаться, никакой информации на счет boot sectors я не нашел
Romikgy » 28 мар 2011, 10:30
хоть одну микруху с топ бутом скажи ....
а вообще эти вещи должен понимать сам проц .... так что он важен ....
pike » 28 мар 2011, 17:45
выш привел название,
есть четыре подтипа там, B,T,H,L
вот что на T - с top boot sectors
Romikgy » 29 мар 2011, 12:21
микруха как микруха.... я говорю , что здесь рулит именно процессор , если он умеет понимать топ бут значит будет грузить с него ... допустим у квалкома процов есть микро бут в процессоре и там есть проверка к чему он присоединён , и если микро топ бут тогда грузимся с верхних адресов ,
ну или на крайний случай могут быть у проца или ноги или фюзы отвечающие откуда стартуем.....
pike » 29 мар 2011, 18:22
да это понятно все.
суть этих бут секторов то в чем?
понятное дело с нанд флеш, но тут то нор, читать и писать можно абсолютно по любому адресу не делая никаких анлок циклов
Michael_K » 29 мар 2011, 19:28
pike писал(а):понятное дело с нанд флеш, но тут то нор, читать и писать можно абсолютно по любому адресу не делая никаких анлок циклов
Во-первых, вы не правы, лочить ее можно
Во-вторых, стирается она все же секторами/страницами.
В-третьих, я бы грешил не на старт проца, а на то, как вы запихиваете прошивку во флэшку.
pike » 29 мар 2011, 20:14
отлично,
Вы под словом лочить что именно имели ввиду?
я имел ввиду при записи по определенному адресу в определенный сектор нужно сделать два анлок цикла + команда записи и собственно, сама запись(естественно, после erase сектора или самого чипа). Никто не спорит, стирается именно секторами или полностью стирается вся память.
прошивку я записываю правильно. вопрос не в этом, а вообще какой смысл имеют бут сектора именно в нор флеш?
Romikgy » 30 мар 2011, 14:07
имхо , как правило их юзают под не стираемый кусок прошивки , который при обновлении основного софта , менять не надо ..... в большинстве случаев там лежат иниты периферии , ну и инфа что откуда брать , если такое необходимо, может быть еще проверка на валидность самой прошивы...
pike » 30 мар 2011, 22:17
это программно реализуется, и все равно какой сектор за такую основу брать, тут не в этом дело, а чем то другом