RISC-V #2. Создаем проект с нуля в родной IDE MounRiver Studio. Вопросы и ответы.
Вставка
- Опубліковано 7 кві 2023
- Исходный код:
github.com/nr-electronics/Test_LED
В этом видео создаем проект с нуля, после загрузки IDE. Рассматриваем особенности программирования и отладки микроконтроллеров на ядре RISC-V.
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Подписывайтесь на канал в Телеграм:
t.me/NR_electronics
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Станьте спонсором канала, и вы получите доступ к эксклюзивным бонусам. Подробнее:
/ @nrelectronics
А также переводом по номеру карты:
4377-7237-6190-5714
Может, кому интересно будет (или пригодится в проектах, или же кто не знал), у WCH есть документация на их ядра, QingKe (QingKeV Microprocessor Manual, где - версия, знаю, что есть 2я и 4я версии). Там поподробнее описаны регистры конфигурации контроллера прерываний, системного таймера, реализованные csr регистры, а также методы вызова прерываний и исключений
Спасибо за информацию!
Чтоб отсмотреть регистры периферии: Window->Show view->Other...->Debug->Peripherals.
Так же нужно проверить, подключен ли в настройке дебага svd файл на данный МК: Debug Configurations->SVD Path. Как пример, у меня File path: C:\MounRiver\MounRiver_Studio\template\wizard\WCH\RISC-V\CH32V203\NoneOS\CH32V203xx.svd
Svd не подтянут, вот же IDE. Сыровато конечно.
по умолчанию svd не подтянут. получилось подтянуть. все регистры показывает. спасибо.
С частотой 0.5гц. Для 1 Гц нужно ставить задержки 500мс. То есть период должен быть 1секунду.
Я собственно не настаивал))
может вечерком сегодня гляну, как у меня с регистром времени в IDE.
Смотрите, отписывайтесь тоже обязательно пожалуйста.
13:50 скорее всего имелось ввиду обновление информации в режиме RUN. При пошаговом исполнении получается пауза.
Возможно, но, как-то это непонятно.
Именно!)
Live expression проверь!
Оки, спасибо.
Наверное про глобальную переменную имелось ввиду просмотр значений, как в cubemonitor
Выяснили, они имели ввиду про Live Expression.
Жду с нетерпением продолжение!!!Я на ch32v003 перепрыгнул с pic контроллеров.С stm дело не имел.Вот заметил такие баги,может конечно я чего то упустил.1- при объявлении переменной в цикле for ,цикл не запускается. 2- Для отладки сделал дефайны для включения и выключения светодиода,так вот после функции Delay.ms(); не происходит переключения состояния.Чет не понятно
Возможно будет продолжение, возможно нет. По вашим словам без кода сложно сказать почему не работает. В телеге можете проект скинуть.
Добрый день!)
Я имел ввиду другое) Когда мы вбиваем переменную и просто жмем Run. И все... Чтоб переменная в реалтайме отсматривалась. Не по шагам...не через паузу...
Чтоб далеко не ходить - эта штука есть в том же CubeIDE у STM32. Есть Expressions(как в видео у Вас), а есть LiveExpressions, в котором можем отсматривать значение в реалтайме, что важно при дебаге фильтров, работе с АЦП, передаче данных, работе с ПИД регулятором и прочее... Точку-останова-то Вы убрали, НО вы дальше пошли по шагам - а это считай та же пауза, где переменная конечно же отсмотрится. На ARM в том же VisualGDB есть LiveWatch, где в реалтайме не то, что можно просто отсматривать значения глобальных переменных, но и менять их, без остановки работы МК, да что там, даже график выводить. И это очень удобно)
Спасибо за разъяснения!)
Подожди, так это реализовано кажется через swo вывод в cubeide(по сути уарт рх вывод )? Т. Е. Нечто вроде принтф/сканф, только данные идут на переменную. Удобнее конечно чем в терминал, но плюс минус одно и то же
@@user-hv5ol7re9i нет. Это printf через swo. А я говорю именно про дебаг в реалтайме без printf
@@Solderingironspb так этот дебаг не работает в cubeide без swo вывода. Я просто взял в сравнение принтф.
Оки!
Добрый день. Спасибо за видео :) Лично - не критично, но "вероятно" что либо ошибка в адресе репозитория в описании, либо в правах доступа :)
Добрый день. Спасибо за отклик. Файл для отладки .svd по умолчанию не подтягивался, поэтому не было и отладки переферии.
Попробовал поработать с CH32V303RCT6, почему-то шьется только из-под встроенного загрузчика, иначе ни в какую… странное дело🤔
Странно, только одна микросхема мк так шьётся, вроде у них всё норм с этой стороной было.
Здавствуйте, а будет продолжение?)
Здравствуйте. Думаю да.
регистры периферии появляются, когда ты с ней работаешь в отладке, автоматом. Например, попробуй зайти во внутрь процедуры инита ЮАРТ
В отладке я как раз в видео и был, их не было. Я разобрался. Файл . svd по умолчанию не подтягивается правильно, поэтому не было и периферии в отладке.
@@NRelectronics да, Олега Волкова коммент я читал. Но я специально этот файлик не прописывал, тоже думал, что за хрень))) Начал писАть код на регистрах (то еще удовольствие, даташит кривой до безобразия, копипаст)), и при заходе в отладку, о чудо, появилась периферия. После просмотра вашего видоса проверил, файл там реально, прописан
Значит вам больше повезло с настройками сырого ide. У меня файл не был прицеплен и в видео и после видео отладки небыло. Главное теперь знать об этом, что такое тут случается)))
@@NRelectronics Сейчас поймал себя на мысли, что у меня много IDE установлено.... в т.ч. и эклипс есть)))
Сносите всё и ставьте Кейл!)))
Подскажите, как в режиме отладки сделать так, что бы отладик шагал не по ассемблерным командам, а по Си-шным строкам? Где то подсказку видел, но теперь ни вспомнить ни найти не могу. Всё меню облазил.
В этом видео на 11:50 я как раз показывал как это сделать.
@@NRelectronics тьху! Точно! Благодарствую! 😄
Пожалуйста 😀
Приветствую! А что в них такого? Почему нынче RISC-V так моден?
Привет. Дёшево, можно, молодежно)) И это не арм, а open-source.
@@NRelectronics Насколько дешевле? Я перешёл на китайские GD32 без проблем с STM32. Они дешевле раза в два-три.
Эти дешевле на порядки порой. Посмотри моё видео с ценами или самостоятельно посмотрите в чип и дип, Али, или другие площадки. Цена начинается от 10₽!
наверное, одна из причин - не нужно роялти ARM-у отдавать за использование архитектуры)
Это одна из причин также. Не быть зависимым от лицензий ARM Ltd.
А есть ли в ней режим эмуляции? Не могу найти чего то.
Что за эмуляция?
@@NRelectronicsвсмысли симулятор МК.
В эклипсоподобных иде нет симулятора, он есть только в кейле.
Скажите, пожалуйста, где можно увидеть, сколько памяти занято после сборки прошивки?
Сейчас по памяти не скажу. Должна быть закладка SFR.
@@NRelectronics , ну, нет. В консоли в плохочитаемом виде пишет какие-то цифры, но совсем не так наглядно, как CubeIDE.
Какое есть IDE, оно же бесплатно и МК дешёвые, а со всем остальным меритесь теперь.
Среда разработки на первый взгляд это тихий ужас. А эти чипы в той же vscode не поддерживаются?
Обрезанный эклипс. Про VSC не скажу.
@@NRelectronics эклипс это уже тихий ужас, а покоцаный и тем более от криворуких и с непойми чем в головах китайцев...
@@NRelectronics п.с. у вас в описании ссылка на проект битая. да и в общем информативность нулевая - нет упоминания про то, какая плата или чип. нет ссылки на предыдущее видео и т.д.
глянул ради интереса. в vscode вполне прикручивается поддержка, как с platformio так и без.
ссылка на предыдущее видео - видео находится в плейлисте, список сам по себе есть. ссылка да, чего потерялось на гитхабе...
@@aleph_oneссылка рабочая. Плата по плейлисту смотрите, не в каждом видео ведь говорить.
Так а млжно в этой ide работать с esp32 c3?
после доп настройки думаю да, а зачем? если это под WCH мк...
@@NRelectronics да достали эти вендоры, каждый свою среду проталкивает. Только к одной привыкнешь, и то вот тебе нате юзайте другую.
Так и есть, каждый свою тулит... Примерно одинаковые они все...
Блин, у них даже CMSIS нет нормального. Вроде SysTick есть, а ни функций, ни дефайнов битовых масок нет...
Ага. Зато очень дёшево, всё самим допили...