![](https://electronix.ru/forum/uploads/set_resources_23/84c1e40ea0e759e3f1505eb1788ddf3c_pattern.png)
![](https://electronix.ru/forum/uploads/set_resources_23/84c1e40ea0e759e3f1505eb1788ddf3c_default_photo.png)
Vitaliy_ARM
-
Постов
508 -
Зарегистрирован
-
Посещение
Сообщения, опубликованные Vitaliy_ARM
-
-
Опубликовано · Изменено пользователем Vitaliy_ARM · Пожаловаться
Я думаю надо смотреть с самого начала что происходит!Отключить питание подтянуть ресет к земле и вход в бутлоадер тоже. Включить питание и не отпуская ресет попосылать посмотреть что происходит и на TX и на RX. Потом снять reset попосылать терминалом ? посмотреть что просиходит...
Все заработало! Спасибо за совет. Собственно дело было так. Подтянул ножку P2.10 к земле. Сбросил чип. После сброса подал ?, процессор откликнулся Sinhronized. Оказалось, что был заблокирован J-TAG. После полного стирания все восстановилось. Потом проверил плату, оказалось что не исправен транзистор, который управляет подтяжкой P2.10 при программировании. После замены заработало программирование на плате.
Всем откликнувшимся большое спасибо! :1111493779:
-
Если проц молчит. Откуда тогда брались данные в логе, и эхо на "?" ?
Проц замолчал после того, как я отрубил эхо командой A0<CR><LF>. И больше я ничего от него не могу получить. Ни на какие команды он не отвечает. Скорость обмена была 4800 при выключении эха. Я и скоростя менял и на этой пробовал, результат не меняется. J-TAG вообще не видит проц. ( Сегодня мне сообщили, что еще у одного человека так же умер проц на плате MCB2300 из-за того, что он залил ему прошивку, предназначнную не для него. Так же загрузчик не отвечает. Это к тому, что не у одного меня такая проблема, может быть загрузчик при каких-то условиях может слететь). Пока все указывает на то, что проблема в самом процессоре.
-
Странно. На ПК СОМ порт работает, проверил на другом устройстве. На работу принес и проверил осциллографом сигналы, при подаче ? на входе RX процессора просматривается четкий сигнал. На выходе процессора тишина. В общем на всякий случай заказал пару новых. Продолжаю разбираться
-
Обычно - он на какой-то скорости по умолчанию стоит и эхо выплевывает. Другое дело, что на '?' должен-был синхронизироваться, но это если c '?' все начинается, а не передается в каком-то потоке. Ищите проблему пока за пределами bootloader-а - исправность кабеля, который выдернули на лету, соответственно живость приемопередатчиков, на какой скорости проводится эксперимент с терминалом, теминал, случаем не запихивает для начала тупо строчку инициализации модема....
Кабель полностью исправен, неоднократно проверял. Плата SK-LPC2378 rev.B. Пробовал программировать FlashMagic'ом (версия 4.17.273). Постоянно снимал лог программой HDD serial monitor. Ставил галку Set Code Read Prot. Можно ли запретить чтение так, что загрузчик не будет отвечать?
-
А вы попробуйте обычным терминалом послать
?
эха не должно быть, чип должен ответить
Synchronized
ну перед этим конечно надо подтянуть ножук входа в бутлоадер и проресетить чип.
Подал ?, получил эхо ?. На другие команды не отвечает совсем. Потом попробовал отключить эхо командой:
A0<CR><LF>
Эхо отключилось. Потом попытался включить эхо. Эхо нет! И теперь вообще никаких признаков жизни нет :07:
-
Опубликовано · Изменено пользователем Vitaliy_ARM · Пожаловаться
так судя по логу у вас просто эхо возвращаетсяНе совсем эхо. Как-то по неаккуратности уже такое было. Но все вылечелось стиранием J-Tag'ом сразу после резета. А теперь совсем умер. Так что, на помойку? :07:
-
Опубликовано · Изменено пользователем Vitaliy_ARM · Пожаловаться
В общем при программировании я зацепил кабель СОМ порта и выдернул его из платы. После чего при его перестал находить Wiggler (H-Jtag). При попытке стереть FlashMagic, выдаются ошибки:
Failed to read the device signature, .... Do you want to continue?
Жму ОК.
Operation Failed;
Снял лог (прилагаю). Как видно, связь с процессором устанавливается.
Однако связь устанавливается даже если снять перемычку с порта P2.10. Видимо постоянно загружается загрузчик и висит.
Может кто знает, как его можно вылечить или можно сразу новый покупать???
-
Опубликовано · Изменено пользователем Vitaliy_ARM · Пожаловаться
Работаете??? А как это без CS и прочего удалось-то!!!!Просто у меня не память висит, а CPLD. Я его не использую совсем. У меня плисина генерирует внешнее прерывание, когда она уже подготовила данные. Пардон, этот кусок кода был взят из тестовой программы для проверки работоспособности CPLD.
-
Работаю с LPC2468. Инициализация вот:
//------------------------------------------------------------------------------ //* Инициализация контроллера SRAM void SramInit(void) { DWORD dummy = dummy; //************************************************************************* //* Инициализация EMC and SRAM //************************************************************************* // SCS |= 0x00000002; /* Reset EMC */ EMC_CTRL = 0x00000003; /* Enable Address mirror*/ PCONP |= 0x00000800; /* Turn On EMC PCLK */ // Конфигурация портов ввода/вывода // P3.0 - P3.7 => D0 - D7 // P4.0 - P4.15 => A0 - A15 // P4.24 = ~OE // P4.25 = ~WE // P4.30 = CS0 // P4.31 = CS1 //* шина данных подключена полностью PINSEL6 = 0x55555555; PINSEL7 = 0x55555555; //* шина адреса 12 разрадная PINSEL8 = 0x00555555; PINSEL9 = 0x00010000; EMC_CONFIG = 0; // Litle indian // Шина 32 бит // POR включен // Чип селект по высокому уровню // Extended wait disabled // Write bufer disabled // Write not protected EMC_STA_CFG0 = (1<<6)|(1<<3)|(1<<1); // Async page mode enabled (page length four). delayMs(100); EMC_STA_WAITWEN0 = 0; EMC_STA_WAITOEN0 = 0; EMC_STA_WAITRD0 = 0; EMC_STA_WAITPAGE0 = 0; EMC_STA_WAITWR0 = 0; EMC_STA_WAITTURN0 = 0xF; delayMs(100); // Шина 32 бит // POR включен // Чип селект по высокому уровню // Extended wait disabled // Write bufer disabled // Write not protected EMC_STA_CFG1 = (1<<6)|(1<<3)|(1<<1); delayMs(100); EMC_STA_WAITWEN1 = 0; EMC_STA_WAITOEN1 = 0; EMC_STA_WAITRD1 = 0; EMC_STA_WAITPAGE1 = 0; EMC_STA_WAITWR1 = 0; EMC_STA_WAITTURN1 = 0xF; delayMs(100); return; }
Откорректируйте для 8 битной шины PINSEL и EMC_STA_CFG регистры по даташиту и должно завестись.
-
Опубликовано · Изменено пользователем Vitaliy_ARM · Пожаловаться
Честно сказать для коммуникации LPC24xx да.но нужен SDRAM & DMA так как надо обработать маленькую картинку BMP. Без кеша в разумное время про это можно забыть.
Да и ставить камень в серую пока он в прелюминейт, не очень разумно,
даже глупо. Очень большой риск.
А почему вы не хотите применять ARM9 или BlackFin?
По поводу LPC2468 в корпусе LPQP208 и контроллера внешней памяти, у меня CPLD на нем висит в с 32 битной шиной данных - вроде бы работает нормально, но такой идеотской распиновки SDRAM контроллера я еще не встречал, умудрились через весь кристал его развести. Наверное очень торопились бедняги
-
Опубликовано · Изменено пользователем Vitaliy_ARM · Пожаловаться
Поставьте чип с ревизией B или A. Там таких проблем нет.
Ревизия В уже давно продается везде.
-
Опубликовано · Изменено пользователем Vitaliy_ARM · Пожаловаться
В проекте используется lpc2378. Ни ETHERNET ни USB не используется.Возможно ли использовать ETHERNET RAM (16 kB) и USB RAM (8 KB) как обычную ОЗУ?
Если да, то как это сделать?
Для разработки используется keil + GCC, как я понимаю надо править LinkerScript.ld, но я не понял как указать для секции DATA два участка памяти. Какие будут мысли по этому поводу?
Использовать можно, только GPDMA не имеет доступа к Ethernet RAM. Кейлом не пользуюсь. Самый простой вариант, если нужно там размещать большие буфера, то можно сделать вот так, и контроллировать все в ручную:
int main()
{
DWORD *pBuf = 0x7FE00000; // указатель на буфер в памяти Ethernet
DWORD Data;
*pBuf = 0x01020304;
Data = *pBuf; // Data = 0x01020304
}
-
Объявлять то они объявляют, только когда они появятся известно только богу :) , может через года 4 разродятся
-
Опубликовано · Изменено пользователем Vitaliy_ARM · Пожаловаться
К сожалению я не знаю готового решения RDI <-> GDBserverНо у IAR 5.xx уже есть в конфигурации GDB server, так что 5ый IAR можно подключить прямо к openocd
Недавно наткнулся на ссылку с конфигурацией OpenOCD под вашу плату
http://www.siwawi.arubi.uni-kl.de/avr_proj...rtex/index.html
Там еще есть описание, как этот gdb под линуксом использовать.
Может выложите свою версию OpenOCD сюда? ;)
-
OpenOCD запускается как GDB сервер - то есть висит на локалхосте - для его использования надо выбрать в опциях проэкта в свойствах дебаггера GDB server а в свойствах самого GDB сервера указать
адрес
127.0.0.1,2331
где 2331 - порт на котором запускается OpenOCD.
все это касается ИАРа 5.11 который поддерживает GDB
Понял, нашел, спасибо! Тоже заказал себе STM32F103VB. Придет, попробую FTDI J-TAG и J-Link, заодно и сравню.
-
Да пересобрал OPENOCD
скачал исходники последнии из svn...
как собирать здесь описано
http://openfacts.berlios.de/index-en.phtml...uilding_OpenOCD
Как OpenOCD с IAR стыковать? Через RDI драйвер? Может ссылку подкинете?
-
Опубликовано · Изменено пользователем Vitaliy_ARM · Пожаловаться
Победил!!! Так как адрес у функции 32-разрядный, преобразовал его в DWORD, а при вызове преобразую обратно. Вот кусок кода:
void start(void) { } #pragma location = "CODE" __root const dword StartPointer = (dword)&start; void (* fptr)(); void main(void) { fptr = (void(*)())StartPointer; TargetInit(); fptr(); while(1); }
При вызове fptr(), вызывается start();
-
Староваты они уже и атмел на них забивать стали, изучайте LPC2000. Они получше будут и книгу, :) если надо на русском, я вам дам
-
Опубликовано · Изменено пользователем Vitaliy_ARM · Пожаловаться
Не стал плодить тем. Пишу в похожую.
void (* fptr)();
ну и например
void f1 (void) {
//Do something
}
Инициализация делается так:
fptr = &f1;
Вызывается также как обычная функция:
fptr();
Возникла необходимость делать абдейты на процессоре LPC2378 на IAR.
Для этого был сделан загрузчик, который находится в неперезаписываемой области Flash.
Кроме перепрограммирования оставшейся Flash он еще должен уметь вызывать пару функций из
перезаписываемой области. Для этого по фиксированному адресу в перезаписываемой Flash должны находиться указатели на функции, которые могут находиться в коде где угодно
(функции типа void func(void)).
Прочитал http://electronix.ru/forum/index.php?showt...amp;mode=linear
Попробовал разместить void f1 (void) в памяти.
Просто вот так работает
void start(void)
void (* fptr)() = &start;
А вот так нет.
#pragma location = "MYROM"
__root const void (* fptr)() = &start;
Помогите пожалуйста победить эту штуку :05:
-
Опубликовано · Изменено пользователем Vitaliy_ARM · Пожаловаться
А что платное, в чем подвох то? На сайте Raid7 написано что все тулсы при использовании GNU GCC и использовании STM32 "No software limitation"А бесплатные j-таги не пробовали прикручивать?
-
Это твой GNU gcc-frendly проект был, или в комплекте шел? Если твой - выложишь? Надо с чего-то начинать когда-нибудь, а то пока все доку читаю.
У меня есть куча примеров для платы, которую я выкладывал и не только.
ARM_based_32_bit_MCU_STM32F101xx_and_STM32F103xx_firmware_library.zip
-
Опубликовано · Изменено пользователем Vitaliy_ARM · Пожаловаться
Если кому интересно - выкладываю демоплату от ST (проект в AltiunDesigner 6.?).
-
Если работаете с версиями 4.42 или 5.10 продукта, то вот что по этому поводу пишет производитель:
Патч прилагаю.downgrade_dlls.zip
Попробовал заменить файлы. Все осталось по-прежнему. Может просто конфликтуют драйвера именно с этим чипом, типа тоже его еще не успели в базу внести. Мда, вот проблема. :05:
-
Опубликовано · Изменено пользователем Vitaliy_ARM · Пожаловаться
Не знаю, как на Моссковской, но если, как на остальных, то собствено семейство было только обозначено и соответственно в документе по ссылке о нем практически ничего нет.Там немного описана переферия (стр 28) и место, которое он должен занимать на рынке (словом информация для продавцов). Флеши и RAM обещается явно по-больше, чем сейчас у ST. Модуль Ethernet MAC наверняка будет от LPC23xx/24xx с DMA. Я был на этой конференции. Представитель NXP утверждал, что эта серия ориентирована на замену 8 и 16 битных МК при той же стоимости, производительности, привосходящей ARM7 и низком энергопотреблении. Больше всего "хвалили" эту архитектуру STMicroelectronix. Посмотрим, что получится у NXP :05:
SD карта
в ARM
Опубликовано · Пожаловаться
Давайте, посмотрим :)