STM32 пишется? Ну т. е. вектор прерываний инициализируется, стек и т. д. Начал разбираться потихоньку с стмками, а чет как это работает понять не могу. Да и в даташит с юзермануалом чет потыкался, да и тоже не нашел.
читаешь несколько мануалов о том, как вобще это говно запускается и что хочет для запуска и делаешь, как там написано
Открыть существующий проект и посмотреть стартап файлы?
даже проще - открыть примеры от СТ :)
так я пробовал, там в большей части - берем startup.s, компиляем и радуемся жизни. А как собсно сам этот startup.s пишется не то чтобы ясно
о, а от ст есть примеры? А где?
стартап открыть. найти на Си и на асме. если самому писать, то лучше без асма. щас компиляторы шибко умные.. а так просто понять скрипт линковщика и стартап все. на хабре была статья STM для маленьких там хорошо рассматрен старт если я ничего не путаю
Есть отличная книга https://www.amazon.com/Definitive-Guide-Cortex%C2%AE-M3-Cortex%C2%AE-M4-Processors/dp/0124080820 Там все с самого нуля отлично расписано
Немножко не то. Там про архитектуру
Там все как раз и будет и код на сишечке есть и асме
просто в лоб переписать то я могу, у меня вопросы вызывает почему именно так сделано, а не иначе. Т. е. я вот смотрю в IAR'овский startup для C++, сообразить, почему они сначала вектор для NMI в вектор прерываний кладут, а потом для таймера (например), не могу, ибо сообразить не могу, откуда это тайное знание дернуть. Т. е. сам закодить то я смогу, но мне интересно как это вообще работает. Т. е. вот есть у меня камень, есть к нему даташит и мануал, че дальше вот с этим делать, если совсем кратко.
я пробежался по описанию - вроде похоже на то, что нужно. Спасибо
ну лучше брать что-то народное.. гцц клэнг а не говно типа Кала и Иара (да простят меня их адепты). потом вектора всегда определенные индексы в таблице имеют. сама таблица может иметь разное смещение. по дефолту с начала флэшки. Это как раз у юва будет. если плохо с англ, то есть про cortex-m3 она есть на русском. в АРМах первые 16 векторов всегда фиксированы. дальше идет переферия (у каждого своя) на 0-ом индексе в таблице лежит начало стека. про стартап хз че говорить, там вызов конструкторов и мэйна. и если надо HAL функции перед заходом в мэйн. при выходе вызов деструкторов и пустой цикл ну или все что вам нужно (мол ручками дописываем)
Обсуждают сегодня