Jump to content

    

Прошу помощи

Здравствуйте всем!

Прошу подсказать,есть ли возможносто вкинуть прошивку в МК не используя дорогосоящий программатор-отладчик или есть ли описание формата обмена данными с BDC контроллера.

Суть проблемы заключается в ненужности отладки софта и платить за неиспользуемое как-то неохота. Конвертацию данных из РС в МК и обратно могу реализоватьи программно и технически самостоятельно.

Спасибо!

Share this post


Link to post
Share on other sites

Привет.

Я не предложу конкретного решения проблемы, но скажу как я работаю с HC12 без отладки и BDM - может просто на мысль натолкнёт. У меня есть отладочная плата с МК, я заливаю туда код через COM порт (прям на плате есть) в виде файла s19. При этом отладки нет. Но, вроде как, для реализации сего в МК зашили прожку для конвертации данных (взял я это из рассуждений, что кроме как через BDM вроде работать нельзя, а я на отладочной плате с COMом работаю и по доке на плату - в МК есть 2К защищённой от стирания/записи памяти). Может чего придумаеш.

 

Встречный вопрос есть - я писал на асме, перешёл на с. Проблема - не хочет "симулировать", т.е. при входе пишет сл.:

no debug information

далее:

error in command file: .\cmd\simulator_postload.cmd

procedure does not exist

Открыл я этот файлик:

// After load the commands written below will be executed

// Show main function at startup

FindProc main

Процедура main у меня ну точно есть.

В чём дело? Может кто подскажет.

ЗЫ: в ассемблере всё было нормально, хотя там с чилого листа всё начинается - вобщем симлятор работате.

Share this post


Link to post
Share on other sites

Спасибо за ответ,но на новые мысли он меня не подтолкнул.Мой вариант заключается в том,чтобы собрать двунаправленный преобразователь параллельный-последовательный код с системой синхронизации относительно протокола BDM (на сколько я смог разобраться в нем по описанию в документации). Подключается все это к LPT порту и организуется полноценный обмен между PC и uPC... при помощи написанного софта конечно.Если я все правильно понял,то тогда можно шить не только HCS08, но ивсе остальное имеющее в своем составе BDC.

На твой вопрос могу сказать следующее: Возможно ты не учел некоторые моменты в С которые обуславливают проведение отладки.Это зависит от компилятора, точнее, правил которые написавший этот компилятор туда вложил.Возможно, что компилирующая программа не работает с этим типом платы-эмулятора... причин множество. Дай чуть больше информации,найдется причина

Share this post


Link to post
Share on other sites

Хм, т.е. ты хочеш собрать свой программатор (типа как универсальный для AVR везде висит)? А чего тогда через LPT. И не лучше ли, если много работать прийдётся купить готовый BDM адаптер (я видел 100 - 500 $ - от самодельных до промышленных предлагают в интернете). Или же надо устройство для каких-то специфических назначений? Вот, к примеру, ссылочки на адаптеры (USB кажись):

http://auto.web55.ru/Manual_HCS12Programmer.htm

http://autotoolss.narod.ru/hcs12start.htm

Там, вроде даже схема есть (по 2-й ссылке).

А может я себе тоже BDM соберу..

 

Да, а касательно своей проблемы - твой ответ на мысль натолкнул:

Я работаю с mc68hc912bc32, а при создании проекта в списке есть лиш устройство mc68hc912b32 (без с). Создаю проект и меняю заголовочные файлы (h и c) на свои. Эти МК, кажись, только наличием CANа отличаются. В Асме то это всё-равно, а в С что-то затачивается под МК. Попробую сегодня эту идею.

Ну тогда вопрос - можно ли в список устройств при создании проекта добавить новый МК, при чём заголовочные файлы в ресурсах для него есть, а в списке почему-то нет.

 

......Нет, мои предположения не подтвердились - всё равно не работает. Даже чистый, только созданный проект так же ругается. В чём же дело?...

Edited by Pomidor

Share this post


Link to post
Share on other sites

Дело в том, что приходится иметь дело не только с 8-и битными контрами. Для каждого типа контроллера покупать девайсик по 100 баков всеравно будет накладно... А тут один девайс под любой контр получается, и под 8 и под 16 и под 32,если у них BDC внутри стоит.

По твоему вопросу следующее: Как правило в компиляторе используется библиотека заточенная под контр. Как она там сделана,времени нет разбираться,хотя и надо бы. Вообще есть у меня предположение, что есть при предкомпиляции опознавание и какая то конфигурация для эмулятора и под именно этот контр,но это только предположение,т.к. внутрь туда я не лазил. Вообще структура эмуляторов выглядит следующим образом -на плате эмулятора ставится контр с полным набором функций этой серии,при эмуляции в этом контре программно,похоже еще в компиляторе,отключаются неиспользуемые функции и устройства и этот полновесный "спрут" эмулирует работу твоего контрика. Так что теперь думай сам,что там может быть...

Результаты сообщи,а то интересно всетаки.

Share this post


Link to post
Share on other sites

По своему вопросу я уже разобрался. Всё дело оказалось в том, что периодически в среде слетают "точечки" под зелёным жучком, т.е. они как бы поставленны, но всё-равно их как бы нет. Теперь просто когда такое происходит нужно "передёрнуть" точечки и пробилдить проект заново.

По твоему - что до сих пор в нете нет готовых универсальных дивайсиков (хотя инфы по мотороловским МК дейсвительно мало)? Не думал, что для 8, 16, 32 битных МК нужны разные адаптеры - непорядочно как-то. Файл для заливки то только чуть отличается, а принципы то одни. К тому же всё постепенно (линейно скажем) развивалось у моторолы - на основе 8 разр сделали 16 и т.д.

Share this post


Link to post
Share on other sites

Да я в инете рылься очень долго и нудно,но ничего путного не нашел. Моторола конечно выпускает хорошие МК,но поддержка по ним просто отвратная! Весь фикус в том,что просто тупого программатора нет нигде,все через эмулятор,а эмулятор -это контроллер. Есть универсальники конечно,шьют и эмулируют несколько семейств,но цена... Единственное,что я смог выяснить, это то, что все BDC в "моторах" имеют одинаковую структуру,систему комманд и разрядность. И для 8 и для 16 и для 32 разрядных МК. Только вот описания точного и подробного нигде нет.

Рад за тебя,что смог решить проблему с компилятором. Теперь дело должно пойти.

Share this post


Link to post
Share on other sites
Весь фикус в том,что просто тупого программатора нет нигде,все через эмулятор,а эмулятор -это контроллер.

Вот откопал т.н. TurboBDM, он open-source, и вроде как применённый там контроллер бутлоадер по RS-232 имеет, пока подробно не смотрел...

Share this post


Link to post
Share on other sites

Спасибо,эта схема есть,уже дуал делать,но остановился,есть сомнения... Честно говоря,мне предложили оставить моторолу и начать работать с другим призводителем. Реально простой интерфейс для программирования,довольно приемлемая поддержка... Думаю... Уже столько сделано и проработано,что бросать сложно и "жадно". Думаю...

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

Прикинул во сколько обойдется покупка 3-х программаторов для 8,16 и 32-х разрядных МК,настроение не лучшее...

Share this post


Link to post
Share on other sites

Поискал готовые программаторы и эмуляторы в интернете,все дороже 160$... это половина моей ЗП! Может кто подскажет реальный вариант программатора для контроллера HCS08? Подходит просто программатор,даже не эмулятор. Достаточно просто схему,плату сделаю сам,с запчастями больших проблем нет.

Share this post


Link to post
Share on other sites

У меня задача попроще - только HC08, программатор скачал, лимитированной по размеру кода версии CW хватит с избытком, скачивается... (Чего там такого напихали - дистрибутив 400 МБ???)

Share this post


Link to post
Share on other sites

Не знаю почему и от чего, но для HCS08 программатор HC08 не подходит,подходит HC(S)12 (это из описаний программаторов и документации моты). Брать схемы без сопровождающего софта, как-то страшно, сам пользуюсь бесплатной версией CodeWare, а в ней есть список подключаемых девайсов,девайсы эти или на сайте продаются по конкретной цене или отсутствуют у наших продавцов. Самый дешевый вариант -USB ML 12 (100$ на сайте, или у перепродавцов 7000 р, что никак не вяжется ни с курсом, ни торговыми наценками). Вариантов работать с Мотороллой очень и очень мало, переделывать проект на другую базу -сложно и дорого,смотря конечно как посмотреть. Стоимость адаптера для прграммирования МК SGS-Tomson по JTAG 1000 р... Напрашивается вывод -на хрен такие проблемы, надо искать дешевую поддержку разработки, что у американских производителей принципиально наоборот...

Share this post


Link to post
Share on other sites
Не знаю почему и от чего, но для HCS08 программатор HC08 не подходит,подходит HC(S)12 (это из описаний программаторов и документации моты).
Спасибо... в принципе, был готов к подобным чудесам. Проблема не в $100 в общем-то, а в конечном результате.

Если (когда) что-то начнёт получаться, сообщу. Похоже, что от этих HC08 не уйти, причин несколько... :(

Share this post


Link to post
Share on other sites

В CW впихнули все библиотеки крнтроллеров на момент обновления программы,программный эмулятор работы (на фига тогда "железный"?),сопряжения всякие и куча доп.дерьма.Ну бог с ним..!У меня задача -на имеющемся HCS08GB60 сделать девайс для обработки сигнала в реальном времени и выдачу информации на определенное устройство.Частота и конфигурация это сделать позволяют,все элементы есть,софт практически написан... Как эту хрень теперь вкинуть в этот гребанный контроллер?

Share this post


Link to post
Share on other sites

Тут другая бяка. CW (ограниченная версия 5.9.0 build 2830) генерально зависает на этапе линковки любого проекта. Забирает себе все ресурсы процессора, закрыть невозможно, убить процесс IDE.exe в диспетчере задач тоже. С чего бы это?

Забил, качаю соответствующий IAR и стучу по дереву...

 

(upd) На домашней машине CW, однако, работает...

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this