- Хочу простого - запустить CAN и USB в STM32F103C8. Ноги в этом чипе, слава аллаху, разведены отдельно. Сгенерил "рыбу" в свежем Cube MX. В обработчике прерывания вроде корректно генерится обработка и CAN, и USB. Но в железке вместе не работают - Гудвин(112 знак., 28.01.2016 18:43, ARM, полностью)
- Есть ли способ узнать в программе на Cortex-M (пока интересует CM3) в рантайме, что работаем под дебаггером? - Vit(26.01.2016 14:16, ARM, полностью)
- кикстартеры зажигают. PINE A64, First $15 64-Bit Single Board Super Computer. TimeZoneDefault(90 знак., 08.01.2016 23:01,
, ARM, полностью)
- При запуске проекта в симуляторе "User error: Base address of vector table has incorrect alignment. Vector base addr = 0x00000410" Почему? - VL(23.01.2016 18:55,
, ARM, полностью)
- profiling кто-нибудь делал? Интересует gcc+eclipse, но не только. Dingo(397 знак., 19.01.2016 10:48, ARM, полностью)
- Волею судеб моя работа теперь связана с разработкой на Am335x, а именно разработка под ядра PRUSS. Кто-нибудь связывался с этими ядрами? (у меня плата BeagleBone Black revC). snowSTAFF(231 знак., 22.01.2016 09:21, ARM)
- Свежая бука. Vit(92 знак., 16.01.2016 15:04 - 15:07, ARM, ссылка, полностью)
- Странное поведение STM32F745 shides(1018 знак., 14.01.2016 19:19, ARM, полностью)
- а процессор случайно не сбрасывается периодически? очень на то похоже, как раз время на инициализацию - AVF(15.01.2016 19:59)
- Instruction cache не включаете в стартапе, похоже? Тогда если цикл попадает на 32-байтную границу, он резко замедлится. мимокрокодил(306 знак., 15.01.2016 00:50,
)
- Что то было похожее, не помню на каком STM32F. Пришлось вручную допиливать SetSysClock. - АПМ(15.01.2016 00:45)
- Вставить __ISB(); - Vit(15.01.2016 00:00)
- хе, чот мне кажется, что это всё потому, что порт не напрямую к ядру подключён, а через шину, а шина - через мост. а на мосту - 11 мастеров и 8 слейвов. и какая-то херота на шине получает свой тайм-слот управления. а ещё может быть, что записи по Mahagam(268 знак., 14.01.2016 23:49 - 23:51)
- Попробуйте тот же код разместить в ОЗУ, для исключения влияния контроллера флеша. А потом поиграться включением/выключением кешей. Лень искать - там предсказание переходов отключить можно? - vmp(14.01.2016 20:57)
- Если это из флеша выполняется - там же хитрая схема предвыборки и кеширования. Может зависеть от выравнивания инструкции по границе 256 бит и чего-нибудь ещё. - SciFi(14.01.2016 19:26)
- Импульс длительностью в 5 мкс превращается в 25 мкс. Если бы была задержка или ускорение на 50 - 100 тактов, а то элементарный пустой цикл в итоге задерживается в совокупности на 20 мкс (4000 тактов) как то много... shides(120 знак., 14.01.2016 19:47)
- А нельзя ли взглянуть на исходный код? - SciFi(14.01.2016 20:16)
- Ну, если это сишный код, компилятор может по-разному код сгенерить. Но на 4000 тактов? Загадка природы. Но я всё равно попробовал бы то же самое на ассемблере. - SciFi(14.01.2016 19:53)
- Открывал ассемблерный листинг там придраться не к чему. Ассемблерные вставки компилятор оставляет как есть, меняет только РОН. В отладке тоже пробегает все ровно. shides(146 знак., 14.01.2016 19:56 - 20:02)
- В инициализации действительно всё лишнее принудительно выключаете? - Antimouse(14.01.2016 20:58)
- Совсем спотолочная версия: а там настройка PLL перед этим не происходит? Если да, то не дать ли ему устаканиться? - SciFi(14.01.2016 20:03)
- Настройка тактирования проходит как положено, со всеми ожиданиями. Осциллографом начинаю смотреть на импульсы спустя уже большое (более 1 секунды) время. Даже если сразу не устаканилась, то спустя несколько секунд уже должна бы. - shides(14.01.2016 20:06)
- Подождать полсекунды. На некоторых МК, невзирая на флаг, сигнализирующий о выходе PLL на режим, наблюдал чудеса. Ожидание помогло. Подаю питание- жду- инициализирую PLL- жду- работает. - KLIM83(14.01.2016 20:14 - 20:20)
- Мы, этА, не гордые, ну спилили топик, так спилили :(. Повторим вопрос, тип МК можно озвучить Сказали "А", говорте "Б". P.S, Если чего, так просто интересно, ничего личного. Можно же было как-то по-людски, ну не нравится вопрос, ответить уклончиво, Chum_A(70 знак., 15.01.2016 19:54 - 20:00)
- Не понял о чем вы...? Но на всякий случай повторюсь: shides(908 знак., 15.01.2016 20:20)
- Если по делу, то не приходится ли 5-Й импульс на возврат в начало цикла? Лирика: "Давно баловался с короткой задержкой на Cortex-M3 имеющим ускоритель Flash. Гнилое дело, стабильность не предсказуемая, что удивительно, при запуске кода из ОЗУ Chum_A(106 знак., 15.01.2016 20:33)
- Поясняю, уважаемый KLIM сообщил, что на некоторых МК флаг готовности PLL опережает собственно готовность такового. Я имел неосторожность (и не только из любопытства) поинтересоваться, на каких собственно МК. Упомянутый KLIM, имея звезду Chum_A(96 знак., 15.01.2016 20:25)
- Попробую. Хотя если бы с тактами была проблема, то на протяжении работы всего кода, а то в одном месте есть задержка в пустом цикле в следующем может уже не быть. shides(113 знак., 14.01.2016 20:30 - 15.01.2016 08:35)
- Поможите ленивому! Есть у кого-нить схема китайской платы STM32, как по ссылке? - Сидоргек(15.01.2016 12:24, ARM, ссылка, полностью)
- в списке команд STM32 отсутствует Set Bit? Я нашел только Bit clear. - =L.A.=(09.01.2016 14:31, ARM, полностью)
- IAR 6.40 виснет при нажатии некоторых кнопок =L.A.=(179 знак., 04.01.2016 20:13, ARM, полностью)
- STM32f303 и touch контроллер. Где-то ест ьпримеры как с ним работать и настраивать. - M@RS(10.12.2015 15:52, ARM, полностью)MBedder
- Настройки GPIOx семейства STM32F0xx =L.A.=(3503 знак., 20.12.2015 20:27 - 23.12.2015 09:54, ARM, полностью)General
- эээ Звероящер(1585 знак., 21.12.2015 22:27)
- Еще про работу GPIO =L.A.=(237 знак., 27.12.2015 15:10)
- Смысл в стандартной библиотеке следующий. misyachniy(539 знак., 22.12.2015 19:56)
- Фиг там. Выглядит похоже, но букавки в названиях функций, флагах могут меняться от ядра к ядру. Но я двумя руками за стандартные либы в первую очередь из за читаемости кода. - KT(24.12.2015 16:47)
- Библиотека для STM32F103 менялась на несовместимую минимум дважды. Нуегонах. - LightElf(23.12.2015 16:40)
- Насчет сохранения выводов и функций: надежды ошибочны. Ну а стандартная lib от индейцев выглядит так: =L.A.=(2899 знак., 23.12.2015 09:52)
- Есть огрехи. Но все же я не могу бросить камень за pos = 0x01. Именно за 0х. Прежде всего потому, что, несмотря на унылое имя pos, это скорее mskPos. А маску писать в виде 0х нормально. - Олдфаг(25.12.2015 23:53,
)
- Хм... Bill(188 знак., 23.12.2015 12:25 - 13:54)
- существует и uint8_t :) - =L.A.=(23.12.2015 18:21)
- Да там полный ассемблер головного мозга. Вместо 0 пишут 0x00 (странно, что не 0x00000000, кстати), вместо int пишут uint32_t. Индусы, фуле... - SciFi(23.12.2015 13:57)
- Для основной массы населения программирующей мелкоконтроллеры ваш вариант нечитаемый, а в первом всё понятно без вопросов. Индусы, фуле... - военная суровость(24.12.2015 18:49,
)
- Но ведь int и uint32_t - две большие разницы. Возможно, требуется именно беззнаковый тип. Или нет? - Bill(23.12.2015 16:27)
- (u)int32_t всегда 32-х битное. int - зависит от платформы - 3m(23.12.2015 17:58)
- Для чисел от 0 до 15? Любой тип подойдёт. Но int пишется короче и по сути верно: "целое число". Всё остальное - пардон, задротство и ассемблер головного мозга. SciFi(160 знак., 23.12.2015 16:33 - 16:37)
- я не знаю какой длины у вас там в стмах порты, но с константами и типами нужно быть аккуратнее: abivan(508 знак., 24.12.2015 11:15)
- Думаю, что 1 и 0x01 уже разные вещи. Не зная, что размер 0x01 при использовании не предполагается больше 32, компилятору нельзя корректно ругнуться на выход за пределы при pinpos > 31, а так получится получить ворнинг. Ну и размер регистра часто Vit(182 знак., 24.12.2015 04:56)
- Увы, это не так. 1 сама по себе останется единицей, как ее не запиши. Более того, компилятор всегда преобразует константу к внутреннему представлению, как правило, к 32-разрядному. А далее все зависит то того, как именно эта константа будет Bill(30 знак., 24.12.2015 09:39 - 13:13)
- 1 - знаковая. 0х01 всегда беззнаковая, да ещё и от применения может занимать от 8 до 64 бит. 1.0f - тоже единица, но это совсем не то же:) Поговаривают, что во всяких Бейсиках с динамической типизацией бывает иначе, но мы говорим о языке Си и Vit(22 знак., 24.12.2015 15:35)
- Какой ужас... Говорите, студентов пасёте? Мне их так жалко... - SciFi(24.12.2015 09:44)
- Во-первых, что так? А, во-вторых, я их сейчас вообще не пасу. Да и вообще никогда не пас. Кстати, совсем недавно Bill(161 знак., 24.12.2015 10:18)
- 2) Бедные студенты, совсем некуда податься... 1) Вы им только про язык Си и компиляторы ничего не рассказывайте, ладно? Лучше посоветуйте хорошую книгу. K&R, к примеру. Ну и сами почитайте. - SciFi(24.12.2015 10:25 - 10:29)
- Как раз про это я им ничего не рассказываю. Я просто задаю им вопросы. Скажем, что означает выражение Bill(125 знак., 24.12.2015 13:11 - 16:06)
- студенты это ерунда. люди которые в резюме указывают что делали какие-то проекты заваливаются на самом простом! Mahagam(381 знак., 24.12.2015 13:34)
- Ну вообще-то +0 и -0 типовая ситуация для обратного кода. А уточнили ли вы, что речь именно про дополнительный код? Может у вас там вообще знакоразрядная система. - Lightelf(27.12.2015 23:45)
- Блин. Вот эти штуки, типа чё-то там инвертировать и минус (или плюс?) единица... Вот так прям сходу и не вспомнишь, на таком вот собеседовании. Сидит тут перед тобой такой весь страшный... Барбос(101 знак., 27.12.2015 21:34)
- Вы их проверяете не купили ли они диплом в переходе? военная суровость(28 знак., 24.12.2015 18:44,
)
- Интересно, "Hello World" считается "завершённым проектом"? А вот это "потыкал мышой в куб, оно чота сгенерило, лампочка замигала" - тоже? - SciFi(24.12.2015 13:57)
- Ну, когда-то эти люди тоже были студентами. И вообще, "то ли еще будет ой-ёй-ёй". - Bill(24.12.2015 13:56)
- правильно пишут ((uint32_t)0x01) << pinpos 3m(97 знак., 23.12.2015 17:57)
- Имхо не взлетит. Все угробят синтаксические ошибки которые индусы в описании регистров делают. Придется сидеть и сверять с доками - 1111111(22.12.2015 20:17)
- Чем меньше букв в исходнике тем труднее через пару лет понять о чем шла речь.Помнить наизусть все свои проекты можно если их не более десятка.А когда за сотню перевалило , нереально. - PlainUser(21.12.2015 09:27)
- Тут ить как... Тут ить как попрёт. Барбос(424 знак., 20.12.2015 22:53)
- "Размер кода ..практически одинаков". Гордыня одолела? :) Я и сам что-то подобное делал? Потом, когда не получились с ходу свои функции записи во флэш STM8, взял библиотечные, все завелось, подумал - а на хрена это все? - VL(20.12.2015 21:42,
)
- Пустое это. Пляски вокруг трёх битов. Скучно... - SciFi(20.12.2015 21:24)
- Внимание пользователей EFM32!EFM32 Gemstones Compatibility and Migration Guide--> - General(29.12.2015 14:14, ARM, ссылка, полностью)
- Гы, оказывается, Microchip таки выпускает катролиры с ядром Cortex-M4... Vit(80 знак., 27.12.2015 08:24 - 08:36, ARM, ссылка, ссылка, полностью)General
- Гы, а разве не в курсе, что ST, NXP выпускают вещи на базе MIPS-ядер? Илья(219 знак., 28.12.2015 12:14)
- Я не в курсе. Какие МК выпускает ST на базе MIPS? - Ксения(28.12.2015 22:45)
- Я ничего не имею против MIPS. Но в embedded такой герой пока один - Microchip, и продвижение MIPS у него было связано с противопоставлением ARM. Теперь есть надежда на появление дубовых ARM-МК, которым, как и PIC16, при плевать какой Vit(65 знак., 28.12.2015 15:43)
- Вы все же преувеличиваете. AMD Alchemy были, процессоры и SoC с MIPS-ядрами делают Элвисо, НИИСИ РАН, Atheros, Broadcom, Marvell, Realtek, Ingenic, Ineda, Admtec/Infineon, IDT, Cavium. AlexG(85 знак., 28.12.2015 20:46 - 20:52)
- Байкал ещё - Крок(28.12.2015 18:55)
- Этот MEC1322 у Микрочипа - единственный ARM. Он вроде бы только контроллер клавиатуры, но лиха беда начало. Поддержка его только что появилась в последней версии IAR (7.50.2) => - Ксения(27.12.2015 23:00, ссылка)
- лучше б он гад МПЛАБ=Х не выпускал - Крок(27.12.2015 18:33)
- и даже с ARC 625D 3m(50 знак., 27.12.2015 14:24, ссылка)