Создание проекта (Keil 5) + ошибка в Proteus 8 STM32F103C6

Кто любит RISC в жизни, заходим, не стесняемся.
Ответить
Orel007127
Родился
Сообщения: 17
Зарегистрирован: Ср ноя 29, 2017 00:14:49

Создание проекта (Keil 5) + ошибка в Proteus 8 STM32F103C6

Сообщение Orel007127 »

Здравствуйте. Поскольку мои микроконтроллеры пока что находятся на складах в другой стране, я бы хотел немного поиграться в симуляторе. Получаю .hex в Keil 5 и CoIDE 1.7.8, закидываю их в протеус и при симуляции 10 раз в микросекунду мне сообщают, что "Access to register of unclocked peripheral at 0x40010800 cause BUS_FAULT". Я правильно понимаю, что это не включилось тактирование? В данном случае (нашел в даташите) это адрес регистра GPIOA_CRL, но если заместо работы с портами попытаться настроить к примеру таймер, то будет та же самая ошибка, только адрес в ошибке поменяется на регистры таймеров.
В Keil в pack installer я выбрал STM32F103C6 и установил все что можно. При создании проекта я выбираю этот микроконтроллер и подключаю CORE из CMSIS, Startup из Devise, RCC, GPIO с Framevork из StdPerifDevise. Потом нажимаю ПКМ по Source Group 1, выбираю Add New Item, где добавляю main.c. Ну и данный код в main:

Код: Выделить всё

#include "stm32f10x.h"
#include "stm32f10x_gpio.h"
#include "stm32f10x_rcc.h"

int main(void) {
	GPIO_InitTypeDef GPIO_InitStructure;
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
	GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_2;
  	GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
  	GPIO_Init(GPIOA, &GPIO_InitStructure);
	while(1) {
	}
}
Одних этих include достаточно ведь? Пути к папкам, где лежат эти файлы нигде не надо же указывать? В общем далее в Options for Target на в кладке Output, ставлю галку Create HEX. Нажимаю Build, ошибок нет, получаю .hex, закидываю его в протеус ну и эта ошибка. Пробовал без StdPerif (подключив только CORE из CMSIS и Startup из Devise). Тактирование включал записью в регистр RCC->APB2ENR число 0x4 или 0xFFFFFFFF и настраивал ножки в GPIOA->CRL числом 0x3. Тот же самый результат. В CoIDE выбрал микроконтроллер и подключил CMSIS Boot, CMSIS core RCC, GPIO. Набрал тот же самый код, Build без ошибок и все равно в протеусе ошибка. Полазил по файлам библиотек, вроде все нужные define есть (частота в 72 MHz точно не закоментирована). Так же пробовал поискать в инете различные готовые .hex для этого микроконтроллера, но либо вообще ничего не происходило, либо эта ошибка. Единственное можно при создание проекта в протеусе выбрать Create Firmware Project, появится вкладка для набора кода. Введенный туда "Hello, world!" вроде работает, точно не помню, но это не совсем то, что нужно. Atmega8 в протеусе нормально работала, а вот ARM никак не могу запустить.
Ну и собственно вопрос: В может быть причина? Я неправильно создаю проект? Нерабочие библиотеки себе IDE скачали? Или если залить эти прошивки в реальный микроконтроллер, то они будут работать (проблема только в протеусе)?
Реклама
Аватара пользователя
AndTer
Поставщик валерьянки для Кота
Сообщения: 2406
Зарегистрирован: Ср фев 23, 2011 12:12:31

Re: Создание проекта (Keil 5) + ошибка в Proteus 8 STM32F103

Сообщение AndTer »

Возьми CUBE для генерации первоначального кода и пиши в Keil на HAL.
Глупый не задает вопросы. Глупый и так все знает.
Реклама
Аватара пользователя
dosikus
Друг Кота
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

Re: Создание проекта (Keil 5) + ошибка в Proteus 8 STM32F103

Сообщение dosikus »

[uquote="AndTer",url="/forum/viewtopic.php?p=3245673#p3245673"]Возьми CUBE для генерации первоначального кода и пиши в Keil на HAL.[/uquote]
Гуру медвежьих услуг? :)))

Orel007127, модель в протеусе с багами, сейчас тестируют новую...
Аватара пользователя
oleg110592
Друг Кота
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

Re: Создание проекта (Keil 5) + ошибка в Proteus 8 STM32F103

Сообщение oleg110592 »

тактирование STM32 в протеусе на данный момент похоже не "симулируется".
тут на 8МГц дрыганье ногами и далее симуляцию таймера в протеусе тестировал:
http://radiokot.ru/forum/viewtopic.php? ... 5#p3180635
Реклама
Эиком - электронные компоненты и радиодетали
Orel007127
Родился
Сообщения: 17
Зарегистрирован: Ср ноя 29, 2017 00:14:49

Re: Создание проекта (Keil 5) + ошибка в Proteus 8 STM32F103

Сообщение Orel007127 »

[uquote="oleg110592",url="/forum/viewtopic.php?p=3245735#p3245735"]тут на 8МГц дрыганье ногами и далее симуляцию таймера в протеусе тестировал:[/uquote]Ваш проект у меня в Keil 5 нормально открывается и компилируется без ошибок. Полученный .hex в протеусе тоже работает. Отключаю тактирование и летят те же самые ошибки. Получается это я не правильно что-то при создании проекта делаю... Но что именно?
Реклама
Аватара пользователя
dosikus
Друг Кота
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

Re: Создание проекта (Keil 5) + ошибка в Proteus 8 STM32F103

Сообщение dosikus »

Orel007127, еще раз...
Labcenter Electronics признали ошибки в моделях, сейчас работают над устранением...
Реклама
Orel007127
Родился
Сообщения: 17
Зарегистрирован: Ср ноя 29, 2017 00:14:49

Re: Создание проекта (Keil 5) + ошибка в Proteus 8 STM32F103

Сообщение Orel007127 »

dosikus, это точно проблема только в протеусе? Проект у меня правильно создан и если залить прошивку в реальный мк, то он будет нормально работать? Просто тактирование в протеусе работает, смотря что за прошивка, от библиотеки видать зависит.
Аватара пользователя
dosikus
Друг Кота
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

Re: Создание проекта (Keil 5) + ошибка в Proteus 8 STM32F103

Сообщение dosikus »

Да.
Просили протестировать модели , получил аналогичные результаты .
Отослал проекты разработчику, ответ выше уже озвучил.
Можешь сам запрос сделать - ник Тень обитает на казусе...
Orel007127
Родился
Сообщения: 17
Зарегистрирован: Ср ноя 29, 2017 00:14:49

Re: Создание проекта (Keil 5) + ошибка в Proteus 8 STM32F103

Сообщение Orel007127 »

dosikus, спасибо.
Ответить

Вернуться в «ARM»