_Pasha 0 13 октября, 2015 Опубликовано 13 октября, 2015 · Жалоба 1 черт, навскидку не смог заставить его работать. В какой папке надо быть, чтоб сработал make -n? 1. make должен быть у Вас в путях 2. запускать там, где находится Makefile Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
drozel 0 14 октября, 2015 Опубликовано 14 октября, 2015 (изменено) · Жалоба это вы не соглашались что через регистры было бы быстрее:)? Ну так это я раз делаю, а в регистры писать постоянно надо Ну конечно, я было подумал, что все соберется) Я же правильно понимаю, что вот это #define IRQ_HANDLERS \ [NVIC_NVIC_WWDG_IRQ] = nvic_wwdg_isr, \ [NVIC_PVD_IRQ] = pvd_isr, \ [NVIC_TAMP_STAMP_IRQ] = tamp_stamp_isr, \ инициализация массива с явным указанием индексов? Не могу найти определения этих индексов. По идее, где-то должен быть файл примерно такого содержания: #define NVIC_NVIC_WWDG_IRQ 0 #define NVIC_PVD_IRQ 1 Но я его не вижу. Опять генерация скриптом? Так я даже в скриптах подобного текста не вижу. -- upd: нагуглил файл, зовется nvic_f4.h Но в репе его опять нет. Не, ну после таких либ я уже не так плохо отношусь к желанию писать в регистры :biggrin: Еще вопрос: #pragma weak dma2d_isr = blocking_handler где dma2d_isr потом используется в качестве адреса для заполнения таблицы векторов, а blocking_handler - void функция - это спецификация си или опять какой то прибамбас GCC? Ибо IAR ругается на неопределенный dma2d_isr, а я бы сделал так: __weak dma2d_isr(void) { blocking_handler();}; хотя, конечно, этот вариант красивее, но не компилится Изменено 14 октября, 2015 пользователем drozel Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
esaulenka 7 15 октября, 2015 Опубликовано 15 октября, 2015 · Жалоба Еще вопрос: #pragma weak dma2d_isr = blocking_handler где dma2d_isr потом используется в качестве адреса для заполнения таблицы векторов, а blocking_handler - void функция - это спецификация си или опять какой то прибамбас GCC? Ибо IAR ругается на неопределенный dma2d_isr Это gcc'шная штука: https://gcc.gnu.org/onlinedocs/gcc/Weak-Pragmas.html Удобно, но, к сожалению, не совместимо со стандартными компиляторами. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Eddy_Em 2 15 октября, 2015 Опубликовано 15 октября, 2015 · Жалоба не совместимо со стандартными компиляторами. Единственный стандартный компилятор — gcc, остальное — говно стороннее! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
drozel 0 15 октября, 2015 Опубликовано 15 октября, 2015 · Жалоба Это gcc'шная штука: Как ни странно, удалось заставить работать, помогли в соседнем топике __weak void dma2d_isr(void); #pragma weak dma2d_isr = blocking_handler Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
drozel 0 21 октября, 2015 Опубликовано 21 октября, 2015 · Жалоба Подскажите, к чему относится дефайн __ARM_ARCH_7M__? Вроде написано CM3 or CM4, т.е. для STM32F407 надо дефайнить? /* Those are defined only on CM3 or CM4 */ #if defined(__ARM_ARCH_7M__) || defined(__ARM_ARCH_7EM__) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 53 21 октября, 2015 Опубликовано 21 октября, 2015 · Жалоба Единственный стандартный компилятор — gcc, остальное — говно стороннее! Ой, ой, ой Для меня, например, IAR - стандартный компилятор, а gcc - видел я в одном месте...Сколько времени убил на портирование gccшной писанины на иар... Давайте оставим личные религиозные высказывания такого рода при себе :laughing: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_Pasha 0 21 октября, 2015 Опубликовано 21 октября, 2015 · Жалоба Ой, ой, ой Для меня, например, IAR - стандартный компилятор Ві наверное очень богатій человек... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 53 21 октября, 2015 Опубликовано 21 октября, 2015 · Жалоба Ві наверное очень богатій человек... К сожалению нет, а может, к счастью Но инструмент должен быть удобный, а это и есть инструмент для программиста. Сначала пользовал с таблЭтками, потом купили на фирму. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_Pasha 0 21 октября, 2015 Опубликовано 21 октября, 2015 · Жалоба Сначала пользовал с таблЭтками, потом купили на фирму. ну, они для этого утечки и делают, чтобы люди учились работать на их инструментах. тоже понять можно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Eddy_Em 2 21 октября, 2015 Опубликовано 21 октября, 2015 · Жалоба Для меня, например, IAR - стандартный компилятор, а gcc - видел я в одном месте... Ох уж эти вендузятники... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 53 21 октября, 2015 Опубликовано 21 октября, 2015 · Жалоба Ох уж эти вендузятники... Да, да! Именно Работать надо, используя те программы, которые характеризуются удобством, а не бесплатностью :rolleyes: ЗЫ. Сори за оффтоп. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AHTOXA 18 22 октября, 2015 Опубликовано 22 октября, 2015 · Жалоба Подскажите, к чему относится дефайн __ARM_ARCH_7M__? Вроде написано CM3 or CM4, т.е. для STM32F407 надо дефайнить? Его не надо определять. Надо определить -mcpu (и -mfpu). В зависимости от них компилятор сам выведет __ARM_ARCH_xxx. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
drozel 0 22 октября, 2015 Опубликовано 22 октября, 2015 · Жалоба Его не надо определять. Надо определить -mcpu (и -mfpu). В зависимости от них компилятор сам выведет __ARM_ARCH_xxx. Это определяется директивами препроцессора или опять фишка GCC? (У меня тоже IAR=) = Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AHTOXA 18 22 октября, 2015 Опубликовано 22 октября, 2015 · Жалоба Эти определения специфичны для gcc. У IAR, вероятно, есть свои ключи для определения архитектуры. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться