Страница 1 из 1
IAR компилятор, обработчик прерывания
Добавлено: Пн авг 19, 2013 14:15:24
Open
Здравствуйте! Начинаю писать под Stm32Fxx, используя IAR.
void EXTI0_IRQHandler (void) {}
Подскажите пожалуйста как компилятор понимает, что описанная выше функция(из предыдущей темы), является обработчиком прерывания и ссылку на нее надо поместить в таблицу векторов. И если это зашито у него в кишках то как узнать, что надо написать, например, для обработчик прерывания USB FS?
PS. Ручками в таблицу векторов писать как то криво. тем более с моделью вызова аппаратного прерывания толком не ознакомлен(как корректно из прерывания выходить).
Re: IAR компилятор, обработчик прерывания
Добавлено: Пн авг 19, 2013 14:39:43
Neekeetos
Open писал(а):Здравствуйте! Начинаю писать под Stm32Fxx, используя IAR.
void EXTI0_IRQHandler (void) {}
Подскажите пожалуйста как компилятор понимает, что описанная выше функция(из предыдущей темы), является обработчиком прерывания и ссылку на нее надо поместить в таблицу векторов. И если это зашито у него в кишках то как узнать, что надо написать, например, для обработчик прерывания USB FS?
Все обработчики прерываний уже заранее определены, для иар это файлик вида startup_stm32f(ххх).s , какой именно зависит от выбранного мк. Поэтому надо просто найти данный файл, посмотреть имя обработчика, соответствующего usb, и написать свой вместо дефолтного.
Re: IAR компилятор, обработчик прерывания
Добавлено: Пн авг 19, 2013 15:09:44
ut1wpr
Neekeetos писал(а):Все обработчики прерываний уже заранее определены, для иар это файлик вида startup_stm32f(ххх).s , какой именно зависит от выбранного мк. Поэтому надо просто найти данный файл, посмотреть имя обработчика, соответствующего usb, и написать свой вместо дефолтного.
Всё написано до нас. Для работы с USB есть usb stack от ST. Достаточно правильно имплементировать его в свою задачу.
А для ТС отдельная рекомендация. Подтянуться по тем вопросам, в незнании которых он сам признался в начальном посте. Мнекаэтся, рановато без этих знаний браться за usb-решения.
Re: IAR компилятор, обработчик прерывания
Добавлено: Пн авг 19, 2013 16:10:07
Open
Большое спасибо! Все срослось!
Естественно написано! Но читать то мы пока не научились

как по мне так проще на жестком асме писать, или плис программировать, чем думать что и как компилятор имплементит. Но это все до поры до времени, пока инструмент не освоишь (в си я соответственно тоже новичок и все эти *.s и что с ними и как вытворяет компилятор для меня пока темный лес

).
Re: IAR компилятор, обработчик прерывания
Добавлено: Пн авг 19, 2013 18:50:04
sx386
Библиотеки типа stdperiph приводят к тому, что программист не понимает сути процесса.
Программист, начиная изучать по примерам не изучает сам принцип работы, струкрур данных и т.д.
Хотя не спорю, в ней есть хорошие и нужные функции.
Но как можно было додуматься переименовывать названия регистров ? А главное зачем ?
Re: IAR компилятор, обработчик прерывания
Добавлено: Пн авг 19, 2013 20:11:47
Myp3ik
sx386, вы вообще во внуть этих функций заглядывали ?
Re: IAR компилятор, обработчик прерывания
Добавлено: Вт авг 20, 2013 20:33:35
ut1wpr
sx386 писал(а):Библиотеки типа stdperiph приводят к тому, что программист не понимает сути процесса.
Программист, начиная изучать по примерам не изучает сам принцип работы, струкрур данных и т.д.
Хотя не спорю, в ней есть хорошие и нужные функции.
Но как можно было додуматься переименовывать названия регистров ? А главное зачем ?
Для программиста "суть процесса" - написание программы. Он не сталевар. Принцип работы ЧЕГО должен изучать программист? Компилятора? У них у всех одинаковый принцип - строки программы превратить в код, понятный выбранному процессору или МК.
Правильный программист, приступая к написанию программ уже ОБЯЗАН знать и понимать и типы данных, и понятия структур, объединений, перечислителей и многое другое. Если он только начинает это изучать - ему до программиста...
О библиотеках много было перетерто. До их применения нужно дорасти. Умение писать программы без обращения к либам подразумевается по умолчанию. А вот время написания самой программы, скорейший выход готового продукта - тут без либ ну никак. Ваше обвинение в "непонимании сути процесса" разбивается об один вопрос - "а вы четко понимаете и представляете себе, ЧТО делается при исполнении функции printf из известной либы clib stdlib?" Тем не менее все ее используют, благо ресурсы современных средств позволяют и не такие функции вызывать.
Re: IAR компилятор, обработчик прерывания
Добавлено: Вт авг 20, 2013 20:37:50
ut1wpr
Open писал(а):Большое спасибо! Все срослось!
Естественно написано! Но читать то мы пока не научились
как по мне так проще на жестком асме писать, или плис программировать, чем думать что и как компилятор имплементит. Но это все до поры до времени, пока инструмент не освоишь (в си я соответственно тоже новичок и все эти *.s и что с ними и как вытворяет компилятор для меня пока темный лес

).
Ню-ню... Видали мы таких лихачей, прыгающих на АСМ 32-битного ядра с атмела или пика.

Да и то, смотря с какого пика. В настоящее время на АСМах можно ваять лишь отдельные вставки, да и то, процедура эта для современных на порядо сложнее, по сравнению с теми же аврами. Впрочем, время и покажет и научит.
Re: IAR компилятор, обработчик прерывания
Добавлено: Вт авг 20, 2013 22:32:11
Open
С Уважением, уважаемый ut1wpr. Когда то давно, когда еще интересно было... К Специалисту(может кто еще помнит железяку на КР580... ) писался самопальный асм с линковщиком+оболочка аля турбовижен (с мышкой и ctrl+c/ctrlv естественно), подключалась внешняя память ибо 64 кб(озу+врам+озу) как то маловато и линковалось с касеты... Джедайство было то еще. А сейчас... 1 дешевый кристалл и вся периферия к нему... какое тут лихачество... кури мануалы и делов.
и кстати
ut1wpr писал(а):на АСМах можно ваять лишь отдельные вставки
руки видимо скоро рудиментом станут.
Прошу прощения, что ведусь
