Насколько я понимаю, всё, что нужно для работы с периферией, находится в файле stm32f10x.h.
Нет, ещё нужен core_cm3.h (и, возможно, core_cm3.c). К документации также добавьте Cortex-M3 Technical Reference Manual. Это про ядро Cortex-M3. Без отладки прожить можно вполне, отладочного вывода в последовательный порт практически всегда достаточно. Что касаемо библиотек от ST - это, имхо, лишний уровень абстракции. От изучения периферии не избавляет, добавляет новую сущность. Хотя некоторые тонкие моменты, не освещённые в документации, там можно посмотреть.
Карма: 26
Рейтинг сообщений: 108
Зарегистрирован: Чт ноя 04, 2010 01:56:36 Сообщений: 7439 Откуда: г. Москва
Рейтинг сообщения:0
qwerky писал(а):
Цитата:
Программы на Си ни разу не симулировал. Здесь что, всё по-другому?
нет, все так же. Можно отлаживать по индикаторам/пос.порту.
Нафига возиться с ком портом, когда есть SWO ? Если скомпилять с стдлибом с соотв настройками, то обычные printf() в коде будут все выводить в терминальную консоль в самой среде отладки.
p.s. занимаюсь stm32f205 2 недели. нарисована схема, плата, куплены детальки, плата сделана на производстве, спаяна, работает USB, TFT дисплей, спи-флешка. Ну, чтото лучше чем у NXP, чтото хуже... gpio стал поинтересней, чем stm32f1
Дело в том, что ядро разработала фирма АРМ, а остальные производители его лицензировали. Поэтому документация производителя содержит инфу о том, что производитель навесил на ядро. А инфа о ядре - в документации от АРМ. Ядро - это контроллер прерываний, SysTick таймер, и ещё что-то. На самом деле это отчасти даже удобно: изучил ядро -- в какой-то мере знаешь уже все Cortex-M3.
Ничегонеработает писал(а):
Если, конечно, вообще до включения STM32 дойдет...
Как там говорил товарищ Наполеон? «Главное - ввязаться в бой, а там будет видно»
Да никакой. TRST используется для отладки (jtag), его трогать не надо. Собственно входом сброса является nRST (выв.7 в 48-выводном корпусе), его подтягивать не нужно, но очень желательно поставить там конденсатор на 0,1мкФ для исключения ложных срабатываний, а также этот вывод должен быть выведен на разъём jtag На этот разъём должны быть выведены:
Поскольку интерфейс отладки нужен только разработчику, я часто не предусматриваю 20 штырькового разъёма на плате серийных изделий, а просто вывожу нужные сигналы на контактные площадки, и в том экземпляре изделия, на котором происходит отладка, подпаиваю разъём проводками.
Зачем нужна отладка - вопрос отдельный. В данном случае пытаться объяснить его Вам - всё равно что пытаться объяснить цвет травы слепому или пение соловья глухому. Вам просто пора прозреть, всё необходимое для этого уже есть, и час настал.
Ничегонеработает писал(а):
Galizin писал(а):
Обязательно нужно вывести swd. Без него Вы не сможете отлаживаться
Боюсь, к нему мне нечего цеплять.
Ничегонеработает писал(а):
Satyr писал(а):
Нафига возиться с ком портом, когда есть SWO ?
Нафига? Да просто COM-порт у меня в компьютере есть, а вот SWO засовывать некуда...
У Вас есть jtag...
Ничегонеработает писал(а):
Galizin писал(а):
Энкодер подключать к какому нибудь таймеру(CHx1 CHx2)
Пока нарисовал, как у Вас. А переставить эти сигналы на другие ноги можно?
Нужно смотреть.
Ничегонеработает писал(а):
3. Нужны ли подтяжки на энкодер и кнопки, если они недалеко от процессора на одной плате? На AVR не нужны были. 4. Нужна ли подтяжка на 1-Wire порт? И куда именно? Термометр у меня запитан напряжением 5 В. 5. У кого спросить, какие выводы у STM32 можно переносить? Я так понимаю, RX1 и TX1 переносить нельзя, с ними работает загрузчик. Выводы ЦАП и АЦП не переносятся. Еще альтернативные функции используются для энкодера, для управления вентилятором (ШИМ) и для генерации звука. Можно ли их переносить? И где взять нормальный (полный) datasheet на кристалл?
3. Если рядом, то не нужны. Внутри есть программно управляемые подтяжки вверх или вниз. 4. Обязательно. Сам 1-wire лучше сделать двумя ножками, задействовав под это дело USART2. Зачем это нужно - расскажу потом. 5. У меня можно спросить. Переносить можно много чего, но осторожно. Я высылал Вам .xls, который должен был облегчить эту задачу. Напишите, что непонятно, я расскажу. АЦП можно переносить в пределах тех ножек, к которым он вообще подключен. В 48-ногом корпусе это (кажется) 10 ног. Кстати, переключение каналов там делается не вручную, а АЦП их перебирает сам. ЦАП переносить нельзя, он жёстко закреплен за двумя выводами. Канал 0 АЦП имеет небольшой глючок: в некоторых режимах возможно появление коротких импульсов небольшой амплитуды. Рекомендуется использовать этот канал только с низкоомными источниками сигнала. Я предпочитаю просто его обойти. Полного datasheet здесь нет, потому как во-первых в нём придётся писать о совершенно разных вещах, во-вторых его объём будет несколько тысяч страниц, в третьих полный никому не нужен, в четвёртых семейство STM32 насчитывает с полсотни кристаллов, различающихся наличием/отсутствием отдельных модулей, разным числом выводов, тактовой частотой и т.д., поэтому намного удобнее иметь отдельно короткий datasheet на конкретный кристалл, где можно узнать, что есть а чего нет, и отдельно подробное описание модулей. Примерно так
Карма: 26
Рейтинг сообщений: 108
Зарегистрирован: Чт ноя 04, 2010 01:56:36 Сообщений: 7439 Откуда: г. Москва
Рейтинг сообщения:0
Ничегонеработает писал(а):
Satyr писал(а):
Нафига возиться с ком портом, когда есть SWO ?
Нафига? Да просто COM-порт у меня в компьютере есть, а вот SWO засовывать некуда...
Его не надо никуда засовывать -))) Купи за 20$ китайский клон jlink'а, будет там тебе и SWD, и SWO. Отлаживать приятно и комфортно как в микрософтовской визуальной студии виндовый код.
JTAG много проводочков требует. Я его никогда и в AVR не использовал, хотя AVR Dragon мне подарили, валяется до сих пор, ни разу из коробочки не доставал. Вообще, с Драконом дело имел только пару раз, когда их мне приносили чинить. Ну и еще пытался заказчику написать bat-файл для его Дракона, чтобы шить ATmega8. Но не получилось, не знает он такого кристалла.
Лучше я буду выводить отладочную информацию в порт, который и так есть. Хотя в таком простом проекте, как БП, вряд ли вообще потребуется что-то куда-то выводить, кроме индикатора. По крайней мере, аналогичную плату на AVR отладил без всяких глубоких дебагов.
Ну и еще пытался заказчику написать bat-файл для его Дракона, чтобы шить ATmega8. Но не получилось, не знает он такого кристалла.
Пишет он ATmega8 и все остальные. Я не раз писал. Только если писать в самом драконе DIP в панельке то под разные кристалы надо проводки перекомутировать. Вот это достаёт считать их и перецеплять! А если ISP то надо один провод через разъём VCC вести без этого не будет писать. Зачем так сделали китайцы фиг знает. Получается ISP шнурок нужно использовать переделанный на стороне дракона.
_________________ Мы так далеко откатились назад, что прошлое стало будущим.
JTAG много проводочков требует. Я его никогда и в AVR не использовал, хотя AVR Dragon мне подарили, валяется до сих пор, ни разу из коробочки не доставал. Вообще, с Драконом дело имел только пару раз, когда их мне приносили чинить. Ну и еще пытался заказчику написать bat-файл для его Дракона, чтобы шить ATmega8. Но не получилось, не знает он такого кристалла.
Лучше я буду выводить отладочную информацию в порт, который и так есть. Хотя в таком простом проекте, как БП, вряд ли вообще потребуется что-то куда-то выводить, кроме индикатора. По крайней мере, аналогичную плату на AVR отладил без всяких глубоких дебагов.
Вот это Ваше упрямство, честно говоря, немного расстраивает
slavector писал(а):
Пишет он ATmega8 и все остальные. Я не раз писал.
Между "полноценной отладкой" и "записью" примерно такая же разница, как между "каналом" и "канализацией"
Карма: 26
Рейтинг сообщений: 108
Зарегистрирован: Чт ноя 04, 2010 01:56:36 Сообщений: 7439 Откуда: г. Москва
Рейтинг сообщения:0
Ничегонеработает писал(а):
JTAG много проводочков требует.
Где я пишу про JTAG ??? SWD - ДВА провода (кроме земли), как у i2c, для влива и дебага достаточно. вставишь третий - будет тебе SWO. шустрый дебаговый вывод (шустрей стандартный скоростей ком-порта) БЕЗ какого либо инита UARTа и занимания ног.
На AVRах есть debugwire - по одному проводу. но меееееедленный
koyodza Речь велась о записи программы в кристал. Слово шить. Поэтому не надо перевирать и придавать одному вам известный смысл моим словам. Горе от ума!?
_________________ Мы так далеко откатились назад, что прошлое стало будущим.
Последний раз редактировалось slavector Сб дек 17, 2011 00:07:07, всего редактировалось 1 раз.
koyodza Речь велась о записи программы в кристал. Слово шить. Поэтому не надо перевирать и придавать одному вам известный смысл моим словам. Горе от ума!?
А нафига дракон, чтобы шить? Шить можно и без дракона. Дракон интересен для того, чтобы отлаживать. Вот на разницу между "шить" и "отлаживать" я и указал. Правда, сам дракон позволяет отлаживать не любые меги, но то уже совсем другая история
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 43
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения