Форум РадиоКот https://radiokot.ru/forum/ |
|
Создание проекта (Keil 5) + ошибка в Proteus 8 STM32F103C6 https://radiokot.ru/forum/viewtopic.php?f=59&t=150375 |
Страница 1 из 1 |
Автор: | Orel007127 [ Ср ноя 29, 2017 01:39:31 ] |
Заголовок сообщения: | Создание проекта (Keil 5) + ошибка в Proteus 8 STM32F103C6 |
Здравствуйте. Поскольку мои микроконтроллеры пока что находятся на складах в другой стране, я бы хотел немного поиграться в симуляторе. Получаю .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 [ Ср ноя 29, 2017 09:46:42 ] |
Заголовок сообщения: | Re: Создание проекта (Keil 5) + ошибка в Proteus 8 STM32F103 |
Возьми CUBE для генерации первоначального кода и пиши в Keil на HAL. |
Автор: | dosikus [ Ср ноя 29, 2017 10:54:07 ] |
Заголовок сообщения: | Re: Создание проекта (Keil 5) + ошибка в Proteus 8 STM32F103 |
Возьми CUBE для генерации первоначального кода и пиши в Keil на HAL. Гуру медвежьих услуг? ![]() Orel007127, модель в протеусе с багами, сейчас тестируют новую... |
Автор: | oleg110592 [ Ср ноя 29, 2017 11:45:57 ] |
Заголовок сообщения: | Re: Создание проекта (Keil 5) + ошибка в Proteus 8 STM32F103 |
тактирование STM32 в протеусе на данный момент похоже не "симулируется". тут на 8МГц дрыганье ногами и далее симуляцию таймера в протеусе тестировал: viewtopic.php?p=3180635#p3180635 |
Автор: | Orel007127 [ Ср ноя 29, 2017 15:00:39 ] |
Заголовок сообщения: | Re: Создание проекта (Keil 5) + ошибка в Proteus 8 STM32F103 |
тут на 8МГц дрыганье ногами и далее симуляцию таймера в протеусе тестировал: Ваш проект у меня в Keil 5 нормально открывается и компилируется без ошибок. Полученный .hex в протеусе тоже работает. Отключаю тактирование и летят те же самые ошибки. Получается это я не правильно что-то при создании проекта делаю... Но что именно?
|
Автор: | dosikus [ Ср ноя 29, 2017 15:13:47 ] |
Заголовок сообщения: | Re: Создание проекта (Keil 5) + ошибка в Proteus 8 STM32F103 |
Orel007127, еще раз... Labcenter Electronics признали ошибки в моделях, сейчас работают над устранением... |
Автор: | Orel007127 [ Ср ноя 29, 2017 18:36:29 ] |
Заголовок сообщения: | Re: Создание проекта (Keil 5) + ошибка в Proteus 8 STM32F103 |
dosikus, это точно проблема только в протеусе? Проект у меня правильно создан и если залить прошивку в реальный мк, то он будет нормально работать? Просто тактирование в протеусе работает, смотря что за прошивка, от библиотеки видать зависит. |
Автор: | dosikus [ Ср ноя 29, 2017 20:54:17 ] |
Заголовок сообщения: | Re: Создание проекта (Keil 5) + ошибка в Proteus 8 STM32F103 |
Да. Просили протестировать модели , получил аналогичные результаты . Отослал проекты разработчику, ответ выше уже озвучил. Можешь сам запрос сделать - ник Тень обитает на казусе... |
Автор: | Orel007127 [ Чт ноя 30, 2017 16:22:43 ] |
Заголовок сообщения: | Re: Создание проекта (Keil 5) + ошибка в Proteus 8 STM32F103 |
dosikus, спасибо. |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |