[an error occurred while processing this directive]
|
Я работаю с TMS320c5472. Там на одном кристалле два ядра. Эти два процессора могут общаться через API модуль - т.е. общую память. Но у меня одно ядро (ARM), почему-то ну никак не хотело ни писать ни читать в отведенную область. Я уже до дыр засмотрел мануал, но...
Смущало одно, что этот треклятый ARM не просто не желел лезть в API память, а не желал туда лезть НЕСТАБИЛЬНО. Объясняю для нормальных людей - т.е. обычно, он работать с API не желал, но иногда работал нормально. Путем сложных логических заключений недоступных простым смертным я пришел к выводу, что где-то существует выпадающий из моего внимания бит, который надо правильно установить. Но где?
Дальше начались редкостные извращения. Я не смог придумать ничего лучше как несколько суток подряд вкючать и выключать свой борд (естественно с перегрузкой CCS), чтобы отловить момент когда API станет вдруг доступной для ARM. А потом в один счастливый момент переписал от руки содержимое ВСЕХ контрольных регистров. Ну и дальше меняя значения нашел тот, который и был ответственен да эти безобразия. Он управлял тактовым генератором (PLL). Откинувшись на спинку кресла, я поблагодарил Господа, что настраиваю какой-то вшивый TMS, а не Пень 4.
Один только вопрос не дает теперь мне покоя - ну почему бы в мануале в разделе посвященном API Техасу не написать, что твой API ни хрена не будет роботать, если ты не настроишь тактовый генератор? Ведь эта хрень не устанавливается по ресету туда куда надо и вообще к API имеет какое-то не очень внятное отношение?
E-mail: info@telesys.ru