А я с этим бустом разобрался. В штатном режиме ядро работает от напряжения 1.2 вольта. Производитель рекомендует это напряжение вплоть до частоты 150 МГц. Буст - это питание ядра от 1.28 вольта. Я удивлён, как такая малая прибавка в напряжении питания позволяет так далеко прыгнуть по частоте. Добавлено: Sat Jul 29, 2023 9:18 pm |
Научился я таки прошивать всякие 89с1051 и 2051, теперь вопрос - где получше описаны регистры управления, а то выход у меня получился с открытым коллектором, порт Р1. Или он так и должен быть? Добавлено: Mon Jul 31, 2023 7:39 pm |
Есть задача: написать для компа гуёвую прогу, которая будет считывать eeprom у подключенной с помощью программатора avr-ки, изменять и записывать обратно. Вопрос: есть ли какие-то библиотеки, чтобы использовать функции avrdude прямо внутри своей проги? Или придётся тупо вызывать exe-шник avrdude? Добавлено: Sat Aug 05, 2023 11:57 pm |
Оболочка AVRDUDEPROG и Ардуино формируют строку и вызывают exeшник. Добавлено: Sun Aug 06, 2023 6:28 am |
Vcoder писал(а): Или придётся тупо вызывать exe-шник avrdude? Почему тупо то? Unix-style. Конвеер жеж. Добавлено: Sun Aug 06, 2023 8:12 am |
Столкнулся с интересным явлением - новые китайские USBasp не шьют меги у которых со старта не генерит кварцевый генератор(с исправной цепью кварца), "новая" прошивка 2011-05-28 ничего не меняет, 2 старых шьют, прошивку слитую со старого идентифицировать не удалось, залив ее на новый - новый стал шить такие МК. Добавлено: Thu Aug 24, 2023 9:03 pm |
Прошу помощи! Кто нибудь сталкивался с irmck341 и им подобными? https://www.infineon.com/dgdl/irmck341.pdf?fileI...401535672ce66275e https://www.infineon.com/cms/en/product/power/mo...egrated/irmck341/ это микроконтроллер для управление мотором, который стоит в кондейной плате, после грозы пробило силовую, МК тоже задело, но видимо ту часть которая управляет силовухой (микруха греется как не в себя, жрет как не в себя но внутреннюю прогу вроде как отрабатывает, по крайней мере щелкает релющку моргает светодиодом), собственно на плате поменял всю силовую и все что пробило, в том числе этот МК, думал он считывает прошивку с имеющийся на плате флешки, но как оказалось во флешке лежат только настройки и соответственно он чистый и пустой. Собственно вопросы следующие 1. возможно ли считать прошивку с этого МК? если нет то вопрос закрыт, если да то следующие вопросы. 2. как и чем слить/залить прошивку, у МК есть JTAG, i2c, UART (есть такая же живая плата со второго кондея) Добавлено: Wed Sep 20, 2023 10:46 pm |
JTAG, очевидно Добавлено: Thu Sep 21, 2023 12:31 am |
Greef писал(а): Прошу помощи! По твоей же ссылке есть еще одна: https://www.infineon.com/dgdl/Infineon-iMOTION_S...e01853e4893ea7e2a полистай слайдики. По поводу слить: пока не попробуешь - не узнаешь. Может быть залочен, может быть нет. Добавлено: Thu Sep 21, 2023 9:39 am |
Тут дело такое, с jtag работал только на роутерах через терминал и на сколько понимаю (судя по тому что тут jtag имеет 4 конца и это только данные, в роутерах какая то другая херота) - ничерта я не понимаю)) Ссылку нашел только вчера вечером и времени вникать полностью не было… но понимаю что придется вникать, беда тут еще в другом, скачать от туда без регистрации не дает, да и зарегистрироваться с наскока у меня тож не вышло… Да и сталкиваюсь с подобными вещами очень редко, я больше в железо чем в программирование (максимум флешку слить/залить или мультиконтроллер ноутовский, может еще мегу 328 зашить готовой прошивкой))) Полистал слайдики, зарегался, накачал софта и пдфок... Что стало ясно? 1. Что чип основан на 8051 микроконтроллере, есть описание размещения памяти 2. Что для программирования предлагается J-Link адаптер (в чип и дипе от 100000 до 350000 в зависимости от версии, в китае от 2500 до 7000), так же были старые версии софта и вариаций программаторов Keli uVision/FS2... 3. Через это все предлагается только чтобы зашивать микроконтроллер, слить хз как... В своей коробке с программаторами самое близкое что нашел (что по ему мнению может работать с JTAG) это китайский ST-Link для stm8/stm32, В общем информации масса, но чтобы в ней разобраться нужно видимо всю жизнь заниматься МК... В итоге нашел чем можно слить прошивку, программатор rt809h и адаптер к нему RT-QFP64-01, все шикарно но у меня есть rt809f, а к нему не подходит данный адаптер Добавлено: Thu Sep 21, 2023 3:42 pm |
Всем привет! Ребята, очень простой вопрос, но ответа на него я почему-то не могу найти второй день. Может, плохо ищу. В CubeIDE как можно сделать код, общий для нескольких проектов (каждый проект - под свой камень)? Например, библиотека работы с дисплеем. Чтобы не копировать код в каждый из проектов, а именно чтобы он лежал отдельно, без копи-пейста. [UPD] Решил данный вопрос с помощью этого: https://community.st.com/t5/stm32cubeide-mcus/wr...ctice/td-p/250393 Точнее, помогли две строчки из описания, а именно: 1. "Create a File > New > Project > General > Project. This project will just serve as a container for shared code. The project itself is not even C/C++ project. Just pure container." 2. "In each project link in the code folder from the container project." Я не стал создавать отдельные библиотеки под каждый камень. А просто в каждом проекте, где нужен данный shared code, прилинковал этот код к проекту (если кто не знает, это можно сделать в настройках проекта, во вкладке C/C++ General -> Paths and Symbols -> Source Location -> Link Folder). Добавлено: Tue Oct 10, 2023 2:47 pm |
Я только не понял, зачем тогда в кубе этот кусок создавать как проект, а не кучу исходников в папке? Добавлено: Wed Oct 11, 2023 7:38 pm |
кубом не пользуюсь, но во всех других ide тупо #include кода с нужными функциями. Добавлено: Wed Oct 11, 2023 7:44 pm |
Николай писал(а): тупо #include кода с нужными функциями. Ну смотри. Во-первых, если работаю в каком-то IDE, то хочется в нём иметь такие возможности, как перемещение к методу или к местам его использования. А во-вторых, h файлы то я подключу, а как c/cpp файлы подключить? N1X писал(а): а не кучу исходников в папке? А захочу я эти кучу исходников использовать в другом проекте, в третьем. И без копи-пейста, чтобы не плодить баги. Чтобы эта "куча исходников" развивалась. Добавлено: Fri Oct 13, 2023 12:04 am |
Alexey писал(а): а как c/cpp файлы подключить? Так ты инклюдь не .h а .с Ведь инклюд это именно комманда компилятору тупо скопировать текст из включаемого файлот в это место и потом скомпилировать его вместе Добавлено: Fri Oct 13, 2023 7:22 am |
Alexey писал(а): А захочу я эти кучу исходников использовать в другом проекте, в третьем. Так точно также в свойствах указываешь путь до папки с кодом во вкладках souce и include. Т е. Я не понял, что дает создание пустого проекта... Николай писал(а): Так ты инклюдь не .h а .с Такому стилю даже индусы позавидуют... Добавлено: Fri Oct 13, 2023 5:15 pm |
Вопрос - как коннектить кусок исходника? Ответ - include *.c Это делает ровно то что просят, а именно коннектит кусок исходника. Штатный функционал, придуманный для этого. Никаких костылей. И строго соответствует запросу человека. И чем инклюд заголовка лучше, чем инклюд сорца этого же куска? Особенно когда пишешь одновременно и основную прогу и все что к ней прилагается в виде подключаемых инклюдами библиотек. Особенно при отладке, когда тебя отладчик пускает внутрь заинклюденого куска кода. В .h ты не зайдешь. А стало быть отладка будет неудобной. Когда либа отлажена - переделай на .h если хочешь. Добавлено: Fri Oct 13, 2023 5:29 pm |
Николай писал(а): И чем инклюд заголовка лучше, чем инклюд сорца этого же куска? Тем, что инклуд заголовочного файла можно делать в других заголовочных файлах. И делать его сколько угодно раз. А инклуд файла исходников можно сделать только из одного места, чтобы линкер не ругался. Следовательно, из другого .h файла его сделать не получится (то есть, в некоторых случаях, при большом везении, получится, но это не правило, а исключение). Поэтому, для каких-то супер простых проектов вариант, предлагаемый Николаем, может, и подойдет. Но для любого мало-мальски серьезного проекта такой метод не работает. N1X писал(а): Так точно также в свойствах указываешь путь до папки с кодом во вкладках souce и include. По-сути, именно это я и сделал. Просто не знал, где и как это можно сделать в CubeIDE. В этом IDE я новичок. N1X писал(а): Я не понял, что дает создание пустого проекта... Возможность CubeIDE "видеть" данный код и существование возможности внутри IDE переходить к определению метода или переменной, к местам её использования, переименовать переменную во всех местах и т.д. Добавлено: Fri Oct 13, 2023 6:56 pm |
Всегда делал #include file.h, а в самом file.h объявлял функции и глобальные переменные file.c Добавлено: Sat Oct 14, 2023 7:17 am |
Электромонтёр писал(а): Всегда делал #include file.h, а в самом file.h объявлял функции и глобальные переменные file.c Это возможно только в очень простых проектах, где этот файл добавляется только в одном месте и только один раз. Конечно, есть уловки, вроде инлайновых или статических функций, чтобы линкер их дважды не линковал. Но в больших проектах с ними крайне неудобно работать. Добавлено: Sat Oct 14, 2023 4:54 pm |
Alexey писал(а): Это возможно только в очень простых проектах, где этот файл добавляется только в одном месте и только один раз. Ну, если он именно про "объявление", то сработает же (просто чтобы переменная не определялась, а только объявлялась нужно к ней extern пририсовать). Хотя честно говоря довольно редко нужно, чтобы глобальные переменные торчали наружу. Я наоборот стараюсь все внутри модуля как static объявлять. А доступ через геттеры/сеттеры, т.к. чаще всего один фиг нужно проверять корректность значений... И код обслуживать проще, и не натыкаешься постоянно на уже занятые имена... Это в восьмибитках с полкило памяти лишние абстракции дорого выходят, а уж на всяких stm32/esp32 вообще без проблем, учитывая размеры проектов, так по-другому потом через пол года задолбешься разгребать что где... Добавлено: Sat Oct 14, 2023 7:08 pm |
N1X писал(а): И код обслуживать проще, и не натыкаешься постоянно на уже занятые имена... Если что, я использую плюсы. Честно говоря, не понимаю, почему повсеместно для МК используется голый Си. Разве что, где совсем в память упираются. Но имхо дешевле купить контроллер на 2 цента дороже с чуть большим объемом памяти, чем бороться за каждый байт, и не пользоваться удобством плюсов. Тем более, что оверхед по памяти у плюсов просто минимальнейший. Так что, в 99% случаев и не придется на более дорогой контроллер переходить. А проседания по скорости и вовсе нет, с современными компиляторами, и если в коде нет ненужных извращений. Добавлено: Sat Oct 14, 2023 11:49 pm |
Ну могу лично за себя ответить: я разделяю программирование на "С++" и на "с с классами" (ну или С++ в сишном стиле). На втором писать я могу. А чтобы писать на первом - его нужно изучить. Вот планирую придумать себе проект, но все никак, а на работе нету времени, т.к. задачу нужно взять и решить оптимальным в текущих условиях методом. А метод такой, что на голом С мне быстрее, т.к. я его знаю. Ну и исторически большинство наработок и фреймворков таки на голом С, и далеко не всегда API обернуто в "extern c". Плюс вся конторская кодовая база на С, весь отдел на С и т.д. и т.п... И в принципе кого знаю из железячников - как-то у всех так. Плюсы только у линуксоидов преобладают. Добавлено: Sun Oct 15, 2023 12:01 pm |
N1X писал(а): Плюс вся конторская кодовая база на С, весь отдел на С и т.д. и т.п... Вот вот, основная причина - "так исторически сложилось" и инертность. N1X писал(а): "С++" и на "с с классами" Ну, никто и не говорит использовать всю мощь плюсов. Она не особо и нужна. А вот классы - это супер удобно. И инкапсуляция, и защита (константные методы или параметры, например), и хранение данных+методов в одном месте. Ну и наследование иногда удобно. Добавлено: Sun Oct 15, 2023 3:54 pm |
Greef писал(а): Прошу помощи! Кто нибудь сталкивался с irmck341 и им подобными? В итоге обновил свой rt809f на rt809h, докупил колодку под qfp64, тупо скопировал и записал дамп... Добавлено: Tue Oct 17, 2023 8:30 pm |
Лицензионное соглашение (c)Flyback.org.ru Российское общество любителей высоких напряжений. Использование материалов с данного сайта и форума возможно только с разрешения администрации. |