Миландр

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

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




Начать новую тему Ответить на тему  [ Сообщений: 29 ]  На страницу 1, 2 Все  След.
Автор Сообщение
СообщениеДобавлено: 2013-окт-21 15:15 
Не в сети
Аватара пользователя

Зарегистрирован: 2013-июл-01 17:42
Сообщения: 32
Откуда: Москва, Декстроплат
CooCox IDE это удобная среда разработки без ограничения на размер кода, FreeWare.

Сегодня удалось скомпилировать проект без ошибок, но проверить работу сейчас нет возможности.
Загвоздка в настройке была в том что для CooCox IDE требуется стартап фаил написанный на СИ, а не на ассемблере как это сделано в большинстве проектов.
При подсовывании среде startup_MDR32F9Qx.s, тот начинает сообщать много ошибок. Танцы с бубном длились 5 часов без отрыва от стула.
Я ассемблер не понимаю вообще, но по стартапу STM32F10х на си и асм удалось переделать фаил из startup_MDR32F9Qx.s в startup_MDR32F9Qx.c в котором почти полностью всё на си.
Ничего сложного в переделке не оказалось. В прикреплении есть 4 стартапа 2 на си для CooCox IDE и 2 на асм для кеила, стартапы для STM32F10х и MDR32F9Qx.
Можете сравнить их и если найдёте ошибки то пишите.

Какие проблемы сейчас:
Я удалил кеил4.70 и попытался установить кеил5.00 и тут меня пустило в разочарование, пакет установился с ошибками, а вернутся к кеил4.70 нет возможности.
Поэтому мне сейчас нечем прошивать MDR32F9.

Для прошивки через ST-Link нужен алгоритм который скомпилирован в ELF фаил. Как его делать я не знаю.
В прикреплении в папке STLINK_ELF есть сам алгоритм и исходники для алгоритма STM32F10х.
На всякий случай, в папке STLINK_FLM алгоритм и исходники для прошивки MDR32F9Qx от кеила.

Сам проект для coocox с простейшим примером лежит в папке milandrTEST4.
В под папке milandrTEST4>debug лежит HEX фаил для прошивки(скорее всего не правильный).


Сейчас продолжаю работу , результаты работы буду выкладывать тут.
Если у вас есть какието предложения или есть свой способ использования этой среды под 1986ВЕ, выкладывайте здесь.


Вложения:
танцыВОКРУГ1986ВЕ.zip [552.85 КБ]
Скачиваний: 557

_________________
Сергей. Разработчик печатных плат с отечественными и импортными компонентами.
Для связи: diktatorus@gmail.com http://vk.com/id36323838 http://vk.com/mcuru http://vk.com/dekstroplat
Изображение
Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 2013-окт-21 18:15 
Не в сети
Аватара пользователя

Зарегистрирован: 2013-июл-01 17:42
Сообщения: 32
Откуда: Москва, Декстроплат
При попытке прошивания флеша 1986ве92 , отображается следующая ошибка.

Код:
C:\CooCox\CoIDE>"C:/CooCox/CoIDE/bin\coflash.exe" program STM32F103RB "C:/CooCox/CoIDE/workspace/milandrTEST4/milandrTEST4/Debug/bin/milandrTEST4.elf" --adapter-name=ST-Link --port=SWD --adapter-clk=1000000 --erase=all --driver="C:/CooCox/CoIDE/flash/STM32F10x_MD_128.elf" 
Erase:    Done
Program:    Done
Verify:    Failed
Error: Verify fails
Program Download Failed !


Частично алгоритм верный, чего-то там надо подправить, и будет доступный всем бесплатный софт для программирования 1986ВЕ92.

_________________
Сергей. Разработчик печатных плат с отечественными и импортными компонентами.
Для связи: diktatorus@gmail.com http://vk.com/id36323838 http://vk.com/mcuru http://vk.com/dekstroplat
Изображение


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 2013-окт-25 04:37 
Не в сети
Аватара пользователя

Зарегистрирован: 2013-июл-01 17:42
Сообщения: 32
Откуда: Москва, Декстроплат
Частично работает Debugger.
CooCox останавливает выполнение программы которая зашита в флеш, и начинает грузить код в озу, переходит к какойто метке и на этом всё.
Всё начинает работать с тормозами.


Восстановил Keil , причём 5 версия стала нормально шить мк, не знаю как.
Сунул прошивку полученную в CooCox кейлу, после прошивки код не выполнялся(возможно ошибка в коде).

Работа в этом направлении без поддержки будет идти медленно.

_________________
Сергей. Разработчик печатных плат с отечественными и импортными компонентами.
Для связи: diktatorus@gmail.com http://vk.com/id36323838 http://vk.com/mcuru http://vk.com/dekstroplat
Изображение


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

Зарегистрирован: 2013-фев-14 08:40
Сообщения: 20
Цитата:
Работа в этом направлении без поддержки будет идти медленно.

Я сомневаюсь что кому-то интересно менять Keil на непонятно что.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 2013-окт-25 14:03 
Не в сети
Аватара пользователя

Зарегистрирован: 2013-июл-01 17:42
Сообщения: 32
Откуда: Москва, Декстроплат
Например это будет интересно тем кто будет делать прошивки для коммерческих продуктов.
Кеил ведь не бесплатный, а 32кб версия только для ознакомления(не комерческого использования).

CooCox набирает популярность, поэтому не все слышали об этой среде.

_________________
Сергей. Разработчик печатных плат с отечественными и импортными компонентами.
Для связи: diktatorus@gmail.com http://vk.com/id36323838 http://vk.com/mcuru http://vk.com/dekstroplat
Изображение


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

Зарегистрирован: 2013-ноя-27 07:58
Сообщения: 1
ULHEDER, вчера тоже решил попробовать CooCox. Собрал алгоритм для него из исходников кейла и stm. Стирание работает нормально.
Запись вроде тоже полностью работает. Сделал в кейле bin и прошил его через CoFlash.
Собрал проект в кокосе и записал в микроконтроллер - работает. Пока что не работает только отладка. Надо переделать elf файл который за это отвечает. Но пока не знаю как


Вложения:
Комментарий к файлу: Алгоритм для CooCox
MDR32F9x_128.rar [3.25 КБ]
Скачиваний: 445
Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 2013-ноя-27 12:25 
Не в сети

Зарегистрирован: 2013-ноя-27 12:19
Сообщения: 5
Откуда: Пермь
Добрый день, посмотрите пожалуйста статейку..
http://we.easyelectronics.ru/Direct/spa ... ex-m3.html
Жду Ваших комментариев. Спасибо!

И пропагандирую участвовать в конкурсе -
Изображение


Последний раз редактировалось Direct 2013-ноя-27 13:04, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 2013-ноя-27 12:36 
Не в сети

Зарегистрирован: 2009-май-22 09:01
Сообщения: 1299
Откуда: АО "ПКК Миландр"
Direct писал(а):
Добрый день, посмотрите пожалуйста статейку..
http://we.easyelectronics.ru/Direct/spa ... ex-m3.html
Жду Ваших комментариев. Спасибо!


Отлично! У меня в свое время разобраться с этим не получилось. Так что в двойне рад.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Можно про стек поподробнее...
СообщениеДобавлено: 2014-окт-01 12:01 
Не в сети

Зарегистрирован: 2014-сен-17 12:19
Сообщения: 37
Откуда: СПб
-=Sergei=- писал(а):
ЧумА писал(а):
Допустим, в startup я заказал стек объемом 0х400. Смотрю отчет линкера:
STACK 0x20000008 Section 1024 startup_mps.o(STACK)
Загружаюсь с JTAG-ом А. И в точке main вижу содержимое R13 = 0x20000408, т.е. похоже на правду. Причем, используется MSP, а
PSP = 0. Вопрос, что тут не так и требует правки? Или надо подгрузить что-то (на будущее) в PSP? Или JTAG обходит загрузчик?


Автоматически генерируемые Keilом инициализации перед входом в main корректно востанавливают указатель стека, но по ходу выполнений этих инициализаций используется стек заданный в бутовом ПЗУ равный 0х20000200. Его правда хватает сейчас, но например при каких либо изменениях в Кейле может и не хватить. Либо при использовании другого компилятора.

Посмотреть это можно если в режиме отладки нажать RST и затем пройти в пошаговом режиме из бутового ПЗУ и проследить за SP.


Я использую gcc в среде CooCox. Адаптировал его для прошивки/стирания flash памяти. Все работает, в самой IDE выбираю генерик арм кортекс м3 и вручную в настройках ставлю нужные адреса и размеры ram/rom памяти. Всё бы ничего, только отладка не работает. Пишет, что не может найти границы инструкции (нет доступа к памяти в некотором совсем начальном адресе). Точно такой же проект в кейле, соответственно настроенном под gcc, никаких проблем не вызывает. Отладка, прошивка и т.д. работают без нареканий. Пробовал разные значения стека в стартаповом файле: ошибка не исчезает. Что я должен учесть в своих исходниках или может настройках линкера/компиллятора? Можно общими фразами, типа "выставить размер стека таким-то". По всей видимости моя среда/компиллятор ничего не исправляет автоматически.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 2014-окт-01 13:02 
Не в сети

Зарегистрирован: 2009-сен-21 12:39
Сообщения: 512
В "Кайле" между startup-ом и main-ом есть прослойка, которой передаются параметры стека указанные в startup. Прослойка стартует с текущим (заданным в BOOT ROM (?)) значением указателя стека. Вроде, никто не мешает загрузить указатель стека заранее в startup-е.
ИМХО всё это на отладку "Кокосом" не влияет, возможно, дело в том, что "миландровский" flash начинается не с 0-го адреса. Тут обсуждалась та проблема (сдаётся, что до конца не решенная), что софтовый симулятор "Кайла" не позволяет отлаживаться с "миландровскими" настройками границ flash-а. Причём, поведение очень даже напоминает описанное Вами для "Кокоса".
Если не лень, пожалуйста, опишите настройку прошивки под "Кокос".


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 2014-окт-01 16:13 
Не в сети

Зарегистрирован: 2014-сен-17 12:19
Сообщения: 37
Откуда: СПб
ЧумА
нет, не лень :) специально поделюсь готовым *.elf для прошивки. Очень хочется наладить отладку. Файл закидывается в C:\CooCox\CoIDE\flash, его же и выбираем в закладке Download меню Configuration


Вложения:
MDR32F9x_128.zip [3.27 КБ]
Скачиваний: 270
Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 2014-окт-01 17:02 
Не в сети

Зарегистрирован: 2009-сен-21 12:39
Сообщения: 512
Спасибо! Теперь вопросы от "особо одарённых":
1 У "Кокоса" была отдельная программа-программатор :). Для неё elf, наверное, также подходит?
2 Программирование ведётся методом - загрузили elf в RAM, стартовали его, далее программирование через него (т.е. аналогично FLM для Кейла)?
3 Olinex-овские адаптеры поддерживаются?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 2014-окт-01 19:31 
Не в сети

Зарегистрирован: 2014-сен-17 12:19
Сообщения: 37
Откуда: СПб
ЧумА
На здоровье :) отвечу по пунктам:
1. Да, elf-ами они программируются.
2. Да, механизм записи во flash подробнее расписан тут (в кейле имхо также делается, т.е. по тому же принципу)
3. Не знаю, не сталкивался с такими. Поддерживаются вот эти


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 2014-окт-01 21:09 
Не в сети
Аватара пользователя

Зарегистрирован: 2013-июл-01 17:42
Сообщения: 32
Откуда: Москва, Декстроплат
Похоже CooCox IDE тоже уже можно добавлять в список сред программирования :) :idea: .
Всё ближе и ближе к массовому использованию чипа среди радиолюбителей.

YURIY Вы автор этого elf файла?
Я как-то пытался сделать , но ничего не вышло. Даже можно сказать просто коснулся темы...

Этот фаил надо куда-то закинуть в тему где его найдут, в эту тему я зашёл совершенно случайно(не на ту тему клацнул мышкой)...

_________________
Сергей. Разработчик печатных плат с отечественными и импортными компонентами.
Для связи: diktatorus@gmail.com http://vk.com/id36323838 http://vk.com/mcuru http://vk.com/dekstroplat
Изображение


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 2014-окт-02 07:38 
Не в сети

Зарегистрирован: 2014-сен-17 12:19
Сообщения: 37
Откуда: СПб
ULHEDER
Да, автор я :) покопался в кейле, покопался в кукоксе и после возни с make файлом удалось его создать :)
Выложил в открытом доступе с целью привлечь разработчиков к проблеме отладки в этой среде. Я, просто, к ней здорово привык :) их CoOS спокойно мигает светодиодами с задержкой 50 мс на отладочной плате с 1986ВЕ91Т :) Перенести рабочий проект с stm'а на него пока из-за отладки не получается. А в какой теме его лучше найдут?.. Можно и туда закинуть :)


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

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


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

Сейчас этот форум просматривают: Bing [Bot] и гости: 8


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

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