Миландр
https://forum.milandr.ru/

Настройка CooCox IDE для программирования 1986ВЕ9х
https://forum.milandr.ru/viewtopic.php?f=33&t=1642
Страница 1 из 2

Автор:  ULHEDER [ 2013-окт-21 15:15 ]
Заголовок сообщения:  Настройка CooCox IDE для программирования 1986ВЕ9х

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 КБ]
625 скачиваний

Автор:  ULHEDER [ 2013-окт-21 18:15 ]
Заголовок сообщения:  Re: Настройка CooCox IDE для программирования 1986ВЕ9х

При попытке прошивания флеша 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.

Автор:  ULHEDER [ 2013-окт-25 04:37 ]
Заголовок сообщения:  Re: Настройка CooCox IDE для программирования 1986ВЕ9х

Частично работает Debugger.
CooCox останавливает выполнение программы которая зашита в флеш, и начинает грузить код в озу, переходит к какойто метке и на этом всё.
Всё начинает работать с тормозами.


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

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

Автор:  Peter [ 2013-окт-25 08:41 ]
Заголовок сообщения:  Re: Настройка CooCox IDE для программирования 1986ВЕ9х

Цитата:
Работа в этом направлении без поддержки будет идти медленно.
Я сомневаюсь что кому-то интересно менять Keil на непонятно что.

Автор:  ULHEDER [ 2013-окт-25 14:03 ]
Заголовок сообщения:  Re: Настройка CooCox IDE для программирования 1986ВЕ9х

Например это будет интересно тем кто будет делать прошивки для коммерческих продуктов.
Кеил ведь не бесплатный, а 32кб версия только для ознакомления(не комерческого использования).

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

Автор:  Dmitry [ 2013-ноя-27 08:04 ]
Заголовок сообщения:  Re: Настройка CooCox IDE для программирования 1986ВЕ9х

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

Вложения:
Комментарий к файлу: Алгоритм для CooCox
MDR32F9x_128.rar [3.25 КБ]
512 скачиваний

Автор:  Direct [ 2013-ноя-27 12:25 ]
Заголовок сообщения:  Re: Настройка CooCox IDE для программирования 1986ВЕ9х

Добрый день, посмотрите пожалуйста статейку..
http://we.easyelectronics.ru/Direct/spa ... ex-m3.html
Жду Ваших комментариев. Спасибо!

И пропагандирую участвовать в конкурсе -
[ img ]

Автор:  -=Sergei=- [ 2013-ноя-27 12:36 ]
Заголовок сообщения:  Re: Настройка CooCox IDE для программирования 1986ВЕ9х

Direct писал(а):
Добрый день, посмотрите пожалуйста статейку..
http://we.easyelectronics.ru/Direct/spa ... ex-m3.html
Жду Ваших комментариев. Спасибо!
Отлично! У меня в свое время разобраться с этим не получилось. Так что в двойне рад.

Автор:  YURIY [ 2014-окт-01 12:01 ]
Заголовок сообщения:  Re: Можно про стек поподробнее...

-=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 ]
Заголовок сообщения:  Re: Известные проблемы в 1986ВЕ91T и результаты исследований

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

Автор:  YURIY [ 2014-окт-01 16:13 ]
Заголовок сообщения:  Re: Известные проблемы в 1986ВЕ91T и результаты исследований

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

Вложения:
MDR32F9x_128.zip [3.27 КБ]
335 скачиваний

Автор:  ЧумА [ 2014-окт-01 17:02 ]
Заголовок сообщения:  Re: Известные проблемы в 1986ВЕ91T и результаты исследований

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

Автор:  YURIY [ 2014-окт-01 19:31 ]
Заголовок сообщения:  Re: Известные проблемы в 1986ВЕ91T и результаты исследований

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

Автор:  ULHEDER [ 2014-окт-01 21:09 ]
Заголовок сообщения:  Re: Известные проблемы в 1986ВЕ91T и результаты исследований

Похоже CooCox IDE тоже уже можно добавлять в список сред программирования :) :idea: .
Всё ближе и ближе к массовому использованию чипа среди радиолюбителей.

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

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

Автор:  YURIY [ 2014-окт-02 07:38 ]
Заголовок сообщения:  Re: Известные проблемы в 1986ВЕ91T и результаты исследований

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

Страница 1 из 2 Часовой пояс: UTC+03:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/