ARM STM32 F4 с чего начать?
|
|
uwrtey | Дата: Понедельник, 24.02.2014, 21:21 | Сообщение # 16 |
Генерал-майор
Группа: Администраторы
Сообщений: 3300
Статус: Offline
| Вот тут автор использует в качестве компилятора STM32 ST-LINK utility
А вот тут автор то-же предлагает скачать STM32 ST-LINK utility Но помимо этого он еще предлагает скачать с ЛАНЧПАДА gcc-arm-none-eabi-4_8-2013q4-20131204-win32.exe и указать в качестве компилятора то что скачали с ЛАНЧПАДА Зачем-же он тогда скачивал STM32 ST-LINK utility ???
И что указать в качестве компилятора мне???
не успеваю за своими мыслями......
|
|
| |
olegau | Дата: Понедельник, 24.02.2014, 21:41 | Сообщение # 17 |
Сержант
Группа: Проверенные
Сообщений: 77
Статус: Offline
| В среде CooCox надо указать путь к компилятору gss toolchain, необходимому для компиляции, Скачиваем и устанавливаем сначала CooCox, затем gss toolchain, После успешной установки gss toolchain высветится чёрное окошечко, в котором указан путь который и нужно скопипастить, поместив в настройки CooCox. http://www.coocox.org/CoIDE/Compiler_Settings.html А драйвер ST-Link нужен для прошивки микроконтроллера. Отлаживать и прошивать можно прямо в среде CooCox. Рекомендуется скачать последнюю версию CooCox. Там много полезных примеров. Есть также встроенная библиотека. http://www.coocox.org/CoIDE/CoIDE_Updates.htm
Сообщение отредактировал olegau - Понедельник, 24.02.2014, 21:53 |
|
| |
uwrtey | Дата: Понедельник, 24.02.2014, 22:21 | Сообщение # 18 |
Генерал-майор
Группа: Администраторы
Сообщений: 3300
Статус: Offline
| А почему в первой статье автор использует в качестве компилятора STM32 ST-LINK utility ???
не успеваю за своими мыслями......
|
|
| |
ВитГо | Дата: Вторник, 25.02.2014, 19:09 | Сообщение # 19 |
Полковник
Группа: Администраторы
Сообщений: 2422
Статус: Offline
| в качестве компилятора st-link utilit'у использовать нельзя только в качестве программы прошивальщика..
автор об этом и пишет.. читай внимательнее статью - компилятор он предлагает скачать раньше...
Виталий (аka ВитГо)
|
|
| |
uwrtey | Дата: Вторник, 25.02.2014, 22:11 | Сообщение # 20 |
Генерал-майор
Группа: Администраторы
Сообщений: 3300
Статус: Offline
| А-а, ну точно-же. Вот я тупанул-то. Сделал все как автор велит, а разбираться стал следующей ночью - вот и напутал все. Ну да ладно - это я уже оправдываюсь...
Тогда другой вопрос задам. Какой компилятор лучше использовать? Тот что в этой статье ( http://www.coocox.org/Tools/arm-2011.03-coocox.rar ) или в этой ( https://launchpad.net/gcc-arm....n32.exe ) И в чем их принципиальная разница?
не успеваю за своими мыслями......
Сообщение отредактировал uwrtey - Вторник, 25.02.2014, 22:12 |
|
| |
Sergi | Дата: Вторник, 25.02.2014, 22:49 | Сообщение # 21 |
Подполковник
Группа: Проверенные
Сообщений: 540
Статус: Offline
| Поставив CooCox, не нашел своего камня, не успели прописать. Keil справился, хотя раньше писал в IAR. Особой разницы не заметил. Проекты начинаю на бумаге - требования, ресурсы, скорость. Программная реализация - перевод с человечьего языка на машинный- не составит труда. Главное алгоритм. ( По законам робототехники, я - бог! И за ошибки отвечаю лично! )
|
|
| |
uwrtey | Дата: Суббота, 01.03.2014, 22:39 | Сообщение # 22 |
Генерал-майор
Группа: Администраторы
Сообщений: 3300
Статус: Offline
| Ну вот мне удалось помигать светодиодом
не успеваю за своими мыслями......
Сообщение отредактировал uwrtey - Суббота, 01.03.2014, 22:50 |
|
| |
uwrtey | Дата: Суббота, 01.03.2014, 22:50 | Сообщение # 23 |
Генерал-майор
Группа: Администраторы
Сообщений: 3300
Статус: Offline
| У меня есть парочка вопросов ( на счет парочки я вру - у меня их "уйма" ) С вашего разрешения я задам несколько:
1) Решил на основе этой статьи включить пару светодиодов на STM32F4Discovery написал вот такой код: Код #include "stm32f4xx_rcc.h"
int main(void) {
RCC->APB2ENR |= RCC_APB2Periph_GPIOD; // включаем тактирование порта "D" GPIOD->CRH |=0x00330000; // настраиваем порт GPIOD->CRH &=0xFF33FFFF; GPIOD->ODR |=(GPIO_ODR_ODR12|GPIO_ODR_ODR13); // выводим сигнал на пины } Но - компилятор выдает кучу ошибок. Объясните пожалуйста в чем ошибка. ???
2) Пытаюсь запустить пример с использованием акселерометра. ( самый поселений пример ( третий )) Выдает ошибку: Цитата BUILD FAILED Directory d:\prj\stm32\lis302dllis302dl_flash\Debug\bin creation was not successful for an unknown reason что за ошибка такая? от куда он берет этот адрес? d:\prj\stm32\lis302dllis302dl_flash\Debug\bin ??? у меня нет диска Д... Я так понимаю этот адрес прописан где то в проекте.. Где?
не успеваю за своими мыслями......
Сообщение отредактировал uwrtey - Суббота, 01.03.2014, 23:49 |
|
| |
olegau | Дата: Воскресенье, 02.03.2014, 00:42 | Сообщение # 24 |
Сержант
Группа: Проверенные
Сообщений: 77
Статус: Offline
| может это поможет.. свои проекты стараюсь размещать в папке \CooCox\CoIDE\workspace Всё это хозяйство у меня на диске С
|
|
| |
uwrtey | Дата: Воскресенье, 02.03.2014, 11:23 | Сообщение # 25 |
Генерал-майор
Группа: Администраторы
Сообщений: 3300
Статус: Offline
| Дак и у меня там все лежит...
не успеваю за своими мыслями......
|
|
| |
ВитГо | Дата: Воскресенье, 02.03.2014, 15:10 | Сообщение # 26 |
Полковник
Группа: Администраторы
Сообщений: 2422
Статус: Offline
| Цитата uwrtey ( ) Решил на основе этой статьи включить пару светодиодов на STM32F4Discovery написал вот такой код: Код
#include "stm32f4xx_rcc.h"
int main(void) {
RCC->APB2ENR |= RCC_APB2Periph_GPIOD; // включаем тактирование порта "D" GPIOD->CRH |=0x00330000; // настраиваем порт GPIOD->CRH &=0xFF33FFFF; GPIOD->ODR |=(GPIO_ODR_ODR12|GPIO_ODR_ODR13); // выводим сигнал на пины } Но - компилятор выдает кучу ошибок. Объясните пожалуйста в чем ошибка. ??? очень непонятно пишешь... лучше настраивай порты через SPL и понятнее и ошибки легче искать будет... помоему мы проходили это на AVR - разбирать побитово очень тяжело и ошибки найти вообще почти невозможно
Код #define LED1_PIN 1 #define LED2_PIN 2
int main(void) { RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOD, ENABLE);
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitStructure.GPIO_Pin =(1<<LED1_PIN) | (1<<LED2_PIN); GPIO_InitStructure.GPIO_Mode =GPIO_Mode_OUT; GPIO_InitStructure.GPIO_OType =GPIO_OType_PP; GPIO_InitStructure.GPIO_PuPd =GPIO_PuPd_UP; GPIO_InitStructure.GPIO_Speed =GPIO_Speed_100MHz; GPIO_Init(LCD_GPIO, &GPIO_InitStructure);
GPIO_SetBits (GPIOD, GPIO_Pin_1); GPIO_SetBits (GPIOD, GPIO_Pin_2); }
вот где то так должно быть, но не проверял, просто привел пример понятного кода...
Виталий (аka ВитГо)
|
|
| |
ВитГо | Дата: Воскресенье, 02.03.2014, 15:16 | Сообщение # 27 |
Полковник
Группа: Администраторы
Сообщений: 2422
Статус: Offline
| Цитата uwrtey ( ) Пытаюсь запустить пример с использованием акселерометра. ( самый поселений пример ( третий )) Выдает ошибку: Цитата BUILD FAILED Directory d:\prj\stm32\lis302dllis302dl_flash\Debug\bin creation was not successful for an unknown reason
что за ошибка такая? от куда он берет этот адрес? d:\prj\stm32\lis302dllis302dl_flash\Debug\bin ??? у меня нет диска Д... Я так понимаю этот адрес прописан где то в проекте.. Где?
вот из-за этого и ошибка :-) VIEW - Configuration - OutPut - параметр Patch of Executable укажи там правильный путь...
Виталий (аka ВитГо)
|
|
| |
uwrtey | Дата: Воскресенье, 02.03.2014, 19:39 | Сообщение # 28 |
Генерал-майор
Группа: Администраторы
Сообщений: 3300
Статус: Offline
| теперь вот такая ошибка: BUILD FAILED Output filename conflict: main.o would be produced from C:\CooCox\CoIDE\workspace\LIS302DL_3\example\main.c and main.c Total time: 0 seconds
не успеваю за своими мыслями......
|
|
| |
uwrtey | Дата: Воскресенье, 02.03.2014, 21:01 | Сообщение # 29 |
Генерал-майор
Группа: Администраторы
Сообщений: 3300
Статус: Offline
| Цитата ВитГо ( ) очень непонятно пишешь... лучше настраивай порты через SPL и понятнее и ошибки легче искать будет... помоему мы проходили это на AVR - разбирать побитово очень тяжело и ошибки найти вообще почти невозможно Ага, просто я решил проверить и такой способ написания то-же... Но что то у меня не пошло...
не успеваю за своими мыслями......
Сообщение отредактировал uwrtey - Воскресенье, 02.03.2014, 21:01 |
|
| |
ВитГо | Дата: Воскресенье, 02.03.2014, 21:07 | Сообщение # 30 |
Полковник
Группа: Администраторы
Сообщений: 2422
Статус: Offline
| Цитата uwrtey ( ) Output filename conflict: main.o would be produced from C:\CooCox\CoIDE\workspace\LIS302DL_3\example\main.c and main.c у тебя где проект то лежит ?
создай на диске C папку Project не в каталоге кокоса !!
Виталий (аka ВитГо)
|
|
| |