-
- Если уж говнокодить самому, то можно и свой startup изобразить. Чтобы не разбираться с чужим говнокодом. Вы будете смеяться, но это 100 строк или меньше. - SciFi(01.05.2016 12:29)
- Всё заработало. Было, как всегда, всё просто. По привычке в ИАРе проект для плюсов сварганил, ну и сишные и асмовые фиче не работали. Переставил крыжик в компилере на "Си" и всё поехало. Ладно, буду теперь думать как к плюсам прерывания прикрутить. - Звероящер(04.05.2016 13:54)
- Подброшу: VVB(6781 знак., 05.05.2016 12:29 - 15:26)
- extern "C" {} - =AlexD=(04.05.2016 14:33)
- Обработчики прерываний должны быть членами класса... - Звероящер(04.05.2016 15:27)
- Статическими членами класса. Тогда указатели на них можно вставлять прямиком в таблицу векторов. - SciFi(04.05.2016 15:34)
- Cortex позволяет создавать альтернативные таблицы векторов. - misyachniy(04.05.2016 20:46)
- Да. Всё верно. - Звероящер(04.05.2016 15:35)
- Сделай проще. В обработчики прерываний вставь простые Сишные ф-ии, которые уже пусть вызывают методы любых классов, хоть статические, хоть виртуальные, всё равно. - =AlexD=(04.05.2016 15:38)
- Он ведь взял на себя повышенное обязательство - писАть на Цэ++. Теперь голый си даже десятиместровой палкой трогать противно :-) - SciFi(04.05.2016 15:41)
- Ну почему-же. Просто привык как-то так писать... Понятно всё и удобно. Звероящер(6095 знак., 04.05.2016 15:57)
- А каков сакральный смысл писать на си++, если Oman(217 знак., 05.05.2016 09:18)
- Cpp против макроса #define MY_UART(x) UART3##x - VL(05.05.2016 10:58, )
- Брюзжание: за дефиницию MY_ в определении макросов нужно заставлять зубной щеткой драить плац. - Скрипач(05.05.2016 11:01)
- Полностью солидарен! В оригинале вместо MY название блока. - VL(05.05.2016 14:00, )
- За слово "дефиниция" - пожизненный эцих с гвоздями. - SciFi(05.05.2016 11:05)
- "раскрывающая содержание (смысл) имени посредством описания". Что смущает? - Скрипач(05.05.2016 11:09)
- Брюзжание: за дефиницию MY_ в определении макросов нужно заставлять зубной щеткой драить плац. - Скрипач(05.05.2016 11:01)
- Cpp против макроса #define MY_UART(x) UART3##x - VL(05.05.2016 10:58, )
- А каков сакральный смысл писать на си++, если Oman(217 знак., 05.05.2016 09:18)
- А не надо голого Си, extern "C" {} обеспечит совместимость с АСМом статических функций. - =AlexD=(04.05.2016 15:44)
- Ну почему-же. Просто привык как-то так писать... Понятно всё и удобно. Звероящер(6095 знак., 04.05.2016 15:57)
- Он ведь взял на себя повышенное обязательство - писАть на Цэ++. Теперь голый си даже десятиместровой палкой трогать противно :-) - SciFi(04.05.2016 15:41)
- Сделай проще. В обработчики прерываний вставь простые Сишные ф-ии, которые уже пусть вызывают методы любых классов, хоть статические, хоть виртуальные, всё равно. - =AlexD=(04.05.2016 15:38)
- Статическими членами класса. Тогда указатели на них можно вставлять прямиком в таблицу векторов. - SciFi(04.05.2016 15:34)
- Обработчики прерываний должны быть членами класса... - Звероящер(04.05.2016 15:27)
- Всё заработало. Было, как всегда, всё просто. По привычке в ИАРе проект для плюсов сварганил, ну и сишные и асмовые фиче не работали. Переставил крыжик в компилере на "Си" и всё поехало. Ладно, буду теперь думать как к плюсам прерывания прикрутить. - Звероящер(04.05.2016 13:54)
- После такого вопроса возникает только один встречный - ты и**от или притворяешься? Куб тебе генерит полный проект - берешь оттуда что дано и пользуешься. Hives(119 знак., 01.05.2016 05:58, )
- Нахуй - это прямо и потом направо. Проследуйте, пожалуйста - Звероящер(01.05.2016 12:06)
- Похоже что не притворяешься... - Hives(01.05.2016 17:59, )
- И тебе Аллах рад... - Звероящер(01.05.2016 19:03)
- Перевожу, что этот проходящий и мягко скажем не в меру воспитанный хотел сказать, для мелких проектов наверное ты прав, но где куча работы с периферией, стеками и остальной фигней и два пуда кода - зачем велосипед изобретать? Это типа микромягкая Make_Pic(42 знак., 02.05.2016 12:58)
- Вот если честно, то ни разу не видел ни в одном проекте кучи работы с периферией. Весь говнокод сидит наверху и не знает вообще, чо такое периферия. И вот те типы, которые написали куб для СТМ, были такие же говнокодеры верхнего уровня, которые Звероящер(25 знак., 03.05.2016 19:00)
- Но CMSIS придумывали не они, и там стартапы почему-то на асме. - Vit(03.05.2016 19:11, ссылка)
- Стартап для кортекс на асме - это трэш, угар и содомия. Всех расстрелять, адназначна. - SciFi(03.05.2016 19:47)
- Вот нормальный стартап - Крок(04.05.2016 14:54, ссылка)
- Как порой тяжело без бизнес-ангелов. Хотя бы одной дивизии... - Скрипач(04.05.2016 15:02)
- Я для ARM7 писал на асме, и обработчик прерываний тоже. А он там, в отличии от жалких кортексов, достаточно замороченный. fk0(5638 знак., 03.05.2016 21:54)
- :) - Vit(03.05.2016 21:37, youtube)
- Сказал "А", говори "Б" и выкладывай правильный Стартап. - misyachniy(03.05.2016 19:50)
- А мне не жалко: SciFi(734 знак., 03.05.2016 20:02)
- Ну и куда Reset_Handler из таблицы пропал? - misyachniy(03.05.2016 20:13)
- Он в скрипте линкера. Как и адрес верхушки стека. SciFi(120 знак., 03.05.2016 20:15)
- Ну и куда Reset_Handler из таблицы пропал? - misyachniy(03.05.2016 20:13)
- А мне не жалко: SciFi(734 знак., 03.05.2016 20:02)
- Вот нормальный стартап - Крок(04.05.2016 14:54, ссылка)
- Стартап для кортекс на асме - это трэш, угар и содомия. Всех расстрелять, адназначна. - SciFi(03.05.2016 19:47)
- Но CMSIS придумывали не они, и там стартапы почему-то на асме. - Vit(03.05.2016 19:11, ссылка)
- Вот если честно, то ни разу не видел ни в одном проекте кучи работы с периферией. Весь говнокод сидит наверху и не знает вообще, чо такое периферия. И вот те типы, которые написали куб для СТМ, были такие же говнокодеры верхнего уровня, которые Звероящер(25 знак., 03.05.2016 19:00)
- Перевожу, что этот проходящий и мягко скажем не в меру воспитанный хотел сказать, для мелких проектов наверное ты прав, но где куча работы с периферией, стеками и остальной фигней и два пуда кода - зачем велосипед изобретать? Это типа микромягкая Make_Pic(42 знак., 02.05.2016 12:58)
- И тебе Аллах рад... - Звероящер(01.05.2016 19:03)
- Похоже что не притворяешься... - Hives(01.05.2016 17:59, )
- Нахуй - это прямо и потом направо. Проследуйте, пожалуйста - Звероящер(01.05.2016 12:06)
- наверно после __weak void SysTick_Handler( void ) { while (1) {} } надо добавить Vit(97 знак., 01.05.2016 00:04)
- Не. { while (1) {} } - заглушки, чтобы там залипать. - Звероящер(01.05.2016 00:20)
- __weak значит "слабый". функция, описанная таким способом, будет заменена другой с тем же именем, если она без атрибута __weak. - Vit(01.05.2016 00:33)
- Никакого эффекта вообще. Я уже что только не перепробовал. Самое смешное, если закоментить обработчик, то размер кода уменьшается на 4 байта. - Звероящер(01.05.2016 00:42)
- а чем родной стартап, который вроде как на асме, не угодил? - Vit(01.05.2016 00:44)
- А там интересное тоже происходит. Таблица векторов появляется, а вот обработчики - нет. Да и асм как-то некошерно. - Звероящер(01.05.2016 12:32)
- всё-таки extern объявлений функций быть не должно - Vit(01.05.2016 14:43, ссылка)
- Я бы не стал сам писать на на асме, но готовым стартапом от ИАРа не брезгую. И типа всё работает. Только что проверил - когда пишешь свой SysTick_Handler, прерывание попадает в него, а если его закомментировать, но разрешить прерывание по SysTick, йцукен(167 знак., 01.05.2016 14:16, )
- А там интересное тоже происходит. Таблица векторов появляется, а вот обработчики - нет. Да и асм как-то некошерно. - Звероящер(01.05.2016 12:32)
- а чем родной стартап, который вроде как на асме, не угодил? - Vit(01.05.2016 00:44)
- Никакого эффекта вообще. Я уже что только не перепробовал. Самое смешное, если закоментить обработчик, то размер кода уменьшается на 4 байта. - Звероящер(01.05.2016 00:42)
- __weak значит "слабый". функция, описанная таким способом, будет заменена другой с тем же именем, если она без атрибута __weak. - Vit(01.05.2016 00:33)
- Не. { while (1) {} } - заглушки, чтобы там залипать. - Звероящер(01.05.2016 00:20)
- Если уж говнокодить самому, то можно и свой startup изобразить. Чтобы не разбираться с чужим говнокодом. Вы будете смеяться, но это 100 строк или меньше. - SciFi(01.05.2016 12:29)