ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
21 ноября
827582
Adept (27.03.2018 14:40, просмотров: 39569)
в двух словах прошу "помощи клуба" :) ткните пальцем куды копать? традиционно пишу всё на асме (как правило на основе своей операционной среды с планировщиком, которая обкатана уже на многих проектах, и прекрасно справляется практически со всеми задачами управления периферией и организацией дата-обмена и интерфейсом с юзером. Но вот когда дело касается математики, тут сложнее. До сегодняшнего дня справлялся практически со всеми задачами с помощью целочисленной 32-битной арифметики. Сейчас вот понадобилась сложная математика с синусами, экспонентами и логарифмами. Есть мысль сделать расчётную функцию на Си (когда-то программировал на чистом Си, думаю вспомню быстро), Передавать параметры хочу через общий буфер ОЗУ, забирать результат тоже из общих ячеек ОЗУ. В двух словах - матфункцию скомпилить си-компилятором в самостоятельный модуль, подключить к асм-проекту с размещением по фиксированному адресу во флеше (когда писал на си на компе, линкер такое вполне позволял делать) вызывать из асм-ядра банальным call/icall, результат забирать из фиксированного места в ОЗУ. о формате представления данных - "договоримся" :)) Собственно вопрос: можно ли это в принципе сделать просто и быстро (в рамках ATmelStudio7), какие есть очевидные и неочевидные "грабли", и... может я не очень правильно понимаю задачу и есть более красивое решение (переписать всё на Си не предлагать - слишком сложная система и си-проект затянется с отладкой не менее, чем на полгода :(( Ах да, камень - XMEGA128A3
...делать нужно так, как нужно. А как ненужно - делать не нужно (С) Винни-Пух :)