Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/21: Рейтинг темы: голосов - 21, средняя оценка - 4.86
0 / 0 / 0
Регистрация: 05.04.2021
Сообщений: 6

Написание прошивки на Assembler (RISC-V) и его загрузка WCH CH32V003 или на MangoPI MQ-Pro через U-Boot

03.02.2024, 21:00. Показов 4678. Ответов 16

Студворк — интернет-сервис помощи студентам
Привет всем!

Я хотел бы спросить как написать например код мигания светодиодом на risc-v ассемблере, и потом его загрузить в WCH CH32V003 через WCH LinkE.
Или хотя бы сделать так же только установка прошивки на microSD карту для MQ-Pro на Allwinner D1, через U-Boot или его аналог, то есть что бы запускать ассемблер проект как ОС.

Я уже несколько месяцев пытаюсь это реализовать но никак не выходит, даже через офф IDE для WCH называемый Mounriver Studio не смог справится с этой для себя задачей.

Прошу помогите если хотя бы 1 из этих можно реализовать если можно то как.

Заранее спасибо за помощь!
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
03.02.2024, 21:00
Ответы с готовыми решениями:

Assembler AVR RISC
Друзья привет! Друг столкнулся с проблемой, в ВУЗЕ просят написать программу на языке Assembler, но увы, я его не знаю, прошу у вас...

Написание программы диагностики/прошивки ЭБУ автомобиля через Android
Подскажите с чего начать и в какую сторону смотреть для общения с ЭБУ, в частности Январь5.1 ЭБУ соединяется с телефоном по средством...

[RISC V] Вычислить рекурсивную функцию (assembler)
Добрый вечер! Начал изучать assembler RISC V и столкнулся с заданием на рекурсию. Вывод должен быть следующим: вернуть значение функции от...

16
3677 / 2567 / 572
Регистрация: 11.09.2009
Сообщений: 9,213
05.02.2024, 18:09
Цитата Сообщение от Temurumaru Посмотреть сообщение
даже через офф IDE для WCH называемый Mounriver Studio не смог справится с этой для себя задачей.
Попробуйте сначала прямо по шагам один-в-один повторить вот этот проект в части поморгать светодиодом. А то мало ли, может у вас просто что-то неисправно из оборудования.
То, что там на С, для проверки не имеет значения, проект элементарно простой.
1
0 / 0 / 0
Регистрация: 05.04.2021
Сообщений: 6
05.02.2024, 19:46  [ТС]
Спасибо за ответ. Но я уже так проверил что железо рабочая. Просто у меня так сказать цель реализовать это чисто на Assembler и желательно без баганной MounRiver. Я пробовал заменить основной код и т.д, но мне удалось только запихнуть внутрь C ассемблер код но он работало сильно с ограничениями как я понял, но и хотелось бы что бы было чисто на ассемблере. А так практически такая же цель как вы видите с MangoPI
0
3677 / 2567 / 572
Регистрация: 11.09.2009
Сообщений: 9,213
05.02.2024, 23:30
Цитата Сообщение от Temurumaru Посмотреть сообщение
Я пробовал заменить основной код ... запихнуть внутрь C ассемблер код но он работало сильно с ограничениями ... практически такая же цель как вы видите
Вот как раз общей картины из вашего рассказа не видно.
Что именно не получается? Написать код на ассемблере?
Если сильно не нравится Mounriver Studio, может пойти таким путём?
1
0 / 0 / 0
Регистрация: 05.04.2021
Сообщений: 6
06.02.2024, 19:44  [ТС]
ООО Спасибо, я вообще использовал WCH для практики на RISC-V Assembler, но кнш всё таки хотелось бы на WCH. Но главное что можно даже на GD32VF103CBT6 нормально прогать на ассемблере А что можно сделать с например U-Boot для MQ-Pro? Если можно сказать что мы решили вопрос с WCH что скорее вместо него буду использовать GD32VF103CBT6, если можно хотелось бы ещё решить тему с MQ-Pro
0
 Аватар для COKPOWEHEU
4054 / 2606 / 432
Регистрация: 09.09.2017
Сообщений: 11,615
08.02.2024, 21:32
Лучший ответ Сообщение было отмечено Temurumaru как решение

Решение

Цитата Сообщение от i8085 Посмотреть сообщение
Если сильно не нравится Mounriver Studio, может пойти таким путём?
"Тот путь" это мой первый опыт с risc-v контроллерами. Второй путь, надеюсь, получше получился.
Цитата Сообщение от Temurumaru Посмотреть сообщение
Если можно сказать что мы решили вопрос с WCH
Учитывайте, что wch немного по-другому программируется, не так как gd32. Про это, точнее про ch32v303, я сейчас пишу. И к v003 оно, насколько я знаю, неприменимо, ведь у него не выведен boot0. Впрочем, и сам v003 меня не особо интересует пока что.
1
259 / 189 / 29
Регистрация: 26.11.2022
Сообщений: 794
08.02.2024, 21:39
сам использую WCH32f103
заливка программы у меня работает только через пропатченную от Mounriver Studio версию openocd
заливку через GUI версию даже не рассматриваю
так что вы разделите вопрос - написать программу и сделать бинарник для заливки и вторая часть - как залить в микруху
0
0 / 0 / 0
Регистрация: 05.04.2021
Сообщений: 6
08.02.2024, 22:24  [ТС]
Спасибо огромное за советы)

Да ну задача такая.

На самом деле, прям не обязательно V003 просто любой годный RISC-V микроконтроллер, я в этой теме ещё новичок, Поэтому хотелось бы понять как адекватно работать со всем этим. Ну и да что бы научится прогать на RISC-V.

Я закупился так сказать небольшим зоопарком RISC-V процессоров/микроконтроллеров, но никак не могу нормально взять, сесть и работать.
В смысле что Может на Assembler/C и прогать под этот RISC-V.

Я пока ещё не успел опробовать на GD32 потому что она ещё не пришла. Может ещё что то порекомендуйте, или ориентир в этой сфере
0
 Аватар для COKPOWEHEU
4054 / 2606 / 432
Регистрация: 09.09.2017
Сообщений: 11,615
08.02.2024, 22:43
Цитата Сообщение от Temurumaru Посмотреть сообщение
На самом деле, прям не обязательно V003 просто любой годный RISC-V микроконтроллер
Тогда я бы посоветовал тот же ch32v303. Есть вся основная периферия, причем выведена на ножки (а то в некоторых v203, например, кварц не вывели, в других - boot0, при том, что ножек-то хватает), да и в самом ядре много чего можно поизучать: развесистая система прерываний, защита памяти, работа с дробными числами.
А v003 слишком урезанный, многому на нем не научишься. Его стоит брать под конкретную задачу, чтобы не переплачивать за то, что в данный момент не нужно.
Или тот же gd32vf103. Он интересен отличным бутлоадером, который работает со стандартным софтом и без извращений. Но уж больно маленькая линейка: vf103 и все.
Цитата Сообщение от Temurumaru Посмотреть сообщение
Я закупился так сказать небольшим зоопарком RISC-V процессоров/микроконтроллеров, но никак не могу нормально взять, сесть и работать.
В смысле что Может на Assembler/C и прогать под этот RISC-V.
Я сейчас доделываю стенд для удаленной отладки risc-v контроллеров. Под gd32vf103 уже сделано (но сейчас опять же у меня, на доработке), под ch32v303 в процессе. Как обычно, труднее всего сделать под это все корпус, больше месяца мучаюсь.
А примеры кода есть, алгоритм прошивки через бутлоадер тоже есть. Даже алгоритм по сборке openocd так, чтобы он даже работал, мне подсказали.
Цитата Сообщение от Temurumaru Посмотреть сообщение
В смысле что Может на Assembler/C и прогать под этот RISC-V.
А на чем еще?
1
0 / 0 / 0
Регистрация: 05.04.2021
Сообщений: 6
08.02.2024, 23:14  [ТС]
Понял принял, постараюсь разобраться тогда с GD32VF103 и CH32V303. Спасибо!

Добавлено через 24 минуты
Решил спросить, а какой из них лучше покупать?

Вроде 307ой такой же по доку.
А вот 303 я никак в другом варианте DevBoard не нашёл.

CH32V307 - https://sl.aliexpress.ru/p?key=77UlOi5

CH32V303 - https://sl.aliexpress.ru/p?key=h7UlOMZ
0
 Аватар для COKPOWEHEU
4054 / 2606 / 432
Регистрация: 09.09.2017
Сообщений: 11,615
09.02.2024, 00:33
Цитата Сообщение от Temurumaru Посмотреть сообщение
Вроде 307ой такой же по доку.
Да, но для старта он избыточен. Вроде самый вменяемый корпус для v307 это lqfp64, тогда как для v303 - lqfp48, все же проще разводить и паять. Ну и периферии лишней уж слишком много.
С другой стороны, себе я в качестве первого wch взял именно v307 - пощупать usb-hs и эзернет. Но у меня-то уже был опыт с gd32.
Но если по совокупности параметров вам нравится какой-то другой, это ведь вам с ним работать, выбирайте какой больше понравится. Я лишь предупреждаю где могут всплыть грабли. У v003 пока непонятно что с прошивкой, вроде были проблемы, да и периферии мало и ядро слабое. У v003 и v203 в некоторых корпусах не выведены важные ноги.
1
0 / 0 / 0
Регистрация: 05.04.2021
Сообщений: 6
09.02.2024, 06:27  [ТС]
Поняд принял, ну насчёт пайки не проблема) фен в помощь.
Ну раз уж его можно тога покупаю, даже если избыточно, думаю, хватит для чисто, так сказать, учёбы на нём.

Ещё раз спасибо!
0
 Аватар для yoric
19 / 19 / 2
Регистрация: 02.12.2021
Сообщений: 150
17.08.2024, 09:11
А где ассемблер для них берут, если работать под linux? В смысле описание и сам компилятор.
0
 Аватар для COKPOWEHEU
4054 / 2606 / 432
Регистрация: 09.09.2017
Сообщений: 11,615
17.08.2024, 14:38
Из репозитория. В комплекте с gcc (на debian пакет называется gcc-riscv64-unknown-elf) идет, например. В 6 посте есть ссылка на пример работы.
0
Тутошний я
 Аватар для Grey
2147 / 1202 / 225
Регистрация: 03.11.2009
Сообщений: 4,423
Записей в блоге: 2
19.08.2024, 23:24
Цитата Сообщение от yoric Посмотреть сообщение
сам компилятор.
Я и на винде и на линуксе, устанавливал MounRiver Studio. Из неё скопировал нужные файлы.
Самой MRS тоже пользуюсь, смотрю как примеры от WCH работают.
Во вложении примеры работы с GPIO и UART, и файлы для компиляции
Вложения
Тип файла: zip MyWCH3.zip (2.49 Мб, 20 просмотров)
1
 Аватар для yoric
19 / 19 / 2
Регистрация: 02.12.2021
Сообщений: 150
22.08.2024, 07:38
Спасибо. А в gentoo не повезло((
0
22.08.2024, 20:20

Не по теме:

я убунтой пользуюсь. Популярная ОС. И программ под неё много и для дестопа и для сервера.
Хотя не для всего есть программы.

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
22.08.2024, 20:20
Помогаю со студенческими работами здесь

Загрузка прошивки через BootLoader при помощи AvrDude
Здравствуйте, друзья. Помогите решить проблему. Осваиваю BootToodir, описанный DY HOTT. Никак не могу залить конечную прошивку через...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
Создаем RESTful API на Golang с Fiber
golander 04.06.2025
Я перепробовал десятки фреймворков для создания RESTful API за последние годы, и когда впервые столкнулся с Fiber, понял, что это совсем другой уровень. Нет, я не собираюсь рассказывать сказки о. . .
Как работать с куки в ASP.NET Core
UnmanagedCoder 04.06.2025
Когда я впервые начал работать с куки в ASP. NET Core, меня поразило, насколько отличается работа с ними от классического ASP. NET. В Core все стало более декомпозированным - больше нет удобного. . .
Рисование коллайдеров физического движка Box2D-WASM v3 на Three.js
8Observer8 04.06.2025
Erin Catto (автор Box2D) переписал с нуля Box2D v2 с С++ на Си и появилась версия Box2D v3. Birch-san собрал Box2D v3 в WebAssembly (WASM), чтобы можно было использовать Box2D v3 на JavaScript. В. . .
Worker Threads и многопоточность в Node.js
Reangularity 03.06.2025
Если вы когда-нибудь посещали собеседования на позицию Node. js разработчика, почти наверняка слышали заезженную фразу: "Node. js - однопоточная платформа". Звучит как неоспоримый факт, который. . .
Event-Driven CQRS на C# с паттерном Outbox
stackOverflow 03.06.2025
В традиционной модели происходит примерно следующее: вы получаете команду, обрабатываете ее, сохраняете результат в базу данных и затем пытаетесь опубликовать событие в брокер сообщений. Но что если. . .
OwenLogic: перенос сетевых переменных в панель Weintek (EasyBuilder Pro)
ФедосеевПавел 03.06.2025
ВВЕДЕНИЕ ПЕРЕД ЭКСПЕРИМЕНТАМИ - СОЗДАЙТЕ РЕЗЕРВНЫЕ КОПИИ ПРОЕКТОВ На момент написания статьи (02 июня 2025 г. ) самыми актуальными версиями ПО являются: OwenLogic v. 2. 10. 366 EasyBuilder Pro. . .
Dev-c++5.11 Покорение вершины
russiannick 02.06.2025
С утра преследовала одна мысль - вот бы выучить С++. Сказано-сделано. Окончив смену, скачал в интернете бестселлер Дэвиса Dev-C++ для чайников. Книга оказалась интересной и я скачал среду, на примере. . .
Тестирование Pull Request в Kubernetes с GitHub Actions и GKE
Mr. Docker 02.06.2025
Мы все знаем, что тестирование на локальной машине или в изолированном CI-окружении — это не совсем то же самое, что тестирование в реальном кластере Kubernetes. Контекстно-зависимые ошибки, проблемы. . .
Оптимизация CMake для ускорения сборки
bytestream 02.06.2025
Вы когда-нибудь ловили себя на мысле, что пока ваш проект компилируется, можно успеть сварить кофе, прочитать главу книги или даже сбегать в соседний офис? Если да, то добро пожаловать в клуб. . .
JS String.prototype.localeCo­mpare()
mr_dramm 02.06.2025
скопировано из этой темы чтобы не потерялось. localeCompare без указания локали для сравнения строк под капотом использует Intl. Collator , который работает согласно Unicode Collation Algorithm. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru
OSZAR »