Alex2172
Свой-
Постов
236 -
Зарегистрирован
-
Посещение
Репутация
0 ОбычныйИнформация о Alex2172
-
Звание
Местный
Контакты
-
ICQ
Array
Посетители профиля
1 568 просмотров профиля
-
Судя по осциллограмам флешка в ответ на запрос статуса возращает b10110100, что означает готовность флешки, кристал AT45DB321, защиты нет. Не понятно зачем 2000 раз переспрашивать статус, если статус говорит о готовности флешки. Может быть RM9200 на самом деле не умеет работать с флешкми типа AT45DB321, вроде на отладочных платах не ставят AT45DB321, хотя и заявлена возможность работы с AT45DB321. Также судя по осциллогамам обращение к SDRAM не происходит на этапе загрузки из DataFlash (шина данных в Hi-Z, хотя шина адреса дергается, имхо так и должно быть).
-
Забудем на время про RomBoot. Исходные данные: Есть AT91RM9200+AT45DB321, во флешке уже прошит образ микропрограмки (ассемблерный код приводил выше), которая просто зажигает светодиод. Все. Ни чего больше не нужно для того чтобы загрузить из DataFlash в SRAM - ни SDRAM, ни RomBoot. Про ограничение в 12 кБ я прекрасно помню. Странно то, что программка размером в 4 кБ уже не запускается (она нормально загружается из DataFlash, это видно по осцилографу, но ей не передается управление, а управление передается в DBGU). При этом точно такая же програмка, но без хвоста из "B InitReset" (размером например <2 кБайт) прекарсно загружается. Хвост может состоять из NOP-ов, это не важно. Важно то что если размер образа превышает 2,5-4 кБайт, то образ считывается но ему не передается управление. А если меньше 2.5 кБайт, то ему нормально передается управление. Четкой границы (когда программа перестает загружаться) найти не удалось. При размере образа примерно 4 кБайт, получилась такая ситуевина, что программа то нормально запускается, то не запускается. Это видимо связано с тем что время считывания из Флэшки варируется незначительно (это видно по осциллографу). Т.е. во время загрузки из флэшки в SRAM происходит какое то событие (прерывание или таймаут таймера), после которого алгоритм загрузчика (тот что зашит в ROM) решает не передавать управление программе считанной в SRAM а перейти в DBGU. Я очень прошу, посмотрите кто может - ткните осциллографом на чип-селект DataFlash на готовой отладочной плате: интересует сколько времени выполняется загрузка из флэшки, и сколько из этого времени тратится на определение готовности флэшки (когда сразу после старта проц. периодически запрашивает байт статуса). У меня это время занимает 10-30 мс, может быть это слишком много. Спасибо На шине SPI я вижу следующую картинку: 1. После ресета через 100 мс проц. кидает клоки на 40 байтовых интервалов (видимо чтение первых 8 векторов) 2. В течение 20 мс с периодом 10 мкс проц кидает клоки на 2 байтовых интервала (видимо запрос байта статуса) 3. В течение 0,75мкс*РазмерОбраза проц кидает клоки для чтения образа из DataFlash ...Не понятно зачем он так много запрашивает байт статуса (пункт 2).
-
Не понял логики. Может упустил чего. При старте процессора если BMS=1, пограмма в ROM пытается загрузить данные из DataFlash во внутреннюю SRAM. SDRAM не принимает в этом участие. Происходит следующее (насколько я понимаю процесс): 1. После ресета программа из ROM (внутренний загрузчик) пытается несколько раз прочитать байт статуса DataFlash (этот процесс занимает примерно 10-30 мс). 2. После того как байт статуса успешно прочитан, начинается чтение последовательности байт из DataFlash, считываются первые 8 векторов, проверяется их валидность, интерпретируется размер образа и геометрия флэшки; если все в норме, то продолжает считывать весь образ из DataFlash в SRAM. Этот процесс длится примерно 0,75мкс*КолвоБайт. 3. После чтение происходит ремап и передача прыжок на нулевой адрес, должно начаться выполнение программы закачанной в SRAM. Но этого не происходит если размер образа >2.5-4 кБайт, управление передается в DBGU (в терминал передается CCCC....). Да, SDRAM используется при записи образа в DataFlash ромбутом, но ведь я успешно читаю образ из флэшки, образ не поврежден. Если бы образ был поврежден, то либо первые 8 векторов были бы считаны не правильно (что не позволило бы загрузить данные из DataFlash), либо при передаче управления битой программе процессор вошел бы в клинч. Я ведь упростил по макисмуму програмку. B InitReset ; reset undefvec B InitReset ; Undefined Instruction swivec B InitReset ; Software Interrupt pabtvec B InitReset ; Prefetch Abort dabtvec B InitReset ; Data Abort rsvdvec B InitReset ; reserved irqvec B InitReset fiqvec B InitReset ; FIQ InitReset ; зажигаем лампочку mov r0,#0x80 mov r1,#0 STR r0,[r1,#-0xa00] STR r0,[r1,#-0x9f0] STR r0,[r1,#-0x9cc] dloop B dloop ; бесконечный цикл B InitReset B InitReset B InitReset B InitReset B InitReset B InitReset B InitReset B InitReset B InitReset B InitReset B InitReset ... Если дописать "B InitReset" в конец программы так, чтобы было более 2.5-4кБайт, то образ считывается полностью из флэшки, но лампочка не загорается, а управление передается DBGU, а не считанной в SRAM программе. Если образ оставить <2.5кБ, то после загрузки из флэшки в SRAM лампочка успешно загорается.
-
Есть платка: AT91RM9200 + AT45DB321 Проблема в том что, если в DataFlash лежит образ программы меньше 2.5-4 кБайт, то она успешно загружаентся из DataFlash. Если образ программы >4..5 кБайт (например RomBoot = 11кБайт), то программа загружается из DataFlash, но ей не передается управление (это видно потому что после загрузки программы из DataFlash все равно крутится внутрянняя программа из ROM и выдает СССС..., т.е. DBGU приглашает загрузить программу через XMODEM) Например если в DataFlash сохранен RomBoot: Осциллограф показывает что грузятся все 11 кБайт, т.е. 0x14 вектор (размер прорграммы и конфигурация DataFlash) считался правильно, но управление ромбуту не передалось. Читая данные DataFlash (с помощью того же RomBoot например, но загруженного через XMODEM) - видно, что образ RomBoot'а в DataFlash - не поврежден (тупо сравнивал считанные из DataFlash данные и то что содержится в RomBoot.bin). Если в DataFlash сохранить микропрограмку, которая просто зажигает лампочку и уходит в бесконечный цикл - такая програмка загружается из DataFlash. Но! Если к этой програмке в конец приписать 5-10 кБайт NOP-ов, то она загружается из DataFlash, но ей НЕ передается управление!!!! Менял DataFlash было AT45DB321C, поставил AT45DB321B - не помогло. На SPI шине ни чего больше не висит. Помогите пожалуйста разобраться, мозги уже кипят.
-
Проблема с romboot-ом
Alex2172 ответил tiky тема в Отладочные платы
1. В compile редактируете пути 2. Если вы под виндой, то запускаете из командной строки sh compile (sh идет с WinArm например) 3. Если при компиляции сругнулась на puts, putchar добавляете флаги -fno-builtin-printf (там где $GCC main.cpp -c -Iinclude -Os -fno-builtin-printf) Вроде так. Уважаемые коллеги, прошу помощи (второй день бьюсь)!!! Проблема в том, что romboot не грузится из DataFlash. Мои действия: 1. Через XMODEM загружаю в SRAM romboot 2. Выполняю "1 c0000000", и загружаю romboot в DataFlash 3. Рестартую, но при этом romboot из DataFlash не стартует. При более детальном рассмотрении вижу: 1. В DataFlash лежит нормальный образ начиная с адреса 0xC0000000: - первые 8 вектора - B либо LDR как и положено - шестой вектор корректный 2. Осциллограф показывает, что после рестарта происходит следующее: - несколько раз (в теч. 15-20 мс) запрашивается статус DataFalsh - потом наблюдается считывание образа из DataFlash (судя по кол-ву байт считывается весь образ) - управление похоже не передается считанному образу - через несколько сот милисекунд стартует DBGU (XMODEM) Поскольку видно, что считывается правильное кол-во байт из DataFlash, то можно сделать вывод что первые 8 векторов считываются корректно. Но управление не передаюется считанной программе по окончанию загрузки из DataFlash, а передается обратно в DBGU (XMODEM). Не понятно почему. :( ЗЫ: покапался еще нмного, урезал программу на асме до минимума (зажигает LED и уходит в deadloop), в таом виде программа загружается из DataFlash, значит управление все же успешно переходит загруженной программе, ладно буду дальше сам разбираться чего там в RomBoot понаписано, что приводит к глюку. -
Нужен Li-Ion аккумулятор
Alex2172 ответил 3.14 тема в Поставщики всего остального
Судя по дате поста, Вы уже сделали выбор. На чем остановились при выборе? -
Нужен SMTK для TC65
Alex2172 ответил Alex2172 тема в Сотовая связь и ее приложения
Хорошие ресурсы по теме: http://www.gsmpager.spb.ru/download.html http://www.netbeans.org/kb/50/tutorial-tc65-odd.html Проектных успехов Всем!!! -
Проблема решилась следующим образом: (1) поменял модем у поставщика на модем с новой прошивкой (Rev. 2.00) (2) сконфигурировал командой at^scfg вывод отладочной инфы в ASC0 (чего нельзя было сделать в Rev 1.041) Теперь при запуске at^sjra=a:/helloworld.jar отладочная инфа теперь выводится на теримнал at^sjra=a:/helloworld.jar OK Constructor startApp Hello World destroyApp(true) ВНИМАНИЕ разработчикам: требуйте от поставщика указать в счете версию прошивки Rev 2.00. Если не потребуете, то возможно поставщик постарается продать старую версию 1.041 (модем со старой версией невозможно перепрошить на версию 2.00) Успехов Всем!!!
-
Правильно ли я понимаю, что Вы отказались от вывода инфы посредством system.out.println в ASC1 и используете свои функции для вывода отладочной информации в терминал через ASC0? Вы бы очень помогли, если бы кинули в мою сторону ваш пример типа HelloWorld. Спасибо. :beer:
-
Помогите плз запустить HelloWorld для TC65T
Alex2172 опубликовал тема в Сотовая связь и ее приложения
Помогите плз запустить HelloWorld, горит проект. Копирую в модуль файлы *.jar и *.jad на диск TC65, запускаю командой at^sjra=..., в ответ приходит Ок, но ни какая системная инфа не выводится в терминал функциями system.out.println(). Настроил отладчик, запускаю, все нормально до сообщения >>> Starting Debug Agent ... <<< в консоле Eclipse. А дальше не понятно как отлаживать, не доступны средства отладки Execute, Inspect и т.д. В представительстве сименс ответили, что необходимо иметь релиз 02.00, у меня релиз 01.041 (продали партнеры сиеменс). Релиз ни как не обновить. Получается что мы либо выбросили деньги на ветер (связались с сиеменс), либо все таки существуют какие-то средства отладки для релиза 01.041? -
Нужен SMTK для TC65
Alex2172 ответил Alex2172 тема в Сотовая связь и ее приложения
Спасибо dezzer, иногда доп.ключевые слова упрощают поиск. -
Нужен SMTK для TC65
Alex2172 ответил Alex2172 тема в Сотовая связь и ее приложения
И ссылка где все качали SMTK www.siemens-mobile.com/developer не работает :( -
Нужен SMTK для TC65
Alex2172 опубликовал тема в Сотовая связь и ее приложения
На сколько понял, CD с софтом для разработки собственных программ не входит в комплект поставки TC65/TC65T. Поставщик сказал, что поищет но врядли найдет. На фтп не оказалось. Где его можно скачать? Спасибо -
Я оч.прошу тех у кого есть OpenAT посмотрите в примерах должен быть TELEMETRY (опрос цифрового входа) с какой макс. частотой можно опрашивать цифровой вход? Сам бы посмотрел, но качать почти 100МБ по диал-ап или покупать CD за 6000руб не зная понадобится ли он - проблематично . Спасибо.
-
Q2406B, внешние прерывания можно организовать?
Alex2172 опубликовал тема в Сотовая связь и ее приложения
Здравствуйте, только начал знакомится с этим зверем (Q2406), OpenAT исчо не качал/покупал (на этапе определения а стоит ли оно того), посему вопрос к тем, кто уже его освоил... Можно ли организовать счетные входы на GPIO (либо полингом по таймеру, либо прерываниями)? Какую максимальную частоту при этом можно померить с какой точностью? Спасибо