Введение
Для уроков нам потребуются макетная плата, среда разработки и программатор. От выбора этих составляющих будет зависеть время разработки.
Выбор макетной платы.
На данный момент можно найти огромное количество различных макетных плат.
Производители предлагают нашему вниманию платы с минимальным набором элементной базы, в которых нет периферии, но выведена вся контактная группа МК.
Или же напичканные различной периферией, с помощью которых можно опробовать различные внешние устройства или разработать полноценный проект, а после спроектировать и развести свой вариант платы.
Так же, что является большим плюсом, на них встроен программатор ST-Link. Т. е. имея Discovery, вам уже не потребуется программатор. При этом, вы можете использовать программатор Discovery для прошивки других плат.
Со списком макетных плат вы можете ознакомиться на официальном сайте www.st.com.
STM32F4-discovery
Я же остановился на платах серии Open от китайской компании Waveshare. Преимуществом этих плат является модульность и довольно большой выбор “обвеса”.
Выбор среды разработки
По средам мы имеем несколько популярных вариантов:
- IAR. Коммерческая. Бесплатная версия ограничена по объему исполняемого кода.
- Keil uVision. Коммерческая. Бесплатная версия ограничена по объему исполняемого кода.
- Atollic TrueStudio. Основана на Eclipse, но, тем не менее, является коммерческой.
- CooCox IDE (CoIDE). Тоже основана на Eclipse, но бесплатна. Включает в себя всё для работы с ARM, позволяет докачивать необходимые библиотеки. Умеет работать с различными отладчиками.
- Чистый Eclipse с плагином ARM и компилятором ARM-GCC.
Начинающим советую CoIDE. Данная среда имеет все необходимые инструменты для разработки, а так же довольно проста и удобна для работы.
Я работал с IAR и CoIDE, а сейчас остановился на Keil. И вряд ли когда нибудь буду работать в другой среде. Keil представляет собой отличный инструмент для разработки. Удобный, простой в настройке и понимании. Работает со всеми популярными программаторами, имеет менеджер библиотек и многие другие вкусняшки.
Выбор программатора
На данный момент существует множество различных программаторов для МК на базе ARM Cortex-M. Нам же для полноценной работы необходимо иметь возможность отладки, что позволит в реальном времени отслеживать работу программы для поиска неисправностей.
А теперь пробежимся по вариантам:
- ST-LINK V2. Отладчик от STMicroelectronics. Поддерживается всеми популярными средами. На сайте производителя можно скачать необходимые для работы утилиты и драйвер. Шьет как МК STM32, STM8, так и МК других производителей на базе ARM Cortex-M по протоколам JTAG и SWD. Утилита для прошивки поддерживает только МК STM. Также этот программатор можно собрать самому.
- CoLinkEx. Отладчик от CooCox. Так же имеет полный функционал и поддерживается популярными средами. Есть возможность собрать самому.
- ULINK Pro. Отладчик от Keil.
Отладчиков довольно много, вопрос только в цене, доступности и поддержке средой. Я пользуюсь ST-LINK. И за все время работы с ним не испытывал каких либо проблем. Прошивал им в том числе и отечественные МК 1986ВЕ9х от компании Миландр.
Подведем итоги. Выбирая средства разработки, необходимо с умом подходить к этому делу. Иначе можно потерять много времени на настройке совместимости программных и аппаратных средств. Разработчик должен чувствовать себя комфортно и уверенно, используя инструменты. Тогда работа будет проходить быстро и с удовольствием.
Процесс миграции c HAL на udev
Изначально большая часть логики HAL была перенесена в udev, а правила в новый модуль — DeviceKit (не путать с PolicyKit или ConsoleKit).
Однако вскоре схема udev+DeviceKit несколько изменилась — разработчики обнаружили, что большая часть аппаратуры уже управляется различными программными компонентами и необходимы только правила для дисков (udisks) и питания (upower). Проект DeviceKit был разбит на несколько более мелких частей и больше не используется и не упоминается.
Таким образом современные дистрибутивы используют только Udev и правила к нему (udisks, upower — часть пакета udev-extras). Однако ввиду инерционности кода, многие программы всё ещё требуют устаревший HAL (в основном для обнаружения дисков) и поэтому дистрибутивы вынуждены поставлять HAL, фактически дублируя логику (например Qt3, и столкнувшийся с этим проект Trinity).
Запуск и отладка программы
После того как код набран, можно перейти к запуску и отладке программы. Делается это нажатием кнопки DEBUG (зеленый жучек) или клавиши F11. После этого программа откопилируется, и если все пройдет успешно, откроется окно настройки отладчика, в котором можно просто нажать Ok. Далее происходит запуск встроенной системы отладки, и прошивка программы в микроконтроллер.
Работа с отладчиком не отличается от других подобных систем. Например, нажимая кнопки пошагового исполнения F5 или F6 можно проследить работу программы по отдельным строкам кода, а после нажатия F8, контроллер начнет нормальное исполнение программы. В процессе отладки на плате мигает красный светодиод COM.
You have no rights to post comments
Setting up a new project for a bare chip
This is the procedure that I use when programming a new chip.
- Under SYS, enable Serial Wire debug
- Under RCC, enable external clocks
- In Clock Configuration, configure clocks
- Under Project Manager, change Toolchain/IDE to TrueStudio
Little gotchas when using STM32CubeMX
- When setting up a bare MCU/Blue Pill, you might come across an issue where an error message such as USB communication error, or Target is not responding crops up. Check that you have Debug (SWCLK/SWDIO) pins defined when you are setting up STM32CubeMX (check the Debug->Serial Wire option SYS). I didn’t, and I couldn’t figure out why my board could only be programmed once for quite some time, and I had to reprogram it each time by erasing the memory through the STLink Utility while holding and releasing the RESET button.
- I had an error were I accidentally set the project up as an EWARM project and tried to switch it to a TrueStudio project. This caused an error in the arm_math.h library where it read «Define according the used Cortex core…». However, when I created a new project, this error went away. This error also occurred when I copied projects and tried to change the target MCU.
- Occasionally when STM32CubeMX detects changes have been made and asks if you would like to save the project, clicking yes sometimes causes TrueStudio to crash.
Libraries
Having an existing library is pretty important to me because it abstracts away the technicalities of the hardware and allows you to reuse your code. It also allows you to get started with new hardware quickly.
ST provides the Hardware Abstraction Layer (HAL) library which makes development very easy across different families of the STM32.
STM32Cube
Some other reviews that people have done of the STM32 line are Jay Clarson, author of The Amazing $1 Microcontroller. I highly recommend reading this article because it highlights the various aspects of each chip from a wide array of vendors.
Now that we have the software set up, it is time to test the hardware. While, I have my Proving Fields board, in this case I decided to prototype it on a breadboard.
File search dialog
The file search should be the most used search. There are two tips to facilitate this search.
First: set the file search tab as default.The search dialog has several tabs. It would be useful if the “Search for files” tab was selected by default.
- In the menu “Search” select “Search…”. Select the “File search” tab.
- Click the “Customize” button at the bottom of the window.
- Then check “Remember last used page”.
Second: set a shortcut to open the file search dialog.The shortcut to open the search dialog is CTRL+H. If it is not configured:
- In the menu “Window” select “Preference / General / Keys”.
- Type the filter text “search” and find the “Open search dialog” command. Click it.
- Clear the binding field and stroke CTRL and H.
- Click Apply/OK.
Запуск IDE и создание проекта
Запуск IDE ничем не отличается от подобной процедуры для других программ. После двойного клика на иконку, первым делом появится окно Select Workspace, запрашивающее рабочую папку проекта. После выбора нужной папки открывается приглашение Atollic TrueSTUDIO, а затем рабочее окно среды программирования.
После открытия основного окна из выпадающего меню File, выбирается пункт New, в котором выделяется раздел Project и пункт C Project.
Открывается мастер настройки проекта, пошагово определяющий основные параметры. Самым важным является первое окно C Project, в котором вводятся имя проекта Project Name и его тип – Project Type. Последний пункт, при использовании плат от STMicroelectronics, должен равняться STM32 C Project.
Во втором окне мастера проекта, под названием TrueSTUDIO Build Settings, самым важным является пункт Evaluation Board, в котором необходимо выбрать название используемой отладочной платы, в данном случае STM32_Discovery. В оставшихся окнах настройки больше ничего менять не нужно.
После завершения настройки проекта, откроется рабочее окно, в котором и будут происходить все основные действия по разработке программ. Для отображения исполняемого файла в инспекторе кода следует открыть папку SRC, и выбрать файл main.c. Данный файл создается из шаблона, предназначенного для нескольких плат. Поэтому в нем достаточно много определений, не нужных в первом проекте. При желании всю лишнюю информацию можно убрать.
atollic-truestudio видео
8 меc назад
Webinar archive from 16 February 2016.
8 меc назад
Excerpted from a webinar.
6 меc назад
Find out more information about STM32: http://bit.ly/STM32-generic For Atollic: http://bit.ly/Atollic This is a video to show how easy it is to generate a simple …
7 меc назад
В видео кратко рассматривается работоспособность IDE TrueSTUDIO, которая теперь является официальной для STM….
3 лет назад
STM32F4 Discovery Board – NewProject in Atollic TrueSTUDIO.
4 лет назад
This is a short video tutorial on how you can use watchpoints in Atollic TrueSTUDIO. This example illustrates how a watchpoint is setup to help us find a stack …
3 лет назад
9 меc назад
What should users of Atollic TrueStudio do in regards to the company being bought by SGS Thomson? Is it time to flee?
1 нед назад
Setting project Atollic Truestudio Paths, Symbols Debug.
5 лет назад
This is a tutorial showing how system faults (hard faults; bus faults, usage faults, memory management faults) can be automatically analyzed in order to simplify …
5 лет назад
This short video tutorial demonstrates how to perform software tracing with Serial Wire Viewer in Atollic TrueSTUDIO on a Cortex-M3/4 device.
5 лет назад
5 лет назад
This is a tutorial on how to use the integrated Subversion client within Atollic TrueSTUDIO for ARM. The following operations will be discussed: -Examine file …
2 нед назад
Begin with Atollic Truestudio to create first project for STM32.
3 меc назад
안녕하세요 M-HIVE ChrisP 입니다. 오늘부터 새롭게 “HAL 드라이버, CubeMX, TrueSTUDIO를 이용한 STM32F4 속성으로 따라하기” 강좌를 진행합니다. 본 영상은.
6 меc назад
В видео показан процесс создания проекта в TrueSTUDIO для микроконтроллера STM32F746 для последующей работы с LTDC.
7 лет назад
3 лет назад
STM32F4Discovery Tutorial 2 – Getting Started www.logicvoltage.com In this tutorial we will get an in depth knowledge about the technical things of embedded …
4 меc назад
Neste tutorial apresentaremos dois exemplos de conversão e configuração de projetos na IDE Atollic TrueStudio. Maiores informações: …
7 меc назад
TrueStudio STM32’ye tam desteği olan profesyonel bir platformdur. Yakın zamanda Lite ve Pro farkının kaldırılması ve ücretsiz hale getirilerek TrueStudio …
Adventures with SPI
MCP23008
Lessons learned:
- Make sure that you are working with the right chip. Because MCP23008 comes in two flavors (SPI/I2C), I tried to program it in SPI, but the SPI version is actually MCP23S08. So I wasted a lot of time trying to use the wrong protocol on a chip that doesn’t support it.
- I wired the Latch pin to high, but in order for the output to actually switch when the slave select pin goes high (indicating that the transaction is complete), the Latch pin should be wired to low.
These problems could have been avoided with the Proving Fields board. There would also be less time wasted cutting wires, wiring up, and double checking connections.
ST7735 LCD
Lessons learned:
- Tie Reset to High if you don’t care about resetting the screen.
- STM32CubeMX initializes some strange defaults for SPI, so for future reference: Set bits per transfer to 8 bits, and set a pull-down on the Clock Pin.
- The Proving Fields board MOSFET for turning the screen on and off still doesn’t work. Related to how I put it on the low side instead of the high side. The fix is to remove the MOSFET and directly connect the pin low to turn on the LED.
Задачи и история разработки
Проект был изначально создан Red Hat. Демон HAL получает информацию об аппаратном обеспечении от ядра ОС (в Linux, например, HAL черпает большую часть информации из sysfs), и предоставляет программам-клиентам через D-Bus в удобном для использования виде. Получение информации напрямую от ядра — процесс сложный и может быть сопряжен с проблемами с безопасностью; следовательно, наличие HAL сильно упрощает разработку программ, которые должны знать об аппаратной части компьютера (например, что пользователь только что отсоединил принтер или вставил флешку). Поскольку HAL на всех платформах предоставляет информацию в одном формате, независимо от операционной системы и версии ядра, он также облегчает разработку кроссплатформенного ПО. Кроме того, HAL делал возможным создавать автоматические действия (автоматическое монтирование дисков, автоматическую настройку принтеров итд) через правила.
HAL распространяется по лицензиям GNU General Public License и Academic Free License, и является свободным ПО.
How to import an existing project in a workspace
For STM32CubeIDE
To migrate a project from TrueSTUDIO to STM32CubeIDE first see this document.
Here is a more complete explanation.
- Copy (not move!) the project folder into the STM32CubeIDE workspace folder.
- Delete the “Debug” folder of the project.
- Launch STM32CubeIDE, and select the workspace.
- In the workspace menu “File” then “Open Project From File System…”. The project will be migrated.
- In the “Project Explorer” right click the project name then “Properties”:
- C/C++ Builds / Behaviour tab.
- Check “Enable parallel Build” and “Use optimal jobs”.
- Build the project.
On the migration process the debug and run configurations are forgotten. We have to recreate them after building the project. To create the debug configuration:
- In the “Project Explorer” select the project.
- In the workspace menu “Run” then “Debug Configurations…”.
- Right click “STM32 Cortex-M C/C++ Application” and select “New Configuration”.
- In the Main tab : Give a name: “xxx Debug”.
- In the Debugger tab: Setect your debug probe (if not automatically detected).
- In the Startup tab: Uncheck “Set breakpoint at:” (if there is no main in the project).
- In tab Common: check “Shared file:” and in Display in favorite menu check “Debug”.
- Apply / Close.
To create the run configuration, it’s almost the same thing:
- In the “Project Explorer” select the project.
- In the workspace menu “Run” then “Run Configurations…“.
- Right click “STM32 Cortex-M C/C++ Application” and select “New Configuration”.
- In the Main tab : Give a name: “xxx Run“.
- In the Debugger tab: Setect your debug probe (if not automatically detected).
- In the Startup tab: the “Set breakpoint at:” is grayed.
- In tab Common: check “Shared file:” and in Display in favorite menu check “Run“.
- Apply / Close.
For TrueSTUDIO
Start TrueSTUDIO with the target workspace.Select the File menu then “Import…”Under “General” select “Existing Projects into Workspace”, then “Next”.
Click the “Browsee…” button and select the old project directory you would like to import.Check “Copy project into workspace”Then click “Finish”.
Your project is ready to compile and download:
You can delete the old project folder because the project has been copied to the workspace.
Wrangling with USB
USB configuration was quite smooth with the STM32CubeMX. Surprisingly so , given how complex USB configuration options can be sometimes (looking at you Microchip). Note that I am working with the Blue Pill.
- Enable the USB peripheral as well as the USB middleware, selecting Virtual Port Com.
- Go to the generated code. Under , edit the function so that the board does something when you send a character.
Now upload the code to the board, your computer should detect that a COM port is connected and when you send 1, the LED (active low) should turn on, and any other character would cause the LED to turn off.
Sending information is as simple as adding the to the loop.
Impressions thus far
Breadboarding the STM32
I am pleasantly surprised at how easy it is to get started with the STM32CubeMX software. I was expecting bugs or to have to initialize some functions myself, but by and large, the initialization works well and without errors. I was able to get most of the basics working after about two days of work, or effectively five hours if you leave out the mistakes I made during wiring.
The main documentation is a little thinner than what I am used to from Microchip or TI, and it might be that they are broken up into different sets of datasheets, each relating to a specific topic such as the ADC operation or SPI. It is still slightly annoying to have to hunt all over ST’s website for the datasheet specific to the task that I want to do, but I have a feeling that I will be spending less time doing this with the STM32 microcontrollers simply because of HAL and STM32CubeMX.
I would certainly recommend getting familiar with the STM32. Development is well supported and there is a huge potential latitude in the STM32 family.
Мощный партнёр для погружения в работу
- Выдаем зарплату всегда в срок и в полной мере.
- Выплаты с сайтов для наших моделей составляют 50%.
- Уникальная система обучения позволяет каждому раскрыть все свои таланты и зарабатывать на порядок больше, чем в других студиях.
- Студия работает 24/7! Выбирай удобную для тебя смену: утренняя (с 9:00 до 16:00), дневная (с 16:00 до 23:00 ) или ночная (с 23:00 до 9:00).
- Поддерживаем наших моделей во всех стремлениях больше зарабатывать.
- Занимаемся непрерывным внешним и внутренним продвижением моделей.
- Регулярно мониторим новости сферы и ищем решения для улучшения стримов
- Работаем с Non-nude моделями. Нет требования работать обнажённой.
- Обучение с личным куратором, постоянная поддержка
Причины устранения
Основное преимущество в новой подсистеме udev (перед HAL) в том, что первый является событийно-управляемой и имеет тесную интеграцию с ядром, а HAL же, будучи реализованным в userspace в виде демона, вынужден периодически опрашивать ядро. Таким образом, использование событийно-управляемого udev значительно снижает нагрузку на систему, а значит и электропотребление. Также, описания правил для устройств выполнены в виде простых файлов конфигурации и гораздо проще и понятней для пользователей и разработчиков, чем XML примененный ранее в HAL. И наконец, udev разработан «с чистого листа», с учётом предыдущего опыта и в нём отсутствует устаревший или беспорядочный код.
Технология hal
Беспокоит геморрой Этот метод является эндоскопическим и малоинвазивным. Он позволяет быстро уменьшить боль, остановить кровоточивость, избавить пациента от ощущения инородного тела в заднем проходе.
При медикаментозном лечении внутреннего или наружного геморроя эффект становится заметен минимум через неделю после использования местных или системных препаратов.
После такой процедуры болезненные ощущения уменьшаются через 2 – 3 дня.
Отдельный метод дезартеризации (hal) без последующей пластики в настоящее время применяется редко. Его можно использовать при начальных и поздних стадиях геморроя, при крупных набухших выпячиваниях.
Технология этой манипуляции заключается в следующем:
- С помощью аноскопа, оборудованного ультразвуковым элементом, находят капилляры, питающие шишку.
- Накладывают на обнаруженные артерии швы. На этом операция заканчивается.
После такого вмешательства геморроидальные выпячивания не только исчезают, но не возникают в будущем. Комбинированный способ hal — rar и методику hal применяют при любых стадиях геморроя.
How to create a new workspace
The first thing to do is to create a Workspace to host the projects.
For STM32CubeIDE
In the folder that should contain the Workspace, create a new folder with the name of the Workspace.Then start STM32CubeIDE. In the first screen select the newly created folder.
That’s all.
For TrueSTUDIO
Start TrueSTUDIO. The first screen allows to create a workspace:
Click the “Browse…” button.Navigate to the target directory, where the workspace directory will be created.Click “Create a new folder”, then give the name of the new workspace.Be sure to have the workspace directory name in the “Directory” field, then click OK.
Click OK in the Eclipse Launcher, and the new empty workspace is created:
Ответы на часто задаваемые вопросы
Ваша вебкам студия предоставляет проживание?
Пока нет, к сожалению, но мы над этим думаем. Наши модели иногда ищут компанию для совместной аренды жилья, можем в этом посодействовать. Также в пешей доступности от студии находится несколько хороших и недорогих хостелов.
Какие требования у вашей студии к работе и к модели?
Нам важна самоорганизация при планировании рабочего времени. Вам нужно составлять свое расписание на неделю вперед, приходить вовремя и не прогуливать смены без уважительной причины. Не быть грубой по отношению к остальному коллективу. Посещать наши обучающие семинары (1 раз в месяц) .
Мой английский оставляет желать лучшего…получится ли у меня?
Да, получится, но только в том случае, если ты приложишь немного усилий по обучению! На компьютерах установлен переводчик — можно поначалу им активно пользоваться Мы советуем установить на телефон приложение по изучению английского и уделять ему хотя бы 10 мин в день. Этого вполне хватит, чтобы через год словарный запас составлял минимум 2000 слов. А этого уже достаточно, чтобы свободно общаться на многие темы!
Возможна ли работа на дому? Я из другого города
Да, с нами можно сотрудничать удаленно. Мы в 2020 году открыли нашу онлайн вебкам школу, у каждого ученика будет свой персональный наставник. А также два разных обучения: для фришных и приватных сайтов. У каждой модели свой личный кабинет с прозрачной статистикой заработка и доступ к уникальным материалам.
Что по поводу отпусков?
Мы часто даем отпуска без каких-либо условностей. Но предупреждаем, что на период длительного застоя популярность Ваших страниц падает, и по приезду нужно опять их восстанавливать. Каждая модель знает, что от рейтинга напрямую зависят ее заработки.
Получится ли совмещать с основной работой или учебой?
Почему бы и нет? У нас короткие смены, это дает такую возможность. На период экзаменов модели обычно берут отпуск, либо подстраивают свой график.
У вас калькулятор, конечно здорово считает, но реально ли столько заработать?
Калькулятор выдает средние цифры, но в целом, они верны для модели с опытом работы от одного месяца. Мы не будем обещать золотых гор, чтобы быть успешной Вам нужно приложить усилия: посещать наши семинары, научиться подбирать образы и подтянуть английский. А главное — постоянно быть позитивной и общительной!
Какие преимущества у работы вебкам моделью, кроме высокого заработка?
— Работа позволит сильно подтянуть английский язык — в жизни, ох, как пригодится!— Повысить свою самооценку, так как комплименты будут сыпаться, как из рога изобилия— Поможет раскрепоститься, если Вы по жизни скромная— Прокачается Ваш артистизм и навыки перевоплощения
Кто может стать веб моделью?
Вебкам моделью может быть практически любая совершеннолетняя(18+) девушка. Можно и без опыта. Внешние данные важны, но они не имеют первостепенного значения
Самое важное — это внутреннее обаяние и приветливость
Я отправила анкету, но мне не перезвонили! Такое возможно?
Да, такое тоже возможно. У нас маленькая и уютная студия: мы сделали ставку не на количество, а на качество. Наша студия тратит колоссальные усилия на раскрутку модели, поэтому мы берем на работу девушек только в том случае, если видим стремление и потенциал, внешность не имеет первостепенного значения. Также мы не перезваниваем, если модель ничего о себе не написала в анкете. Это дает свои плоды — у нас нет текучки сотрудников!
Когда я смогу получить первую зарплату?
Первая зарплата зависит от того, когда вы начали работу, так как зарплата выдается 2 раза в месяц, к начале и в середине месяца. Если Вам нужен аванс, то необходимо обратиться к администратору студии. Также есть возможность получать ежедневные выплаты в первую неделю работы!
Можно ли просто общаться? Без эротики?
Конечно! Вы (и только Вы) сами определяете моральные границы дозволенного! Зарабатывать только на общении — это пик мастерства и не скроем, что для этого нужен хороший английский! Вам нужно быть очень интересной для своих фанатов. Посетители ценят личные качества девушки, умение поддержать увлекательную беседу. Многим из них нужен личный психолог, так как они устали от рутины и находятся в поисках места, где можно излить душу и быть понятым. Кому-то просто нужны ответы на сокровенные вопросы, которые их волнуют. Или даже Ваши советы, как представительницы противоположного пола! Один из главных принципов — неподдельный интерес.
Download to MCU target without debug
Sometimes it is useful to flash the application in the target without launching the debugger. To do this, a special “Run configuration” must be created.
TrueSTUDIO
The difference between Run and Debug configurations is only the script content:
- In the Project Explorer select your project.
- In the menu Run select “Debug Configuration…”
- Right click “Embedded C/C++ Application” and select “New”
- Give it a name, example “L4R5 Run”
- In “C++ Application” select “Browse..” and select your application .elf file in the Debug folder. Then remove the absolute path and leave only “Debug\project_name.elf”.
- In the “Debugger” tab select your debugger probe.
- In the “Startup Script” tab, replace the end of the script with “quit”
- In the “Common” tab, select “Shared file”, and check “Debug” under “Display in favorites menu”.
The run script looks like:
If you already have a working debug configuration, there is a simpler procedure:
- In the Project Explorer select your project.
- In the menu Run select “Debug Configuration…”
- Right click your configuration and select Duplicate
- Modify the name, example “L4R5 Run”
- In the “Startup Script” tab, modify the scrip.
Customize the current perspective to launch your debug / run configurations:
- In the menu “Windows” select “Perspective / Customize Perspective”
- In the “Tool Bar Visibility” tab expand the “Launch” item.
- Uncheck and check again the “Debug” subitem.
Now in the toolbar you should have a “Debug”button with a drop-down list to select the desired debug configurations.Thanks to: https://calinradoni.blogspot.com/2016/09/atollic-truestudio-download-without.html for this tip.
Микроконтроллеры Процессоры, проекты, программирование
Запуск IDE ничем не отличается от подобной процедуры для других программ. После двойного клика на иконку, первым делом появится окно Select Workspace, запрашивающее рабочую папку проекта. После выбора нужной папки открывается приглашение Atollic TrueSTUDIO, а затем рабочее окно среды программирования.
После открытия основного окна из выпадающего меню File, выбирается пункт New, в котором выделяется раздел Project и пункт C Project.
Во втором окне мастера проекта, под названием TrueSTUDIO Build Settings, самым важным является пункт Evaluation Board, в котором необходимо выбрать название используемой отладочной платы, в данном случае STM32_Discovery. В оставшихся окнах настройки больше ничего менять не нужно.
https://youtube.com/watch?v=gl7F6UAdZJY
После завершения настройки проекта, откроется рабочее окно, в котором и будут происходить все основные действия по разработке программ.
Для отображения исполняемого файла в инспекторе кода следует открыть папку SRC, и выбрать файл main.c. Данный файл создается из шаблона, предназначенного для нескольких плат.
Поэтому в нем достаточно много определений, не нужных в первом проекте. При желании всю лишнюю информацию можно убрать.
Разработка первой программы
Для первого проекта использован набор библиотек stm32vldiscovery_package, поставляемых STMicrolectronics. Специально для платы STM32 Discovery существует библиотека STM32vldiscovery, в которой описаны функции работы с устройствами, расположенными на плате.
Программа для STM32 Discovery не использует никаких процедур работы с периферийными устройствами, кроме встроенных светодиодов. Мигание реализовано циклом задержки. Для этой цели можно использовать встроенные таймеры, но для простоты проекта они не задействованы.
/* Includes */#include #include “stm32f10x.h”#include “STM32vldiscovery.h”static __IO uint32_t TimingDelay;void Delay(uint32_t nTime);void TimingDelay_Decrement(void);/** Тело программы */int main(void){/** Настройка портов**/ STM32vldiscovery_LEDInit(LED3); STM32vldiscovery_LEDInit(LED4); STM32vldiscovery_LEDOff(LED3); STM32vldiscovery_LEDOff(LED4);/** Основной цикл **/ while (1) { STM32vldiscovery_LEDOn(LED3); STM32vldiscovery_LEDOff(LED4); Delay(500000); STM32vldiscovery_LEDOff(LED3); STM32vldiscovery_LEDOn(LED4); Delay(500000); }}/** Подпрограмма задержки**/void Delay(uint32_t nTime){ TimingDelay = nTime; while(TimingDelay != 0) { TimingDelay–; }
}
Запуск и отладка программы
После того как код набран, можно перейти к запуску и отладке программы. Делается это нажатием кнопки DEBUG (зеленый жучек) или клавиши F11. После этого программа откопилируется, и если все пройдет успешно, откроется окно настройки отладчика, в котором можно просто нажать Ok. Далее происходит запуск встроенной системы отладки, и прошивка программы в микроконтроллер.
Работа с отладчиком не отличается от других подобных систем. Например, нажимая кнопки пошагового исполнения F5 или F6 можно проследить работу программы по отдельным строкам кода, а после нажатия F8, контроллер начнет нормальное исполнение программы. В процессе отладки на плате мигает красный светодиод COM.
You have no rights to post comments