-
- инициализация ядра STM32F103 на асме - m16_home(19.01.2020 17:04, ссылка)
- Спасибо. Посмотрел. Стек не инициализируют. - Nikolay_Po(19.01.2020 17:33)
- закладка чистый проект в keil. как правильно заметил SciFi - в нулевую ячейку пишется значение указателя стека m16_home(508 знак., 19.01.2020 17:49, ссылка)
- Спасибо. Нашёл. Из комплектного STM32CubeIDE, startup_stm32f107vctx.s, начало кода: Nikolay_Po(501 знак., 19.01.2020 18:55)
- закладка чистый проект в keil. как правильно заметил SciFi - в нулевую ячейку пишется значение указателя стека m16_home(508 знак., 19.01.2020 17:49, ссылка)
- Спасибо. Посмотрел. Стек не инициализируют. - Nikolay_Po(19.01.2020 17:33)
- Странно, конечно. Наверняка в интернетах множество вариантов "помигать лампочкой". Ну а если прошивка годная, то среди подозреваемых остаются прошивалка и железо. Что там ещё может быть? - SciFi(19.01.2020 14:07)
- Лампочкой-то мигают все, с этим у меня порядок. Стек только не там лежит... Во всех испробованных вариантах IDE и компиляторов GCC. - Nikolay_Po(19.01.2020 14:50)
- Не стек, а SP содержит странное значение. То есть ваша задача 1) знать, что там должно быть, хотя бы приблизительно, 2) выяснить, как там оказалось не то, что нужно. - SciFi(19.01.2020 15:11)
- Простой программе, где лишь один уровень вложенности, стек почти не нужен и она заработает при любом значении в SP, лишь бы попадало на ОЗУ и не затиралось. Приблизительно там должен быть адрес возврата в main(). Nikolay_Po(131 знак., 19.01.2020 15:46)
- Процессор при старте читает ячейку с нулевым адресом и записывает в SP. Такшта начальное значение SP можете увидеть прямо в хекс-файле прошивки. SciFi(246 знак., 19.01.2020 15:51 - 15:55)
- Спасибо. Нашёл в мануале: "After this startup delay has elapsed, the CPU fetches the top-of-stack value from address 0x0000 0000, then starts code execution from the boot memory starting from 0x0000 0004". Nikolay_Po(1327 знак., 19.01.2020 17:50)
- Про ногу BOOT0 ещё не забудьте почитать. А лучше ещё и от корки до корки бегло пролистать. - SciFi(19.01.2020 18:10)
- Доверился плате, и даже не проверял, поначалу работало. Оказывается, переключатель FLASH/SYSTEM переключился в положение SYSTEM (носил неоднократно клал плату в сумке с компьютером, завёрнутую в тряпочку), Nikolay_Po(139 знак., 19.01.2020 18:32)
- точно, должен быть "0" для старта из flash. - m16_home(19.01.2020 18:20)
- Про ногу BOOT0 ещё не забудьте почитать. А лучше ещё и от корки до корки бегло пролистать. - SciFi(19.01.2020 18:10)
- Спасибо. Нашёл в мануале: "After this startup delay has elapsed, the CPU fetches the top-of-stack value from address 0x0000 0000, then starts code execution from the boot memory starting from 0x0000 0004". Nikolay_Po(1327 знак., 19.01.2020 17:50)
- Процессор при старте читает ячейку с нулевым адресом и записывает в SP. Такшта начальное значение SP можете увидеть прямо в хекс-файле прошивки. SciFi(246 знак., 19.01.2020 15:51 - 15:55)
- Простой программе, где лишь один уровень вложенности, стек почти не нужен и она заработает при любом значении в SP, лишь бы попадало на ОЗУ и не затиралось. Приблизительно там должен быть адрес возврата в main(). Nikolay_Po(131 знак., 19.01.2020 15:46)
- Не стек, а SP содержит странное значение. То есть ваша задача 1) знать, что там должно быть, хотя бы приблизительно, 2) выяснить, как там оказалось не то, что нужно. - SciFi(19.01.2020 15:11)
- Лампочкой-то мигают все, с этим у меня порядок. Стек только не там лежит... Во всех испробованных вариантах IDE и компиляторов GCC. - Nikolay_Po(19.01.2020 14:50)
- Скину вечером все необходимое, если до этого не ответят. - evgeniy1294(19.01.2020 13:58)
- Невполне понятен вопрос... POV_(180 знак., 19.01.2020 13:06, )
- Примерно так и делал. Брал STMCubeMX, с его кодом работал в Eclipse. Брал Eclipse CDT, с шаблонами GNU MCU Eclipse, работал с ними. Брал STM32CubeIDE, внутри STMCubeMX. Nikolay_Po(683 знак., 19.01.2020 13:14)
- Ага, помер. на второй версии обосрались... POV_(26 знак., 19.01.2020 14:15, )
- Примерно так и делал. Брал STMCubeMX, с его кодом работал в Eclipse. Брал Eclipse CDT, с шаблонами GNU MCU Eclipse, работал с ними. Брал STM32CubeIDE, внутри STMCubeMX. Nikolay_Po(683 знак., 19.01.2020 13:14)
- инициализация ядра STM32F103 на асме - m16_home(19.01.2020 17:04, ссылка)