|
MSP430: простенький ассемблер под Линукс, Скажите свое мнение |
|
|
|
Aug 4 2011, 06:59
|

Знающий
   
Группа: Свой
Сообщений: 723
Регистрация: 29-08-05
Из: Березовский
Пользователь №: 8 065

|
По жизни часто бывает так, что нужно создать сверхмалопотребляющий девайсик с потреблением несколько единиц-десятков микроампер. (А не поднять средней тяжести проект с потреблением в несколько миллиампер и более.)
В таких случаях я беру MSP430, а софт стугаю на асме. Си в таких микро-проектах явно избыточен. До этого момента я делал все в IAR-е под Вендой, так как он, в отличие от msp430-gcc, позволяет легко создавать небольшие асмовские проекты. Но это крайне неудобно. Мне хотелось бы пилить свои проекты под Линем. Поэтому, я присоседился к naken430asm-у.
Он работает нормально. Точнее, там не работать нечему! Однако у naken-а есть небольшая проблемка. Состоит она в том, что он почти голый. В нем имеются описания всего лишь трех или четырех процов. (Как раз тех, которые мне не нужны!) Поэтому я сразу же написал файлик для своего проца. А пока писал, понял, что автор делает не совсем правильно. Нужно было систему .inc-файлов разбить на модули, а потом из этих модулей набирать конфигурацию для конкретных процов. Я переделал эту систему .inc-фалов на новый лад и получил положительный результат.
Теперь надо ее продолжать развивать. Примерно половину работы по модулям я уже сделал. Надо описать еще недостающих 5-7 модулей типа ЦАП и АЦП. И надо написать .inc-файлы для других моделей MSP430, на основе этих модулей. Ну и желательно поиграться, проверить в на реальном железе.
Нужна помощь сообщества в наборе этих файлов. Нужна помощь экспертов, хорошо знающих MSP430.
Подскажите, что делать?
--------------------
Хочешь рассмешить Бога -- расскажи ему о своих планах!
|
|
|
|
|
 |
Ответов
(1 - 8)
|
Aug 4 2011, 07:52
|

Беспросветный оптимист
     
Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646

|
Что-то я не понимаю... А готовые .h файлы с описаниями всех семейств и контроллеров почему бы не применить? И mspgcc, пусть даже только ассемблер (и линкер, естественно) Зачем делать пустую и бесполезную работу? Кстати, попробуйте запустить IAR под Wine-ом. У меня он по крайней мере устанавливался, работоспособность не проверял. (главное, чтобы менеджер лицензий не брыкался) Не совсем понял про mspgcc: почему он не позволяет создавать asm-проекты? [полуофф] Насчёт ассемблера есть ещё одна интересная идея - использовать forth в качестве мета-макроассемблера. На сомОм форте строится ассемблер (в обратной польской нотации  ), на основании этого ассемблера строятся очередные примитивы форта, а дальше идёт абстракция любого уровня высоты, ширины и сложности. Я пару-тройку лет назад увлекся, но серые будни и рутина взяли верх... Но вирус форта навсегда поселился в мозгу  Попытался сейчас отыскать ту тему, но не смог  Может, она в офтопе была? Скорее всего... Порылся в закромах, вот, откопал статейку.
_________________________________1.pdf ( 90.44 килобайт )
Кол-во скачиваний: 827
--------------------
Программирование делится на системное и бессистемное. ©Моё :) — а для кого-то БГ — это Bill Gilbert =)
|
|
|
|
|
Aug 4 2011, 09:11
|

Знающий
   
Группа: Свой
Сообщений: 723
Регистрация: 29-08-05
Из: Березовский
Пользователь №: 8 065

|
Цитата(MrYuran @ Aug 4 2011, 13:52)  Что-то я не понимаю... А готовые .h файлы с описаниями всех семейств и контроллеров почему бы не применить? Потому что у них другой формат, потому что в них много "мусора", потому что они большие и длинные -- сложно сразу схватить что там понаписано и для чего. Да, много причин... Цитата(MrYuran @ Aug 4 2011, 13:52)  И mspgcc, пусть даже только ассемблер (и линкер, естественно) msp430-gcc -- относительно большая сложная система, которая поддерживает много-много-многофайловые проекты. Такая мощь не нужна. Тем более, лично я не смог продраться через чисто ассемблерные проекты. Я не смог легко создать ассемблерный проект и получить код, как я это бы сделал в том же IAR-е. Мне нужно просто, на коленке, написать исходник из сотни-другой ассеблерных команд и откомпилировать его сразу в HEX, ни с чем больше не линкуя. Ну может я должен сказать так, чтобы точнее донести свою мысль -- мне не нужен квантовый молоток с регулируемой силой удара и лазерным наведением чтобы забить гвоздь в сельском сортире. Цитата(MrYuran @ Aug 4 2011, 13:52)  Зачем делать пустую и бесполезную работу? Сколько людей, столько и мнений. Спасибо за Ваше мнение. Ответ подсказал Хабр: Вам должно нравиться то, что вы делаете, иначе вы зря тратите свое время.Цитата(MrYuran @ Aug 4 2011, 13:52)  Кстати, попробуйте запустить IAR под Wine-ом. Не решение. IAR сам по себе тяжел. И если мне нужно работать с большими проектами, я использую msp430-gcc, который такой же тяжелый. Но мне нужен легкий и простой инструмент. В общем то, инструмент уже есть и работает. Его нужно только "насытить" заголовочными файлами. Цитата(MrYuran @ Aug 4 2011, 13:52)  Не совсем понял про mspgcc: почему он не позволяет создавать asm-проекты? Мне не удалось это сделать легко и просто. С-шные проекты на нем стругать -- это, да. Без вопросов. Легко и просто. Как в IAR-е. Но проекты из одного файла и сразу в HEX -- у меня почему-то не получается. Спасибо за Ваше мнение!
--------------------
Хочешь рассмешить Бога -- расскажи ему о своих планах!
|
|
|
|
|
Aug 8 2011, 13:52
|

Знающий
   
Группа: Свой
Сообщений: 723
Регистрация: 29-08-05
Из: Березовский
Пользователь №: 8 065

|
Цитата(Сергей Борщ @ Aug 8 2011, 15:03)  А какая разница что там в промежутке от исходника до HEX? Прекрасно там получались асмовые проекты. Легко и непринужденно. Вероятнее всего что-то вы упустили. Если есть желание - разберемся. Ну компилит он сначала в объектник, потом линкует, потом гененрит HEX. Не нравится? Добавьте в makefile стирание объектников после генерации HEX  Да мне, собственно, безразницы, что там в промежутке с кодом происходит. Я не смог найди, информацию по ассемблерным директивам для MSP430. Или хотя бы какой-нибудь проектик для примера. Промаялся я так пару дней, а потом вдруг наскочил на сайт Михайло Кона. Загрузил, собрал, установил, попробовал -- и все сразу же получилось. Делов-то -- всего на 15 минут! Может где-то дока есть какая? Что-нибудь бы почитать. Желание разобраться с gcc, как на нем писать чистые ассемблерные проекты, конечно, есть.
--------------------
Хочешь рассмешить Бога -- расскажи ему о своих планах!
|
|
|
|
|
Aug 9 2011, 04:22
|

Местный
  
Группа: Участник
Сообщений: 340
Регистрация: 25-10-05
Из: Пермь, Россия
Пользователь №: 10 091

|
Цитата(zhevak @ Aug 8 2011, 18:52)  Я не смог найди, информацию по ассемблерным директивам для MSP430. http://sourceware.org/binutils/docs/as/MSP...0_002dDependentЦитата(zhevak @ Aug 8 2011, 18:52)  Может где-то дока есть какая? Что-нибудь бы почитать. Желание разобраться с gcc, как на нем писать чистые ассемблерные проекты, конечно, есть. Дока по ассемблеру есть там, где и должна быть - на "родном" сайте. На www.gnu.org есть все нужные ссылки... И еще непонятно, зачем Вам разбираться с GCC, если Вы собираетесь писать на "чистом" ассемблере. GCC - это только компиляторы с языков высокого уровня. Если Вы пишете только на ассемблере, они Вам не нужны, и разбираться с ними незачем. Вам нужно разобраться с ассемблером, линкером и еще парой-тройкой вспомогательных утилит, входящих в пакет GNU binutils. http://sourceware.org/binutils/
Сообщение отредактировал alx2 - Aug 9 2011, 04:26
--------------------
Всего наилучшего, Alex Mogilnikov
|
|
|
|
|
Aug 9 2011, 14:05
|

Знающий
   
Группа: Свой
Сообщений: 723
Регистрация: 29-08-05
Из: Березовский
Пользователь №: 8 065

|
alx2 -- спасибо за ссылки. Я их видел. Давненько правда, полгода-год назад, когда собирал тулчейн для АРМ-ов... Сейчас еще раз заглянул. Ну да, можно загрузить бинутилс, сконфигурировать его на MSP430, собрать и установить. Только этот путь мне кажется несколько более длинным, чем установка ассемблера Михаила Кона. Он, конечно, он более академический, чем самопальный ассемблер какого-то Мишки из Сент-Луиса... но... но...
Мне надо-то -- всего-то отассемблировать файл в 200 строк, и получить на выходе HEX. Установить Мишкин ассемблер и откомпилировать, получилось быстрее и проще, чем продираться через gas.
У меня всего несколько проектов на ассемблере MSP430. ("Проектов" -- в смысле, в контексте среды разработки.) Они отличаются друг от друга незначительно, так как предназначены для разных модификаций конечного изделия. Да и не развиваются они совсем. И перспективы, что замутим новое изделие снова на MSP430, как-то тоже нет. В общем, решил я задачу пока по-рабоче-крестьянски. Мне надо было слезть с Венды и IAR-а. Я слез -- а это главное! Теперь можно и академически подумать, ну в смысле поиграться с gas.
Попробуйте нагуглить "msp430 assembler", и Вы увидите, что gnu assembler даже на первой странице. Наверно это меня и увело от gas для gnu.
А за ссылки еще раз спасибо! Реально помогли. Просто почему-то глаз упорно за них не хотел цепляться.
--------------------
Хочешь рассмешить Бога -- расскажи ему о своих планах!
|
|
|
|
|
Oct 22 2011, 06:54
|
Знающий
   
Группа: Участник
Сообщений: 598
Регистрация: 22-08-05
Пользователь №: 7 861

|
Цитата(MrYuran @ Aug 4 2011, 11:52)  [полуофф] Насчёт ассемблера есть ещё одна интересная идея - использовать forth в качестве мета-макроассемблера. На сомОм форте строится ассемблер (в обратной польской нотации  ), на основании этого ассемблера строятся очередные примитивы форта, а дальше идёт абстракция любого уровня высоты, ширины и сложности. Я пару-тройку лет назад увлекся, но серые будни и рутина взяли верх... Но вирус форта навсегда поселился в мозгу  Попытался сейчас отыскать ту тему, но не смог  Может, она в офтопе была? Скорее всего... этот топик? <a href="http://electronix.ru/forum/lofiversion/index.php/t61758.html" target="_blank">http://electronix.ru/forum/lofiversion/index.php/t61758.html</a> А вот бы на Forth написать ... Цитата(MrYuran @ Aug 4 2011, 11:52)  Порылся в закромах, вот, откопал статейку.
_________________________________1.pdf ( 90.44 килобайт )
Кол-во скачиваний: 827отсюда forum.cqham.ru/viewtopic.php?t=16006 P.S. При интересе к данной тематике, могу доработать ff303 для использования Форта для MSP430 как это было сделано для PDP-11 (похож на MSP430) http://forth.org.ru/~kp или помогу посильной помощью  Ассемблер может быть и в обычной нотации. Удачи!
Сообщение отредактировал Kopa - Oct 22 2011, 10:45
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|