Миландр

Ключевым подразделением нашей компании является Центр Проектирования интегральных микросхем
Текущее время: 2017-сен-25 14:30

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 95 ]  На страницу Пред.  1, 2, 3, 4, 5, 6, 7  След.
Автор Сообщение
СообщениеДобавлено: 2016-фев-10 16:44 
Не в сети

Зарегистрирован: 2009-июл-21 14:13
Сообщения: 992
Откуда: Тула
vasili писал(а):
В ходе разработки своих проектов потребовалась версия для ВЕ1 с возможностью стирания не всей Flash, а только той области(кратной 4К), на которую настроен Hex-файл прошивки. Новая версия для ВЕ1 в начале темы.

Рядом с галочкой написано "Full/Nofull".
В Readme написано "При задании опции "NoFull" стирается не вся область flash, а только та, которая подлежит программированию (кратна 4096 байт)."

Таким образом установленная галочка обозначает что?

_________________
сочувствующий…


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 2016-фев-10 17:05 
Не в сети

Зарегистрирован: 2010-сен-21 12:57
Сообщения: 613
Откуда: г. Санкт-Петербург
prostoRoman писал(а):
...
Таким образом установленная галочка обозначает что?

При установленной галочке стирается вся flash, при сброшенной не вся.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 2016-фев-11 08:33 
Не в сети

Зарегистрирован: 2009-июл-21 14:13
Сообщения: 992
Откуда: Тула
vasili писал(а):
При установленной галочке стирается вся flash, при сброшенной не вся.

Вот такая фраза понятна однозначно. Ещё бы галочку более однозначно обозвать (предлагаю "Full Erase") и вообще отлично было бы. =)

_________________
сочувствующий…


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 2016-июн-09 05:29 
Не в сети

Зарегистрирован: 2016-июн-09 03:21
Сообщения: 9
Откуда: Омск
А можно мне тоже ответить в личку (или тут) планируется ли загрузчик по CAN (или USB без использования преобразователя USB/COM)? :roll:


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 2016-июн-09 09:22 
Не в сети

Зарегистрирован: 2010-сен-21 12:57
Сообщения: 613
Откуда: г. Санкт-Петербург
Не планируется.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 2016-июн-09 11:31 
Не в сети

Зарегистрирован: 2016-июн-09 03:21
Сообщения: 9
Откуда: Омск
В таком случае, не могли бы вы, как опытный пользователь новичку сказать, реально ли на 1986ВЕ9х перенести программу с flash в RAM (т.е. не перепрошивать сразу RAM, как это сделано у Вас. Дабы после ребута загрузчик не исчезал, а хранился во флеш, и соответственно Erase и программирование делать не всей flash а ее части, не затрагивая область программного загрузчика). И если да то как? Все что находил сводится к прошивки RAM всей программой или ее частью.
З.Ы. использую Keil v5


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 2016-июн-09 11:52 
Не в сети

Зарегистрирован: 2009-июл-21 14:13
Сообщения: 992
Откуда: Тула
RAM - это ОЗУ. flash - это ПЗУ.
Зная где расположен и сколько занимает загрузчик (как и любой другой массив данных), его можно переписать в ОЗУ. Для работы из ОЗУ есть несколько нюансов.
flash можно стирать секторами (по 4 кб). Ищите по форуму примеры работы с данными во флеш.
Ищите на форуме пример прошивки для 1986ВЕ8, полюбопытствуйте.
Так же на форуме уже были попытки реализации загрузчика по CAN - поспрашивайте этих людей.

_________________
сочувствующий…


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 2016-июн-09 11:56 
Не в сети

Зарегистрирован: 2010-сен-21 12:57
Сообщения: 613
Откуда: г. Санкт-Петербург
ответил ЛС.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 2016-июн-09 12:20 
Не в сети

Зарегистрирован: 2016-июн-09 03:21
Сообщения: 9
Откуда: Омск
prostoRoman писал(а):
RAM - это ОЗУ. flash - это ПЗУ.

Я ж новичок а не дурачок...

prostoRoman писал(а):
flash можно стирать секторами (по 4 кб). Ищите по форуму примеры работы с данными во флеш.

Про 4 кб в спецификации есть. Искал очень долго и упорно, все что нашел упиралось, как я говорил ранее в прошивку RAM, или я чего-то не понимаю

prostoRoman писал(а):
Ищите на форуме пример прошивки для 1986ВЕ8, полюбопытствуйте.

Поиск по форуму по 1986ВЕ8 не дал ничего по его прошивке.

prostoRoman писал(а):
Зная где расположен и сколько занимает загрузчик (как и любой другой массив данных), его можно переписать в ОЗУ. Для работы из ОЗУ есть несколько нюансов.

Вот это меня и интересует. 1. как его переписать в ОЗУ? 2. Если можно поподробнее о ньюансах, если вы не об отключении прерываний и всего остального, что может нас перекинуть назад во флеш.

prostoRoman писал(а):
Так же на форуме уже были попытки реализации загрузчика по CAN - поспрашивайте этих людей.

Видел парочку, у одного вроде даже получилось, я ему написал, но у него активность такая, что ждать его ответа возможно придется очень долго.


P.S. меня немного смущает, что в большинстве случаев советуют программировать RAM, другого просто не встречал, может я чего то не понимаю, и ОЗУ не опустошится после ребута? Или при программировании в RAM код все равно записавается во флеш(в отладчике ничего такого не увидел, но я там много чего не видел) и уже при запуске копируется в RAM?
P.S.S. под програмированием в RAM я имею ввиду указание в свойствах файла в Keil для записи область памяти IRAM1 в котором у меня заданы соответствующие адреса памяти RAM


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 2016-июн-09 15:24 
Не в сети

Зарегистрирован: 2009-июл-21 14:13
Сообщения: 992
Откуда: Тула
jinanton писал(а):
prostoRoman писал(а):
flash можно стирать секторами (по 4 кб). Ищите по форуму примеры работы с данными во флеш.

Про 4 кб в спецификации есть. Искал очень долго и упорно, все что нашел упиралось, как я говорил ранее в прошивку RAM, или я чего-то не понимаю

Если я правильно понимаю термин "прошивка RAM", то она делает то, для чего её писали - стирать всю флеш или только чать. Ищите примеры работы с ДАННЫМИ, а не с прошивками.

jinanton писал(а):
prostoRoman писал(а):
Ищите на форуме пример прошивки для 1986ВЕ8, полюбопытствуйте.

Поиск по форуму по 1986ВЕ8 не дал ничего по его прошивке.

viewtopic.php?f=47&t=2919 -- приложение ко второму сообщению в теме. Но это просто для расширения кругозора...

jinanton писал(а):
prostoRoman писал(а):
Зная где расположен и сколько занимает загрузчик (как и любой другой массив данных), его можно переписать в ОЗУ. Для работы из ОЗУ есть несколько нюансов.

Вот это меня и интересует. 1. как его переписать в ОЗУ? 2. Если можно поподробнее о ньюансах, если вы не об отключении прерываний и всего остального, что может нас перекинуть назад во флеш.

1. Просто скопировать. Цепляете его в проекте как массив константных данных, потом этот массив переписываете в ОЗУ. Вот великолепный пример viewtopic.php?f=22&t=3302
2. Да, об этом.
jinanton писал(а):
prostoRoman писал(а):
Так же на форуме уже были попытки реализации загрузчика по CAN - поспрашивайте этих людей.

Видел парочку, у одного вроде даже получилось, я ему написал, но у него активность такая, что ждать его ответа возможно придется очень долго.

Удачи =)

jinanton писал(а):
P.S. меня немного смущает, что в большинстве случаев советуют программировать RAM, другого просто не встречал, может я чего то не понимаю, и ОЗУ не опустошится после ребута? Или при программировании в RAM код все равно записавается во флеш(в отладчике ничего такого не увидел, но я там много чего не видел) и уже при запуске копируется в RAM?

В ОЗУ программа попадает только в следствие работы UART-загрузчика или самого ПО. Само ОЗУ не энергонезависимое. Штатно Кейл пишет только во флеш.
jinanton писал(а):
P.S.S. под програмированием в RAM я имею ввиду указание в свойствах файла в Keil для записи область памяти IRAM1 в котором у меня заданы соответствующие адреса памяти RAM
Да, вот эту то прошивку и надо как-то залить в ОЗУ - либо через UART-загрузчик, либо программой из флеш.

_________________
сочувствующий…


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 2016-июн-10 05:58 
Не в сети

Зарегистрирован: 2016-июн-09 03:21
Сообщения: 9
Откуда: Омск
prostoRoman писал(а):
1. Просто скопировать. Цепляете его в проекте как массив константных данных, потом этот массив переписываете в ОЗУ. Вот великолепный пример viewtopic.php?f=22&t=3302

prostoRoman писал(а):
viewtopic.php?f=47&t=2919 -- приложение ко второму сообщению в теме. Но это просто для расширения кругозора.

Пойду изучать, интересного я точно узнаю довольно много, надеюсь еще и полезного на данный момент тоже, спасибо.
prostoRoman писал(а):
В ОЗУ программа попадает только в следствие работы UART-загрузчика или самого ПО. Само ОЗУ не энергонезависимое. Штатно Кейл пишет только во флеш.

Т.е.
jinanton писал(а):
при программировании в RAM код все равно записавается во флеш и уже при запуске копируется в RAM?
???


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 2016-июн-10 08:06 
Не в сети

Зарегистрирован: 2009-июл-21 14:13
Сообщения: 992
Откуда: Тула
jinanton писал(а):
Пойду изучать, интересного я точно узнаю довольно много, надеюсь еще и полезного на данный момент тоже, спасибо.

Без сомнений.
jinanton писал(а):
prostoRoman писал(а):
В ОЗУ программа попадает только в следствие работы UART-загрузчика или самого ПО. Само ОЗУ не энергонезависимое. Штатно Кейл пишет только во флеш.

Т.е.
jinanton писал(а):
при программировании в RAM код все равно записавается во флеш и уже при запуске копируется в RAM?
???

Да.

_________________
сочувствующий…


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 2016-июн-24 11:35 
Не в сети

Зарегистрирован: 2016-июн-24 11:22
Сообщения: 7
Контроллер 1986ВЕ1Т.
После некорректной настройки PLL контроллер перестал прошиваться ULINK2.
При попытке стереть флешку через uart программой 1986BE1UARTWSD.
Выдаются два сообщения:
"Синхронизация...OK!" и "ошибка обмена"
При анализе ошибки путём запуска исходников программы в режиме отладке, выяснилось, что контроллер проходит синхронизацию и выдаёт приглашение, но на посылаемые команды не отвечает.
Что это может быть?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 2016-июн-24 14:28 
Не в сети

Зарегистрирован: 2010-сен-21 12:57
Сообщения: 613
Откуда: г. Санкт-Петербург
Попробуйте задать скорость 9600


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 2016-июн-24 14:44 
Не в сети

Зарегистрирован: 2016-июн-24 11:22
Сообщения: 7
vasili писал(а):
Попробуйте задать скорость 9600

Пробовал прямо в коде прописывать (i = 9600), а так какую бы скорость я ни выбрал на форме, i присваивается 115200.
Какая ещё особенность. Если повторить отправку команды, то где-то на 5 раз контроллер начинает отвечать. Например, я пробовал повторять отправку команды 0x0D, и где-то с 5-го раза начинаю получать ответы:
0x1D
0x5D
0xFF 0xFF 0xFC
плюс ещё пару вариантов ответа на эту команду.
Бывает не отвечает, порядок не одинаковый, 0x5D приходит в ответ чаще всего, скорость 9600, команду 0x42 ("B") перед этим не посылал.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 95 ]  На страницу Пред.  1, 2, 3, 4, 5, 6, 7  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB