Перейти к содержанию
    

XML и микроконтроллер

Посоветует ли кто-нибудь простенький и бесплатный XML парсер для микроконтроллера (AVR, HC12) написанный на С? Смысл затеи в том, чтобы слать в микроконтроллер команды (и принимать их) в каком-нибудь стандартном формате, а не придумывать каждый раз свой формат. Представьте, как было бы удобно, например:

"

<?xml version='1.0' encoding='ISO-8859-1' ?>

<port3>

<id>2

</id>

<command>write

</command>

<value>0xFF

</value>

</port3>

"

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вы только представьте, сколько памяти отъест этот парсер только лишь для того, чтобы распознавать команды. Ведь нужны будут все шаблоны тегов, для того чтобы распознавать их... Мне это кажется очень не экономным. :huh:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Смысл затеи в том, чтобы слать в микроконтроллер команды (и принимать их) в каком-нибудь стандартном формате, а не придумывать каждый раз свой формат.

Если честно, то особого смысла в этой затее не вижу. Не говоря уж о ее расточительности, замечу, что XML - это только разметка, а не формат. Стоит сменить имена тегов - и формат изменится, хоть при этом он и останется XML.

 

Тем не менее, в порядке обсуждения, могу предложить такую идею. Поставьте на свой мелкоконтроллер форт, и заведите в нем слова, соответствующие тегам вашего XML. Форт при этом и будет тем самым парсером. Единственное ограничение - теги надо будет разделять пробелами, т.е. писать

  <port3>
   <command> write  </command>
   <value> 0xFF  </value>
 </port3>

 

Хотя на самом форте, безо всех этих XML-замутнений, то же самое можно было бы записать примерно так:

  0xFF port3 !  

Что гораздо понятнее, имхо... :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Смысл в том, что разрабатыватся некое изделие, аналоги которого уже есть на рынке. И эти аналоги общаются с хостом посредством как раз XML. Через ethernet. Желательно сделать также. ethernet уже сделан.

Вариант " 0xFF port3 ! " рассматривался и уже принят к исполению, но хочется сделать как у людей.

 

А команд у меня будет не так много, как их операндов :) .

 

Какие-то парсеры для встраиваемых систем я нарыл в инете, но они на Java сделаны.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну вот к примеру стандартный вариант обмена с реализацией для однокристалки: интрепретатор Бейсика :-)

 

http://users.cableaz.com/~cappels/dproj/AB/atb.htm

 

Шлешь в микроконтроллер команды Бейсика, он их интрепретирует и выполянет. Ввод-вывод, включая peek/poke и print, там реализован. Работает все это чудо на ATtiny2313.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В бейсике можеш на заднем плане запустить несложныи контроллер что иногда очень полезно. в качестве исходного мбейсик предлагаю.

mbasic.zip

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Готовый XML парсер есть в application note AVR911 AVROSP от Atmel.

Написан на C++, и если применять в среде IAR EWAVR, то и адаптация не слишком сложная.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...