Donker 0 14 декабря, 2018 Опубликовано 14 декабря, 2018 (изменено) · Жалоба Как залить прошивку в ОЗУ STM32F105RBT6 для отладки, т.е. что бы не трогать ресурсограниченый флеш на время отладки, в среде Keil 5.26, под китайский ST-link v2? Тут кое что объяснили: https://radiokot.ru/forum/viewtopic.php?f=59&t=159164 но нужна более подробная пошаговая инструкция для сильно начинающего кодера под STM32. Изменено 14 декабря, 2018 пользователем Donker Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Forger 17 14 декабря, 2018 Опубликовано 14 декабря, 2018 · Жалоба 11 minutes ago, Donker said: не трогать ресурсограниченый флеш на время отладки, Вы шутите? Ушатать флэш отладкой?? Да еще и медленным st-линком? На это потребуется полжизни Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Donker 0 14 декабря, 2018 Опубликовано 14 декабря, 2018 · Жалоба По моим прикидкам, я его буду ушатывать каждые 2 месяца. В любом случае, в будущем может потребоваться подгружать модули прошивки c SD карточки. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Forger 17 14 декабря, 2018 Опубликовано 14 декабря, 2018 · Жалоба 12 minutes ago, Donker said: По моим прикидкам, я его буду ушатывать каждые 2 месяца. Покажите свои прикидки. У нас в отделе полно отладочных плат, которые пользовали все кому ни лень и "в хвост и в гриву" уже много-много лет. За все это время ни одна не умерла по причине якобы "износа" флэш. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Arlleex 131 14 декабря, 2018 Опубликовано 14 декабря, 2018 (изменено) · Жалоба У меня тут проект под STM8S003 (для хобби-девайса), в этом МК ресурс Flash всего 100 циклов. 100 циклов, а не 100 000 И я, в общем-то, не сильно переживаю на этот счет - запустить и отладить почти всю периферию, что есть в этом МК, мне видится возможным за эти 100 циклов. Как убить память в десятки тысяч (а то и сотни!) - надо каждую минуту перепрошивать, сидя беспросветно 7 дней за ПК. Так что, думаю, опасения напрасны. Другое дело, если хочется побыстрее загружать прошивку в МК для отладки... Но если так хочется, вот ссылочка, можете почерпнуть оттуда много интересного: https://electronix.ru/forum/index.php?app=forums&module=forums&controller=topic&id=75331 Изменено 14 декабря, 2018 пользователем Arlleex Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Forger 17 14 декабря, 2018 Опубликовано 14 декабря, 2018 · Жалоба Quote Как убить память в десятки тысяч (а то и сотни!) - надо каждую минуту перепрошивать, сидя беспросветно 7 дней за ПК. Так что, думаю, опасения напрасны. Вот и я о том же! Quote Другое дело, если хочется побыстрее загружать прошивку в МК для отладки... Сначала отдать все st-link бедным студентам и купить себе нормальный отладчик, если еще этого не сделали конечно А чтобы не шить каждый раз весь проект целиком, отлаживать его кусками, отключая (комментируя) уже отлаженные модули/блоки. При разумном построении проекта это очень упрощает работу )) Также можно заранее залить во флэш те ресурсы, которые почти не изменяются: картинки/графику например. Я так делал, создавая разные исполнения для одного и того же проекта (помимо "классических" DEBUG/RELEASE). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
haker_fox 60 15 декабря, 2018 Опубликовано 15 декабря, 2018 · Жалоба 6 hours ago, Donker said: бы не трогать ресурсограниченый флеш на время отладки Сейчас не начало 90-х, флешку угробить надо очень постараться. Присоединяюсь к коллегам -- не волнуйтесь напрасно. В любом случае заменить микроконтроллер на плате или купить новый кит будет дешевле, чем искать баги после переноса программы из ОЗУ в ПЗУ. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GeorgK 1 15 декабря, 2018 Опубликовано 15 декабря, 2018 · Жалоба Вот вы смеётесь, а у меня так у SPI-флешки ножка отвалилась. Из-за перетыкания между кроваткой, подпаянной к плате и программатором. Правда, она для одноканального режима и не нужна была, но всё же. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 184 15 декабря, 2018 Опубликовано 15 декабря, 2018 · Жалоба 6 часов назад, haker_fox сказал: Сейчас не начало 90-х, флешку угробить надо очень постараться. Присоединяюсь к коллегам -- не волнуйтесь напрасно. В любом случае заменить микроконтроллер на плате или купить новый кит будет дешевле, чем искать баги после переноса программы из ОЗУ в ПЗУ. Если при таком переносе проявляются какие-то баги, то это уже хорошо, что они проявились - их надо искать и устранять. Только из-за одного этого стоит переносить туда-сюда. Нормально написанное ПО как правило не перестаёт работать при переносе в разные области памяти. А сам перенос настолько прост, что сам по себе не должен создавать дополнительных ошибок. Я сам активно использую отладку в RAM или SDRAM почти во всех проектах. И везде у меня ПО работает одинаково и в FLASH и в RAM и в SDRAM. Изменяется только загрузка CPU и скорость загрузки отладчиком. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
haker_fox 60 15 декабря, 2018 Опубликовано 15 декабря, 2018 · Жалоба 1 hour ago, jcxz said: Я сам активно использую отладку в RAM или SDRAM почти во всех проектах. А с какой целью? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Donker 0 15 декабря, 2018 Опубликовано 15 декабря, 2018 (изменено) · Жалоба Всё же это тема - как перенести отладку в 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 Изменено 15 декабря, 2018 пользователем Donker Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Forger 17 15 декабря, 2018 Опубликовано 15 декабря, 2018 · Жалоба 10 minutes ago, Donker said: Всё же это тема - как перенести отладку в RAM в Keil 5 Ну коли вам нужно все разжевать и в рот положить, то вот ссылка: ТЫНЦ Далее следует открыть даташит на контроллер, где указано, как заставить его при сбросе стартовать из RAM (подсказка: см пины BOOTx). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
scifi 1 15 декабря, 2018 Опубликовано 15 декабря, 2018 · Жалоба 33 minutes ago, Forger said: Далее следует открыть даташит на контроллер, где указано, как заставить его при сбросе стартовать из RAM (подсказка: см пины BOOTx). При запуске под отладчиком это неважно. Всё можно настроить хотя бы в скрипте инициализации отладчика. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Forger 17 15 декабря, 2018 Опубликовано 15 декабря, 2018 · Жалоба 1 hour ago, scifi said: При запуске под отладчиком это неважно. Всё можно настроить хотя бы в скрипте инициализации отладчика. Это - следующий этап, только для настоящих профи Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
haker_fox 60 15 декабря, 2018 Опубликовано 15 декабря, 2018 · Жалоба 2 hours ago, Donker said: Всё же это тема - как перенести отладку Просто ваш вопрос уж очень сильно звучал как страх за ресурс флеши. Вот мы и решили вас успокоить))) С келйом не работаю, но думаю принцип один: указываете в настройках линкера стартовый и конечный адрес в ОЗУ для кода, оставшуюся часть ОЗУ как обычно под rw, stack, heap и т.п. В документации на МК читаете, что нужно поднастроить, возможно отмаппировать вектора прерываний из ПЗУ в ОЗУ. В LPC4337 вроде именно так и делали. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться