ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Понедельник
25 ноября
47485 Топик полностью
Алексей Мусин (27.12.2005 11:52, просмотров: 1) ответил Iwan на Почему разочаровывать? Я не очаровывался. Даже сам писал.
Потому что в асме это стандартизовано? :) Чем вам не нравится подход в разделении проекта на 2 части: target и indep. Мы даже в target части пишем на Си. Да, для другой платформы надо переписывать файлы в target, но это всяко меньше половины проекта, т.к. основная функциональность - в indep. Ну и пример напоследок. Коллега написал "драйвер": 2 UART'а, реализованных на capture/compare фукнциях 2 таймеров на асме. Код безумно красив (один большой макрос и 2 вызова, натравливающих макрос на каждый таймер), хорошо документирован и использует аппаратные фичи ядра (резервирование 2 банков регистров, речь про F2MC-16LX). Все это можно было написать на Си, с оверхедом на хранение переменных FSM. Но в один прекрасный момент производитель добавил фичу - добавил еще один тип calling conventions. До этого параметры передавались через стек, а теперь можно и через регистры, что убыстряет программу. Напиши коллега "драйвер" на Си, мы бы просто перекомпилировали его и все. Сейчас же надо отводить время на его доводку под новое оглашение о вызовах.