Сейчас сижу и тихо мирно разбираюсь с новыми макетиками, чтобы по осени на них ставить лабы по мипсам. Казалось бы, обычный MIPS внутри, what could possibly go wrong?
Но это же микрочип!
Итак, по дефолту с чипкитом предлагают изать mpide. То есть кривейшая ардуйна на адовых костылях. Ну да ладно, ясное дело, что ардуйна не пройдет, так как рассказывать надо будет ассемблер в том числе, но тем не менее поставил потыкал. Ниже излагаю весь треш, ад и содомию, которые я встретил.
* Для работы mpide требудется тулчейн для avr. Оказывается где-то в недрах захардкожено использование avr-size для определения размера скетча или еще чего-то.
* Для прошивки борд используется.... па ра па па пам... avrdude. В бут секцию зашит stk500v2-совместимый загрузчик, но дудке надо скармливать отдельный конфиг где описаны все эти параметры. Маркетологи микрочипа плачут кровавыми слезами.
* Сброс по DTR как на arduino-лайк бордах при указании -c arduno avrdude не работает, надо шаманить с stty и отправлять hup, на что сделан отдельный скрипт. Который судя по отзывам косячит в маке, и не работает в винде. Кроссплатформенно!
* Тулчейн. Отдельная история. Тут микрочип отжег просто напальмом. Платный (sic!) xc32 компилятор - ничто иное, как gcc в который добавили... менеджер лицензий! -Os в бесплатной версии нет.
При этом насколько понял исходники xc32 в соответствии с GPL есть, и если пересобрать его ручками требуху c лицензией можно выпилить и по ходу при этом даже не нарушить лицензии. Сырцов переферийных либ пока правда не видел - линкуются блобиком через ключик -mperipheral-libs. Банальненько.
При этом для самопальной сборки надо пройти квест по копипастингу кусков из собранного xc32, gdb собрать при этом так никому и не удалось.
* Примеров проекта с обычным мейкфайлом нет, только какой-то НЁХ на кучу строк собирающий библиотеки дурки из командной строки, который к тому же еще и не работае толком.
* Да и вообще вменяемых материалов по сборке даже меньше, чем на работе, когда наш чип только только с завода приехал.