Около года назад вооружился платкой DE0-nano-SOC с cortex-a9 на борту. С тех пор при не особо резвом курении платки удалось помигать светодиодом на HPS, потестить периферию.
В процессе курения у меня вылезла куча вопросов, аля:
- Линукс, работа в нем, его сборка и прочее
- Компиляторы, линковщики и прочие утилиты которые я знаю только по названию и тому, зачем они нужны
- Make файлы, scatter файлы и прочие файлы, необходимые для сборки чего-либо.
- Процесс создания ПО на такого рода ядра (cortex-axx) в большинстве случаев выглядит как "скачиваем -> make -> заливаем бинарник на флешку -> вуаля, линукс забутился". Не совсем ясен процесс создания например чистого baremetal приложения (с помощью него я уже помигал светиком, но за основу брался GoldRef) с нуля.
- Заливку бинарника на флешку, файловые системы, благо более менее понял.
- Какое-то время назад узнал, что, например андроид можно собрать только под линуксом - непонятно почему.
В общем есть большая пропасть, а вместе с ней есть вопрос - есть ли какая-то общая точка входа по изучению этих вопросов (полагаю все крутится именно вокруг самого линкуса)? Или какого-то общего описания нету и придется все по кусочкам изучать?
Спасибо.