Кто любит RISC в жизни, заходим, не стесняемся.
Чт мар 22, 2012 06:50:08
Спасибо, вечером попробую.
Но скорее всего бестолку. Не работает ни один цикл, так что на GPIO_Init() зависнет.
Чт мар 22, 2012 09:46:15
ВЫ знаете, когда я начал осваивать STM'ы, то столкнулся с той же проблемой. Debug зависла на инициализации тактового генератора, было это в Keil'e. Често говоря, лично мне Киль сразу не понравился (сказывается опыт программирвоания в MVC и NetBeans) гуя никакая, подсказок нету. Трудно начинать. Начал искать способ запустить процссор. Наткнулся на такую вот среду
CooCox CoIDE. Она написана на эклипсе, имеет удобную систему настройки, хорошая гуя, подсказки (ctl+space). Мне понравилась сразу. Главное в ней заработало с 1 раза. Может быть и вам стоит опрбовать её?
Чт мар 22, 2012 10:12:10
Может и стоит, только нет линуксовой версии у них
---
В любом случае хочется докопаться до истины. Сейчас склоняюсь к тому, что линкер неправильно обозначил блоки памяти (например работа идёт с readonly блоками), поэтому ldr читает всегда ноль (хорошо не мусор), и любой цикл непременно зависнет. В любом случае надо проанализировать содержимое R7 на корректность адреса. Вчера об этом не догадался, теперь проверю только вечером.
Пока это единственное логическое объяснение происходящему...
Чт мар 22, 2012 10:12:54
Shapa писал(а):Мне понравилась сразу. Главное в ней заработало с 1 раза. Может быть и вам стоит опрбовать её?
Такое решение проблемы - это как при легкой простуде легкое удалять
Чт мар 22, 2012 10:15:39
ploop писал(а):Может и стоит, только нет линуксовой версии у них
Бросай эту говноигрушку, что ты как маргинальный студент, поставь винду как белый человек
По поводу твоих проблем - раз оно так, то проблемы ты не там ищешь
У тебя частота SWD какая стоит ? Поставь 1Мгц, а то и вовсе 500кГц. При слишком высокой частоте (и/или гавенных проводах, но у тебя проводов нет) именно вот такая фиерия и наблюдается. Причем, как показалось, ST к ней куда склонней, чем NXP
Чт мар 22, 2012 10:33:56
Во, а где и как?
Бросай эту говноигрушку, что ты как маргинальный студент, поставь винду как белый человек
Да ну её, не могу в ней работать... отвык уже.
Чт мар 22, 2012 11:00:41
ploop писал(а):Во, а где и как?
Ну, в IARе могу показать где, но у тебя ж не IAR
Поищи где нибудь в настройках проекта свойства дебаггера.
Уж тип интерфейса (хотя у СТ-линк только SWD вроде) и всякие скорости там должны натачиваться.
У меня похожее было - програмулина грузится, дальше с первого ж шага програм каунтер улетает вобще куда то в астрал, а дальше и софт дебагера повисает -))
Оказалось высоковата частота. И, опять же, с STM32 как то особо остро это. с продукцией NXP, TI, Atmel чтото таких спецэффектов не запомнил.
Чт мар 22, 2012 11:05:45
А, ну это и имел ввиду, т.е. софтово. А то мало ли, может перемычки какие запаять надо.
Поковыряю. Дебаггер там не напрямую соединяется, а с сервером. А вот сервер может создать что угодно, т.е. любая утилита, работающая с железкой. Утилита тут простая, посмотрю.
Чт мар 22, 2012 11:08:20
У NXP с дебагом, кстати, другая проблема.
Если сбой AHB, то и дебаг умирает
Так что при отладке инита всякого железа и подобного, в случае серьезной ошибки попадаем не в ловушку эксепшна, а все встает полным раком - от ядра МК до среды разработки -))
Чт мар 22, 2012 15:32:58
Satyr писал(а):Такое решение проблемы - это как при легкой простуде легкое удалять
Легкое? Зачем легкое? Гланды надо!
Когда мне попал в руки дискавери, я светодиодом хотел помигать, а не разбираться, почему не компилируется. И всё такое.
ploop писал(а):Сейчас склоняюсь к тому, что линкер неправильно обозначил блоки памяти (например работа идёт с readonly блоками), поэтому ldr читает всегда ноль (хорошо не мусор), и любой цикл непременно зависнет.
Вот и у меня в Киле такое было, пытался в симуляторе поглядеть самый простой STM32F100C4. Дебаг не запускался, с выводом ошибки о неверном маппинге памяти (ручной маппинг не помог). При этом, если переставить в настройках проекта процессор на F100RB, всё отлично дебажилось. А с С4 ну никак не хотел работать.
Чт мар 22, 2012 16:00:21
Ухх, народ, вы там что за препараты принимаете ?
Я на IARе разных МК на АРМе не меньше десятка пробовал - вобще никаких проблем.
Кейл смотрел - жить вроде можно, но настроек очень мало, не гибко. CooCox - вобще по нулям игрушка.
Чт мар 22, 2012 20:10:04
Всё-таки я его победил!
Как и предполагал, проблема в линкере была, точнее не в том скрипте. Не знаю, откуда я его отрыл, но точно с сайта ST, и в заголовке у него (в комментах) указан STM32F407.
Так как ошибок при сборке/линковке не было, я благополучно на него забил...
Короче, сейчас код заработал как надо, более того - раскомментировал SystemInit(), стали настраиваться все фишки тактового генератора! Отладка тоже как по маслу!
В принципе я даже доволен, что поимел эти проблемы. В результате ковыряния узнал очень много нового об этой архитектуре.
Чт мар 22, 2012 20:14:50
ploop писал(а):Всё-таки я его победил!
Как и предполагал, проблема в линкере была, точнее не в том скрипте. Не знаю, откуда я его отрыл, но точно с сайта ST,
Пользую Eclipse+codesourcery, cкрипт линкера брал из STM32F4xx_StdPeriph_Templates для RIDE
Чт мар 22, 2012 20:50:44
Вложил тот скрипт, который не работал.
- Вложения
-
- stm32f4xx_flash_extsram.ld.zip
- (1.84 KiB) Скачиваний: 286
Чт мар 22, 2012 20:55:35
ploop писал(а):Вложил тот скрипт, который не работал.
Этот скрипт для работы МК с внешней памятью
Для трустудии у меня скрипт и без внешней памяти не работал, а этот и подавно
Environment : Atollic TrueSTUDIO(R)
RAM (xrw) : ORIGIN = 0x64000000, LENGTH = 2048K
Чт мар 22, 2012 21:02:00
Да уж, название, какбе, намекает -))
Чт мар 22, 2012 21:05:50
Дык понял уже!
Но секас классный был!
Чт мар 22, 2012 21:13:42
ploop писал(а):Дык понял уже!
Но секас классный был!
Яркий секос - это припаять SDRAM, а далее, при помощи дебагера проинитить PLL, SDRAM контроллер, влить в сдрам код и пустить на отладку оттуда, без записи во флеш.
Только там скрипт не только для линкера, но и для дебагера писать. килобайт на 5
Чт мар 22, 2012 21:19:01
О! Кстати вопрос: Есть usb-флешка, похоже контроллер сдох. Может попробовать снять микросхему памяти, подцепить к плате, и прописать через USB интерфейс доступа к ней? Возможно?
Реальной ценной информации на ней нет. Просто нужен опыт работы с данными МК.
Чт мар 22, 2012 21:44:33
А почему нет? Даже сэмплы подобных проектов видал (на L152 точно, но портировать под F407 труда, думаю, не составит). Была и у меня подобная мысль, но руки так и не дошли. Я из телефонов памяти надергал, валяется пока.
Powered by phpBB © phpBB Group.
phpBB Mobile / SEO by Artodia.