Насколько я понимаю, всё, что нужно для работы с периферией, находится в файле 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 Речь велась о записи программы в кристал. Слово шить. Поэтому не надо перевирать и придавать одному вам известный смысл моим словам. Горе от ума!?
А нафига дракон, чтобы шить? Шить можно и без дракона. Дракон интересен для того, чтобы отлаживать. Вот на разницу между "шить" и "отлаживать" я и указал. Правда, сам дракон позволяет отлаживать не любые меги, но то уже совсем другая история
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения