HardEgor 80 18 декабря, 2018 Опубликовано 18 декабря, 2018 · Жалоба 11 часов назад, Donker сказал: вы наверно путаете, на BOOT0 / BOOT1 должен быть низкий уровень а не высокий! Я ж откуда знаю куда вам надо, если низкий тогда проверить что напряжение на выводах не достигает 0.28*(3.3-2)+0.8 =1,164 В. 9 часов назад, Donker сказал: Соединение BOOT0 с землёй даже вообще без резистора проблему не решает. Т.е. вы напряжение на выводах не проверяли? О!, до меня только что дошло что вы наверное пытаетесь код из RAM запустить? Тогда, как советуют, еще смотрите в ваш map-файл. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Donker 0 18 декабря, 2018 Опубликовано 18 декабря, 2018 (изменено) · Жалоба HardEgor Я проверял уровень на выводе BOOT0 он там действительно низкий. Спойлер Нет я не пытаюсь запустить код из RAM, это самый обычный проект. Выкинул из проекта всё лишнее, вот что осталось: //******************************************************************************* #include "stm32f10x.h" #include "stm32f10x_gpio.h" #include "stm32f10x_rcc.h" //******************************************************************************* GPIO_InitTypeDef GPIO_InitStructure; //структурная переменная //******************************************************************************* int main(void) { //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// volatile int i; //****************************************************************************************************************************** { //настройка портов //-------------------------------------------------------------------------------------------------------------------------- RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE); //включаем тактирование GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_5; //светодиоды D1, D2, D3 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //обычный выход GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOB, &GPIO_InitStructure); //-------------------------------------------------------------------------------------------------------------------------- } while (1) { //--------------------------------------------------------------------------------- GPIO_SetBits(GPIOB, GPIO_Pin_0); //высокий уровень for(i=0;i<0x5AE8BA;i++); //delay GPIO_ResetBits(GPIOB, GPIO_Pin_0); //низкий уровень GPIO_SetBits(GPIOB, GPIO_Pin_1); for(i=0;i<0x5AE8BA;i++); //delay GPIO_ResetBits(GPIOB, GPIO_Pin_1); GPIO_SetBits(GPIOB, GPIO_Pin_5); for(i=0;i<0x5AE8BA;i++); //delay GPIO_ResetBits(GPIOB, GPIO_Pin_5); //--------------------------------------------------------------------------------- } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// } проект целиком: https://yadi.sk/d/nN9qjF5aeXpbpg проблема осталась - включение уровня оптимизации "O0" (фактически отключенная оптимизация) вместо "Oz image size" (которая по умолчанию) в компиляторе v6 делает невозможной запуск прошивки из флэша кроме как из под отладчика. (зажигаем три светодиода по кругу на 2 сек.) проект целиком: https://yadi.sk/d/nN9qjF5aeXpbpg проблема осталась - включение уровня оптимизации "O0" (фактически отключенная оптимизация) вместо "Oz image size" (которая по умолчанию) в компиляторе v6 делает невозможной запуск прошивки из флэша кроме как из под отладчика. Изменено 18 декабря, 2018 пользователем Donker Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
x893 55 18 декабря, 2018 Опубликовано 18 декабря, 2018 · Жалоба Сначала изучаем эту картинку а потом эту картинку Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
esaulenka 7 18 декабря, 2018 Опубликовано 18 декабря, 2018 · Жалоба 1 hour ago, x893 said: Сначала изучаем эту картинку Ну я вот изучил. BOOT0 в нуле (так нам обещает Donker), main flash memory, как и должно быть. Настройки JLink'а тоже стандартно-обыкновенные. Мысль не раскроете? Для средних умов, таксказать. PS Donker, может, камень сдох? Не пробовали какой-нибудь другой экземпляр? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
x893 55 18 декабря, 2018 Опубликовано 18 декабря, 2018 · Жалоба 35 minutes ago, esaulenka said: Ну я вот изучил. BOOT0 в нуле (так нам обещает Donker), main flash memory, как и должно быть. Настройки JLink'а тоже стандартно-обыкновенные. Мысль не раскроете? Для средних умов, таксказать. PS Donker, может, камень сдох? Не пробовали какой-нибудь другой экземпляр? Не пойму, что именно раскрывать. Все на картинке. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
esaulenka 7 18 декабря, 2018 Опубликовано 18 декабря, 2018 · Жалоба Что именно мы должны увидеть на картинке? (и на какой из двух?) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alevnew 0 19 декабря, 2018 Опубликовано 19 декабря, 2018 · Жалоба А как именно ресет организован? Что на нем стоит снаружи? Микросхема какая, или кондер,подтяжка, или ничего? Был случай. Я ставлю на ресет MCP120, выход с открытым стоком. Но как-то раз они у меня закончились, но была куча MCP100 с push-pull выходом. Ну думаю, какая разница. Поставил. Эх и наловился глюков. Совершенно непонятно стартовало. То в Hardfault вываливалось, то не запускался PLL. Потом доперло, что на pullup перетягивает внутренний ресет. Осцилл это подтвердил. Т.е. надо ставить или с открытым стоком, или просто кондер 0.1 мкф на GND. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Donker 0 19 декабря, 2018 Опубликовано 19 декабря, 2018 · Жалоба Схема в архиве с проектом. Просто кнопка на землю и всё, выводы 5 и 6 разъёма J9 пока никуда не подключены. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
HardEgor 80 19 декабря, 2018 Опубликовано 19 декабря, 2018 · Жалоба Единственно что мне непонятно, почему программа пытается исполнятся из RAM? И зачем в имени файла .cpp ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Donker 0 19 декабря, 2018 Опубликовано 19 декабря, 2018 · Жалоба Проект будет в дальнейшем использовать куски кода C++ а не чистый C, пока это простой тестовый проект, они там не встречаются. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
id_Alx 0 20 декабря, 2018 Опубликовано 20 декабря, 2018 · Жалоба Прошил STM32F105RB.hex из проекта в STM32F107RCT6 - на PB0, PB1, PB5 есть меандр. Это тот, что не запускается? BOOT через светодиоды нельзя сажать, может 0 не увидеть. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Donker 0 21 декабря, 2018 Опубликовано 21 декабря, 2018 · Жалоба Тот hex что в проекте, это рабочий вариант т.к. скомпилирован с уровнем оптимизации по умолчанию. Я приложил hex скомпилипованный без оптимизации, вот с ним должны быть проблема. STM32F105RB.hex Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться