Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Не запускается LPC2138. в чем дело ?
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
kamedi_clab
Не пойму в чем дело ? не запускается LPC2138.

программа простейшая - переключение ног p0.16-0.31 с периодом 470 мС

проект в прицепе.

Прога работает в симуляторе KEIL и в PROTEUS и прошивается и
проверяется через H-JRAG всё ОК !

но не работает в железе.

И после откл жтага и отключении питания и после ресета.

Ни на одной их ног нет изменения напряжений.

Кварц по идее работает - иначе наверно не было бы связи с жтагом.

В чем может быть дело ?

=======

Непонятка 2 - для пауз перед переключением ножек использую 2 раза ОДИНАКОВЫЙ цикл

Код
  for (i = 0; i < 2000000; i++)  {
    ctr++;
                     };


но он каждый первый раз дает паузу 300 мС а каждый второй раз 167 мС (в симуляторах KEIL и PROTEUS).

Это вААААще не пойму ни как.



Стартап стандартный из KEIL и вот вся прога

Код
              
#include <LPC213x.H>     

int main (void) {

  unsigned long i;
  unsigned char ctr;

  IODIR0 = 0xFFFF0000;

   while (1) {

  for (i = 0; i < 2000000; i++)  {
    ctr++;
                     };

  IOSET0 = 0xFFFF0000;
  
    for (i = 0; i < 2000000; i++)  {
         ctr++;
                      };

  IOCLR0 = 0xFFFF0000;  
            }

}
GetSmart
Первое, что заметно - это то, что в цикле переменная ctr оптимизируется и выбрасывается нах... Её бы надо volatile объявить.
kamedi_clab
это разность пауз. я так и думал про оптимизацию. но циклы то одинаковые ! пусть он их оптимизировал - а пауза почему НАСТОЛЬКО разная ?


Но меня больше беспокоит - фигли прога вабче не пашет в МК ?
Прошивку проеряет - пишет ОК !
Значит прошивка залилась и кварц тикает.
Как она может при этом не работать ?

Если у кого есть макетка lpc2138 - выручите ! зелейте .hex - заработает ?
GetSmart
А с какого перепугу она должна работать если там неверная контрольная сумма по адресу 0014h ???
Кроме прочего, подтянуты ли пины проца P0.14, P1.20,P1.26 к еденице?
andron86
я не знаю LPC213, но прото вопрос: а не надо конфигурировать порты как input и output??
GetSmart
дык а это что, не конфигурация:
Код
IODIR0 = 0xFFFF0000;

???
kamedi_clab
Цитата(GetSmart @ Aug 1 2007, 14:03) *
там неверная контрольная сумма по адресу 0014h ???


А как ее исправить ? откуда ее брать ?

Цитата(GetSmart @ Aug 1 2007, 14:03) *
подтянуты ли пины проца P0.14, P1.20,P1.26 к еденице?


Нет. А почему их нужно подтягивать ?

P1.26 это RTCK - на макетках KEIL и Olymex эта нога джампером прижимается к земле через 10 ком для включения JTAG. Если джампер снять то висит в воздухе.


P1.20 висят в воздухе на обоих платах.

P0.14 на олимех в воздухе на КЕЙЛ двумя перемычками может подтягиваться.

Где почитать о необходимости подтяга ?
kamedi_clab
gpio - это все нули. они при старте так и стоят в нулях.

ЗАРАБОТАЛО !!!

Спасибо всем за помощь.

Только подтянул 10к к питанию p0.14 и "светик" замигал !

А можно теперь использовать как ИНТ1 ?

Ни чего в стартапах менять не треба и ни каих ошибок в КС.
GetSmart
Все перечисленные мной пины нужно либо подтягивать, либо оставлять висящими. P1.20 и P1.26 только если в работе устройства используются все пины порта 1 и не используется JTAG.

P0.14 управляет бутлоадером. ссылки где почитать не дам. Сам забыл где читал. Ищите поиском по ключевым словам.

Как автоматом вставлять КС на 0014h сам до сих пор не знаю smile.gif
У меня всегда есть startup-файл с посчитанной КС. Ещё можно её посчитать в филипсовской утилитке LPC2000 flash utility. Я именно так посчитал и записал на месте 0014h в startup.a79



Цитата
Ни чего в стартапах менять не треба и ни каих ошибок в КС.
я в шоке!!!
на@@али!!!
kamedi_clab
Цитата(GetSmart @ Aug 1 2007, 15:52) *
Цитата

Ни чего в стартапах менять не треба и ни каих ошибок в КС.


я в шоке!!!
на@@али!!!


Ну я пишу то что есть - вот лежит платка мигает - а сделал только подтяжку 0.14 и ВСЁ.
GetSmart
Цитата
Ну я пишу то что есть - вот лежит платка мигает - а сделал только подтяжку 0.14 и ВСЁ.
Дык я не Вас имел ввиду. Я про "писателей" бутлоадера и мануалов. Я им так верил smile.gif
Что даже не стал проверять на вшивость.
kamedi_clab
Понял.

с p0.14 все интересней ! похоже он руководит откуда код загружать.

У меня компиляция для работы из флэш. Дак вот теперь при включении питания прога работает и без подтяжки 0.14 !

А вот после нажатия кнопки Ресет (замык ногу 57 на землю) прога не запускается если нет подтяга на 0.14

НО ГЛАВНОЕ !!! после прошивки то прога не запускалась без подтяга и при включении питания.

Возникает бредовое ощущение что прога загруженая H-JTAG -ом как то модифицировалась при первом включении питания с подтяжкой на 0.14

Чудеса ...
GetSmart
Ну прочитайте уже где-нибудь назначение P0.14. И никаких чудес не будет. В простом изложении она определяет что будет запускаться при сбросе проца/включении питания. Если 0, то бутлоадер. Если 1, то при наличии правильной КС на 0014h запускается User Code (программа пользователя).
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.