Микроконтролери и електроника
http://mcu-bg.com/mcu_site/

Интересен проблем с LPC1768
http://mcu-bg.com/mcu_site/viewtopic.php?f=3&t=9945
Страница 1 от 1

Автор:  Н'бабане Гт'муан'га [ Сря Мар 07, 2012 9:04 am ]
Заглавие:  Интересен проблем с LPC1768

Ако може някой спец по CM3 да ми каже защо FIO1DIR=1; ми гърми с HardFault като BusError?
Няма значение дали е порт 1 или друг, няма значение и бита - винаги гърми.
Дори само за теста слагам тоя ред като първи в main() и пак същото. Нещо не вдявам къде може да е проблема.
Компилацията е с Rowley 2.1 и стандартни настройки на проекта

Автор:  miro_atc [ Сря Мар 07, 2012 10:38 am ]
Заглавие:  Re: Интересен проблем с LPC1768

Н'бабане Гт'муан'га написа:
защо FIO1DIR=1; ми гърми с HardFault като BusError?


Първо виж как е дефиниран тоя регистър, даже най-добре пускаш дъбъгера и гледаш в асемблера при писане на кой адрес точно гърми. Ако е сгрешен адреса нормално да гърми. Второ при някои куртекси определени периферии могат да се забраняват, за да не се пише в тях по случайност. Съответно има си процедура как се разрешава, ама аз с LPC не съм бачкал и не мога ти кажа повече.

Трето, за защитените адреси си има отделен ексепшън. За грешките по шината също си има ексепшън. Би трябвало да получаваш някое от тия две. Щом ескалира до hardfault значи имаш и още един проблем (куца ти нещо в предишните два хендлъра).

Автор:  Н'бабане Гт'муан'га [ Сря Мар 07, 2012 12:59 pm ]
Заглавие:  Re: Интересен проблем с LPC1768

Ми как да е дефиниран? Както са го дефинирали в Роули. Искаш ли хедъра? Прегледах го отгоре отгоре и няма грешни адреси. То ако имаше някой няма начин да не беше изпищял досега. Много генерален проблем.
А при моя код - правя маин() само с тоя ред и пак гръмва на него. Иначе ако има друг код си бачка, само при обръщение към който и да е порт се получава това. В асемблера се получава точно при обръщението към адреса на порта. Сега я нямам платката при мене обаче мога да ти пусна и точната инструкция. Нещо основно в подхода е обаче не го пише в документацията.

Автор:  MYXATA [ Сря Мар 07, 2012 1:07 pm ]
Заглавие:  Re: Интересен проблем с LPC1768

както в известния виц за вълка и червената шапчица :)
- не че му разбирам много...

да те питам в даташита на например http://www.nxp.com/documents/user_manual/UM10139.pdf
FIO1DIR е всъщност FIO1DIR0, FIO1DIR1, FIO1DIR2 ,FIO1DIR3....

така че въпроса FIO1DIR=1; не требе ли да е например FIO1DIR0=1; :?:
само се чудя, акъл не давам, що не ползваш CMSIS ?

aham, LPC1768 :oops:

Автор:  Н'бабане Гт'муан'га [ Сря Мар 07, 2012 1:09 pm ]
Заглавие:  Re: Интересен проблем с LPC1768

FIO1DIR0,..... са ако са за 8-битови обръщения. FIO1DIR е 32-битов.
Пробвал съм ги и трите вида - и с 8 и с 16 и с 32.
И с CMSIS хедъра пак гръмва точно там. Мислех че може да е хардуера. Пробвах и друга платка а накрая и един кит на ИАР. Все същото.

Автор:  Zdrav [ Сря Мар 07, 2012 5:30 pm ]
Заглавие:  Re: Интересен проблем с LPC1768

Може би не какво правят Rowley в хедъра ами при startup трябва да погледнеш.
Само обръщане към адресното пространство на FIO ли гърми?

Не съм писал за LPC1768, но гледам че GPIO имат бит в PCONP регистъра за вкл./изкл. на power и clock. При ресет трябва да е включен по дефоулт, но ако в startup-а Rowley драскат по него може и да влизаш в main() с изключени power и clock на GPIO.

Автор:  Н'бабане Гт'муан'га [ Чет Мар 08, 2012 2:39 am ]
Заглавие:  Re: Интересен проблем с LPC1768

Ей човек здрав да си! Тоя PCONP ми взе здравето :D

Страница 1 от 1 Часовете са според зоната UTC + 2 часа [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/