Jump to content

    

Donker

Участник
  • Content Count

    90
  • Joined

  • Last visited

Everything posted by Donker


  1. На другом форуме ответили - ошибка в библиотеке, можно лепить костыли кому какие нравятся: https://radiokot.ru/forum/viewtopic.php?f=59&t=160456&p=3561277#p3561277
  2. Заливка прошивки обычным образом во флэш проблему занижения таймингов не решает. Если USART использует переменную SystemCoreClock то такое искажение можно объяснить значением SystemCoreClock в 56 мГц, но откуда там могла взяться такая цифра я не понимаю, если кто хочет помочь выкладываю проект: STM32F105RBT6 + USART.rar
  3. Подобрал число USART_InitStructure.USART_BaudRate = 85038; что бы увидеть в ЛА тайминг 9 бит за 78us и передача от микроконтроллера на терминал заработала! APB2 у меня настроена на 36мГц основная частота 72мГц (это точно, иначе неправильно работали бы таймер и DWT) Вот функция настройки основного тактирования: Этот проект тестовый, поэтому я использую загрузку прошивки в RAM, флэш не трогаю, это могло повлиять?
  4. Передаю с STM32F105RBT6 байт: на терминал Bray Terminal v1.9, а приходит байт 0xC8 (это 0x31 задом на перёд) а иногда вообще 0xC9 (см. Терминал.png). настройка USART: Пишу в Keil 5.26. Можно ли изменить направление байта на стороне микроконтроллера? Можно ли изменить направление байта на стороне Bray Terminal v1.9? Нормальные ли тайминги для выбранной скорости 115200 (см. ЛА.png)? девять битов должны передаваться за 78us (1/115200)*9=0,000 078 125 а передаются за 58us судя по ЛА!
  5. Тот hex что в проекте, это рабочий вариант т.к. скомпилирован с уровнем оптимизации по умолчанию. Я приложил hex скомпилипованный без оптимизации, вот с ним должны быть проблема. STM32F105RB.hex
  6. Проект будет в дальнейшем использовать куски кода C++ а не чистый C, пока это простой тестовый проект, они там не встречаются.
  7. Схема в архиве с проектом. Просто кнопка на землю и всё, выводы 5 и 6 разъёма J9 пока никуда не подключены.
  8. HardEgor Я проверял уровень на выводе BOOT0 он там действительно низкий. Нет я не пытаюсь запустить код из RAM, это самый обычный проект. Выкинул из проекта всё лишнее, вот что осталось: (зажигаем три светодиода по кругу на 2 сек.) проект целиком: https://yadi.sk/d/nN9qjF5aeXpbpg проблема осталась - включение уровня оптимизации "O0" (фактически отключенная оптимизация) вместо "Oz image size" (которая по умолчанию) в компиляторе v6 делает невозможной запуск прошивки из флэша кроме как из под отладчика.
  9. Соединение BOOT0 с землёй даже вообще без резистора проблему не решает. Я думаю, писатели библиотек проверяют свой код не во всех возможных настройках разных версий компиляторов, а только на тех что по умолчанию ( "Oz image size" - это по умолчанию), и возможно только на компиляторе v5, отсюда такие чудеса!
  10. Кстати, у официального производителя чипа есть отладочная плата на STM32F107 и там эти самые резисторы по 10к https://www.st.com/content/ccc/resource/technical/document/user_manual/02/66/fa/ac/78/e4/4f/18/CD00212441.pdf/files/CD00212441.pdf/jcr:content/translations/en.CD00212441.pdf (см. 34 страницу)
  11. HardEgor вы наверно путаете, на BOOT0 / BOOT1 должен быть низкий уровень а не высокий!
  12. Просто скопировал со схемы "голубой таблетки" на STM32F103C8C6 там 100к! А какие вы резисторы ставите на BOOT0 / BOOT1 ? На BOOT1 надо хотя бы 165ом повесить, его можно нечайно на выход включить, что б ток не превысил 20ма.
  13. Обнаружил кое что не понятное - компилирую компиляторм V6.10.1 оптимизация "O0" проблема есть, выбираю оптимизацию Oz image size проблема исчезает! Также проблема исчезает если выбрать компилятор V5 (но мне надо обязательно V6). Я думаю что такое поведение не может быть из-за того что линии BOOT0 / BOOT1 притягиваются к земле или +3,3v через резисторы 100ком?
  14. Посмотреть - посмотрел но единственное что понял, зависает на начале RAM.
  15. Прошивка STM32F105RBT6 не стартует без отладчика. Заливаю прошивку через Keil 5.26 - если через Strl+F5 (старт отладки) то всё работает, но самостоятельно после ресета не стартует, заливка через ST-LINK Utility - заливается но не стартует! Проект:https://yadi.sk/d/WBUiXEM3IqI6Ww
  16. Спасибо, проблему вроде бы уже помогли решить тут: http://kazus.ru/forums/showthread.php?p=1233188&posted=1#post1233188
  17. Всё же это тема - как перенести отладку в RAM в Keil 5 + китайский ST-link v2, а не целисообразно ли это делать. Общая концепция мне понятна - указать новый адрес начала и размер прошивки в оперативной памяти, а также новый стартовый адрес и размер стэка, ещё как то подправить адрес прерываний, проблема в куче далей, какие галочки куда ставить, где не перепутать двоеточее с тоской запятой, какие файлы с какими названиями надо создавать и куда их класть и т.п. Например: Зачем нужно столько полей ROM1, ROM2, ROM3? Что означает "off-chip" "on-chip"? Допустим я хочу выделить под флэш в памяти первые 32кб из 64кб RAM, мне надо вместо 0x20000 прописать 0x8000 в том же поле а стартовый адрес 0x8000000 заменить на 0x20000000, потом сместить начало и размер стека, вместо 0x20000000 написать 0x20008000, а в место 0x10000 написать 0x8000, правильно? ============================ На другом форуме есть некоторая движуха http://kazus.ru/forums/showthread.php?p=1233188&posted=1#post1233188
  18. По моим прикидкам, я его буду ушатывать каждые 2 месяца. В любом случае, в будущем может потребоваться подгружать модули прошивки c SD карточки.
  19. Как залить прошивку в ОЗУ STM32F105RBT6 для отладки, т.е. что бы не трогать ресурсограниченый флеш на время отладки, в среде Keil 5.26, под китайский ST-link v2? Тут кое что объяснили: https://radiokot.ru/forum/viewtopic.php?f=59&t=159164 но нужна более подробная пошаговая инструкция для сильно начинающего кодера под STM32.
  20. Я сам не разберусь, только недавно Keil поставил и начал ковырять stm32, возможно у кого то была точно такая проблема. Отладчик застревает на этом месте см. 1.png
  21. Вот: Целиком весь проект: https://yadi.sk/d/P9BVOK9aZ1WY2Q
  22. Проблемы с переходом на компилятор C/C++ v6 в Keil Почему в Keil 5.24a этот код для STM32F103C6: выполняет блок "//код настройки" если скомпилирован 5 версией компилятора С/С++ , а если версией 6.7 то нет?
  23. Я там не нашёл такого пункта, поэтому и спрашиваю, может есть какие то обходные пути это сделать!
  24. Можно ли в Keil 5.24a на C и C++ как то включить подсветку задефайненых подстановок, например: #define PLLON_BitNumber 0x18 что бы PLLON_BitNumber выделялся другим цветом, а переопределение типов, например: typedef uint32_t u32; что б uint32_t тоже выделялся ещё другим цветом?