evgen2 0 25 ноября, 2009 Опубликовано 25 ноября, 2009 · Жалоба Поскольку Вы документацию НЕ читаете, то сообщаю - снести штатный загрузчик Вам не удастся - для этого надо знать, как это сделать :) Отвечаю как пользователю: Мой опыт говорит об обратном. Чтобы что-то сломать - не обязательно знать, как это работает. И очень часто, даже слишком часто, приходилось слышать: "этого не может быть, потому что не может быть никогда", причем применительно к тематике этого форума, а не "вообще". А что касается документации - раз уж вы документацию читаете - ткните носом, где в документации описан алгоритм определения сектора для записи своих данных. Вам надо только константы заменить, номера страниц и т.п. Так вот это-то как раз и непонятно - вот у меня есть список секторов. Где-то в них записана программа с данными, которая грузится при включении питания. Как мне определить - что занято, что свободно ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zltigo 1 25 ноября, 2009 Опубликовано 25 ноября, 2009 · Жалоба В большинстве кристаллов (особенно более поздних) загрузчик прошит в ROM памяти, и не может быть стерт/заменен пользователем. Может. И совсем не через JTAG. У производителя лежат прошивки ВООТ в комплекте с загрузчиком, который снимает дополнительную защиту с сектора. Для овладения сокровенными знаниями, можете дизассемблировать либо этот загрузчик, либо официальную библиотеку для управления дополнительной защитой. А что касается документации - раз уж вы документацию читаете - ткните носом, где в документации описан алгоритм определения сектора для записи своих данных. Вы хоть сами поняли, что спросить хотите? Так вот это-то как раз и непонятно - вот у меня есть список секторов. Где-то в них записана программа с данными, которая грузится при включении питания. Как мне определить - что занято, что свободно ? Все свободны, ибо боотсектор Вам не доступен. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
evgen2 0 25 ноября, 2009 Опубликовано 25 ноября, 2009 · Жалоба Вы хоть сами поняли, что спросить хотите? Все свободны, ибо боотсектор Вам не доступен. Если все свободны, то куда девается программа, которую я прошиваю ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
KRS 0 25 ноября, 2009 Опубликовано 25 ноября, 2009 · Жалоба Если все свободны, то куда девается программа, которую я прошиваю ? А вы код свой выложите, записи во флеш. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
evgen2 0 25 ноября, 2009 Опубликовано 25 ноября, 2009 · Жалоба А вы код свой выложите, записи во флеш. Да я еще ничего не писал, я просто спрашиваю, у меня в голове никак не уложится. Я пишу на писюке программу, заливаю ее во флеш, она во флеше занимает какие-то сектора. Теперь я изнутри хочу записать во флеш какие-то параметры. Мне предлагают писать в один из 11 для 128К или 28 для 512К секторов. Как мне не убить свою программу ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 123 25 ноября, 2009 Опубликовано 25 ноября, 2009 · Жалоба Теперь я изнутри хочу записать во флеш какие-то параметры. Мне предлагают писать в один из 11 для 128К или 28 для 512К секторов. Как мне не убить свою программу ? :bb-offtopic: И этот человек, который не знает, в какие адреса попала его программа, возмущается, что вопрос перенесли в ветку для начинающих. Позабавило. 1)Прочитайте документацию на ваш линкер. От корки до корки. 2)Попросите линкер сгенерировать вам карту памяти (.map). Медитируйте над ней. 3)Попросите линкер зарезервировать какой-то из сегментов для ваших данных. Он будет следить за тем, чтобы в этот сегмент не попал никакой код или другие даные. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zltigo 1 25 ноября, 2009 Опубликовано 25 ноября, 2009 · Жалоба Если все свободны, то куда девается программа, которую я прошиваю ? Про "Вашу" спрашиваете у своей программы, где она кончается. И не пеняйте на Фирму NXP - она о Вашем творчестве не знает ничего. Общий подход к делу - заводите некий сегмент с лежащей в нем переменой и линкуете его последним. По адресу этой переменной и узнаете где кончается Ваша программа. Вопрос обсуждался многократно, особенно когда начинают писать свои загрузчики. У некоторых компиляторов-линкеров такого типа механизм встроен на халяву. В поиск. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
evgen2 0 25 ноября, 2009 Опубликовано 25 ноября, 2009 · Жалоба Про "Вашу" спрашиваете у своей программы, где она кончается. И не пеняйте на Фирму NXP - она о Вашем творчестве не знает ничего. Общий подход к делу - заводите некий сегмент с лежащей в нем переменой и линкуете его последним. По адресу этой переменной и узнаете где кончается Ваша программа. Вопрос обсуждался многократно, особенно когда начинают писать свои загрузчики. У некоторых компиляторов-линкеров такого типа механизм встроен на халяву. В поиск. Ну значит - таки не все свободны. И на NXP я не пеняю. Хотя вот...вроде бы число циклов записи во флеш ограничено. Где это в доке написано - не вижу в упор... :bb-offtopic: И этот человек, который не знает, в какие адреса попала его программа, возмущается, что вопрос перенесли в ветку для начинающих. Позабавило. ну так ежели не<s>трахаться</s> иметь дела с ассемблером и не пытаться ужаться в 512 байт RAM с 8-битным кодом, то про это знать вовсе не обязательно :rolleyes: во всяком случае - пока не припрет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zltigo 1 25 ноября, 2009 Опубликовано 25 ноября, 2009 · Жалоба И на NXP я не пеняю. А это кто писал где в документации описан алгоритм определения сектора для записи своих данных. Где это в доке написано - не вижу в упор... Тяжелый случай :(. А поиск в PDF не по плечу? Запустите в Data Sheet поиск "erase cycles". Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
evgen2 0 25 ноября, 2009 Опубликовано 25 ноября, 2009 · Жалоба А это кто писал Ну так не написано ж. Тяжелый случай :(. А поиск в PDF не по плечу? Запустите в Data Sheet поиск "erase cycles". Вы не поверите. Нет такой буквы. Ни в UM10211 (дока на LPC2364-78), ни в UM10360 (дока на 17xx) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zltigo 1 25 ноября, 2009 Опубликовано 25 ноября, 2009 · Жалоба Вы не поверите. Нет такой буквы. Ни в UM10211 (дока на LPC2364-78), ни в UM10360 (дока на 17xx) Поверю :( :( :(. Читаем еще раз я писал "Data Sheet" а не "User Manual". Все параметры на чипы указываются в Data Sheet-ах. Ну так не написано ж. Так и НЕ ДОЛЖНО ничего быть написано про Вашу программу - нечего на зеркало пенять. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mdmitry 0 25 ноября, 2009 Опубликовано 25 ноября, 2009 · Жалоба :bb-offtopic: Почти. Может пора создать тему, в которой описать систему документации кристаллов в зависимости от производителя (NXP, TI, AD, Atmel и т.д.) и указать ГДЕ и ЧТО находится. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
goodwin 0 25 ноября, 2009 Опубликовано 25 ноября, 2009 · Жалоба Ну так не написано ж. Вы не поверите. Нет такой буквы. Ни в UM10211 (дока на LPC2364-78), ни в UM10360 (дока на 17xx) Зато написано "endurance"... И "retention time" заодно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
evgen2 0 25 ноября, 2009 Опубликовано 25 ноября, 2009 · Жалоба Поверю :( :( :(. Читаем еще раз я писал "Data Sheet" а не "User Manual". Все параметры на чипы указываются в Data Sheet-ах. тьфу ты...виноват. Во многих других местах даташиты=узермануалу. Хотя чего бы не написать эту цифру в мануале - что, жаба душит лишнюю строчку написать ? Или в даташит отправить.. Так и НЕ ДОЛЖНО ничего быть написано про Вашу программу - нечего на зеркало пенять. Раз это мануал для юзера - должно быть написано. Хотя бы - "смотрите в инструкцию для вашего линкера/компилера куда он чего складывает" Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zltigo 1 25 ноября, 2009 Опубликовано 25 ноября, 2009 · Жалоба :bb-offtopic: Почти. Может пора создать тему.. Может пора, для начала, заходить на сайт производителя и смотреть? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться