UniSoft 15 28 апреля, 2018 Опубликовано 28 апреля, 2018 · Жалоба А по поводу фото платы что скажете? Это точно 10-я версия? точно она... там контроллер LPC4337JBD144 с High Speed USB У меня старенькая Ultra, которой уже около 5 лет, работает на 24МГц по SWD. :rolleyes: так в нем FPGA рулит... и цена на него более 800 долларов... к сожалению, китайцы его толком не закопи-пастили... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 241 28 апреля, 2018 Опубликовано 28 апреля, 2018 · Жалоба так в нем FPGA рулит... и цена на него более 800 долларов... к сожалению, китайцы его толком не закопи-пастили... Нет. Со стартеркита. Когда они там ещё были. :((( Китайцы не китайцы, но кто-то определённо скопипастил. Со стартеркита.ру пропали, но на http://otladka.com.ua - остались. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Segment 3 28 апреля, 2018 Опубликовано 28 апреля, 2018 · Жалоба А куда делись отладчики со starterkit? Там были неплохие варианты с ETM Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
haker_fox 61 20 июня, 2018 Опубликовано 20 июня, 2018 · Жалоба Коллеги, внезапно перестал работать из IAR с LPC4337 отладчик JetLink Super Pro (взят на старерките). Другие отладчики (Jetlink 9, например) работают отлично. ИАР даёт ошибку, что на скриншоте. Подключение к процу сделано по даташиту. Спалить его вроде не могли, да и возможно ли это? Есть ли какие варианты, в чём дело? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
skripach 6 21 июня, 2018 Опубликовано 21 июня, 2018 · Жалоба Коллеги, внезапно перестал работать из IAR с LPC4337 отладчик JetLink Super Pro (взят на старерките). Другие отладчики (Jetlink 9, например) работают отлично. ИАР даёт ошибку, что на скриншоте. Подключение к процу сделано по даташиту. Спалить его вроде не могли, да и возможно ли это? Есть ли какие варианты, в чём дело? Проверьте свой JetLink Super Pro с другим камнем/платой. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
haker_fox 61 22 июня, 2018 Опубликовано 22 июня, 2018 · Жалоба Проверьте свой JetLink Super Pro с другим камнем/платой. Ну к другой плате с таким же камнем - бесполезно, ибо делали. А другого камня сейчас нет, чтобы подклчюить к нему JTAG((( Но за совет спасибо!!!) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
virfis 0 28 июня, 2018 Опубликовано 28 июня, 2018 · Жалоба Добрый день. Имеется следующая проблема. JetLink Ultra V4 работал нормально до обновления драйверов от сеггер не выше версии 6.14b. С драйверами новее при отладке выдает ошибку что отладчик defective. В принципе достаточно было подменять драйверы в IAR на версию 6.14 и все работало дальше. Но возникла потребность перейти на Keil. Он поначалу тоже ругался что дефектив. Подменил драйверы на 6.14. И он вообще отказывается записывать программу к контроллер. Выдает такую ошибку: При этом IAR с этим же драйвером работает нормально. Как подружить Keil c драйвером или сделать чтобы jetlink не был defective. Прошивка в jetlink от 20 апреля 2018 обновилась нормально сама. Да и всегда обновляется без проблем. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 241 28 июня, 2018 Опубликовано 28 июня, 2018 · Жалоба Имеется следующая проблема. JetLink Ultra V4 работал нормально до обновления драйверов от сеггер Была аналогичная проблема с Ultra V4. Порешили её поставив дрова JLink_V612f. Сейчас работает и с IAR8.20 ок. Возможно можно и новее дрова поставить, но я не знаю какая последняя рабочая версия. Знаю что JLink_V612f - работает, а JLink_V619e - уже нет. Где-то между ними последняя рабочая версия. Проверять все подряд - лень. Писал уже об этом где-то тут на форуме. Если выясните последнюю рабочую версию - сообщите, плиз. :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
virfis 0 28 июня, 2018 Опубликовано 28 июня, 2018 (изменено) · Жалоба Была аналогичная проблема с Ultra V4. Порешили её поставив дрова JLink_V612f. Сейчас работает и с IAR8.20 ок. Возможно можно и новее дрова поставить, но я не знаю какая последняя рабочая версия. Знаю что JLink_V612f - работает, а JLink_V619e - уже нет. Где-то между ними последняя рабочая версия. Проверять все подряд - лень. Писал уже об этом где-то тут на форуме. Если выясните последнюю рабочую версию - сообщите, плиз. :) 6.14b работает с iar как часы. Новее я пробовал только с 6.20. И уже не работает. Но мне то надо чтобы с keil работало. :bb-offtopic: Iar 8.xx помимо своего неудобства еще и имеет ошибки компилятора при включенной оптимизации выше low. А именно в lwip проявляется - при подключении по TCP, довольно быстро происходит переполнение счетчика cwnd. И следующие пакеты просто отбрасываются на приеме. Я анализировал ассемблерный код и там реально ошибка - не маскируются старшие 16 бит в регистре, при 16-битной переменной. В 7.80.4 на точно тех же исходниках этой проблемы нет. Но поддержка новых процессоров stm32h7 есть только начиная с 8-й версии, хотя на сайте в табличке сравнения быстродействия они как-то использовали версию 7.60. В общем я решил попробовать кейл, а тут проблема с jetlink. Изменено 28 июня, 2018 пользователем virfis Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 241 28 июня, 2018 Опубликовано 28 июня, 2018 · Жалоба Iar 8.xx помимо своего неудобства еще и имеет ошибки компилятора при включенной оптимизации выше low. А именно в lwip проявляется - при подключении по TCP, довольно быстро происходит переполнение счетчика cwnd. И следующие пакеты просто отбрасываются на приеме. Я анализировал ассемблерный код и там реально ошибка - не маскируются старшие 16 бит в регистре, при 16-битной переменной. В 7.80.4 на точно тех же исходниках этой проблемы нет. Вы уверены??? Это очень серьёзное заявление! Мы у себя в проекте используем IAR8.11 и 8.20 - проблем не замечали. Выложите пожалуйста участок кода, компиляция которого приводит к указанной ошибке. И ассемблерный листинг для него. А также какое ядро? и важные ключи компиляции. Я думаю это будет полезно многим участникам здесь. Но поддержка новых процессоров stm32h7 есть только начиная с 8-й версии, хотя на сайте в табличке сравнения быстродействия они как-то использовали версию 7.60. В общем я решил попробовать кейл, а тут проблема с jetlink. Заглянул в свойства проекта IAR 7.80.4 - присутствует ядро M7. Так что думаю должен работать с ними. Да и в Keil наверняка можно внедрить какие нужно дрова segger-а - по-крайней мере мы у себя в Dave заменяли их без проблем (версию 6.12F). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
virfis 0 28 июня, 2018 Опубликовано 28 июня, 2018 · Жалоба Вы уверены??? Это очень серьёзное заявление! Мы у себя в проекте используем IAR8.11 и 8.20 - проблем не замечали. Выложите пожалуйста участок кода, компиляция которого приводит к указанной ошибке. И ассемблерный листинг для него. А также какое ядро? и важные ключи компиляции. Я думаю это будет полезно многим участникам здесь. Заглянул в свойства проекта IAR 7.80.4 - присутствует ядро M7. Так что думаю должен работать с ними. Да и в Keil наверняка можно внедрить какие нужно дрова segger-а - по-крайней мере мы у себя в Dave заменяли их без проблем (версию 6.12F). Уверен на 100% потому что я неделю потратил на поиск проблемы. Сделаю не прям сейчас, но позже и выложу листинги. В IAR 7.80.4 я компилирую под stm32f765, а мне надо еще stm32H743. И его он не знает. Так я и внедрил в кейл нормальные драйвера 6.14b и получил то что на втором скриншоте. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 241 28 июня, 2018 Опубликовано 28 июня, 2018 · Жалоба Уверен на 100% потому что я неделю потратил на поиск проблемы. Сделаю не прям сейчас, но позже и выложу листинги. Будем ждать. И заранее спасибо! IAR у нас официальный, и если баг подтвердится и будет проект, его иллюстрирующий, то наверное будем стучать в поддержку. Так я и внедрил в кейл нормальные драйвера 6.14b и получил то что на втором скриншоте. А после внедрения при подключении он обновлял прошивку J-Link-а? Если так, то наверное они как-то не полностью внедрились. У нас, как только мы в Dave внедрили 6.12f, он сразу перестал требовать обновления прошивки. И сейчас работает без нареканий. Кейл не юзаем. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
virfis 0 29 июня, 2018 Опубликовано 29 июня, 2018 (изменено) · Жалоба Будем ждать. И заранее спасибо! IAR у нас официальный, и если баг подтвердится и будет проект, его иллюстрирующий, то наверное будем стучать в поддержку. А после внедрения при подключении он обновлял прошивку J-Link-а? Если так, то наверное они как-то не полностью внедрились. У нас, как только мы в Dave внедрили 6.12f, он сразу перестал требовать обновления прошивки. И сейчас работает без нареканий. Кейл не юзаем. Не умею работать с тегами в общем вот: lwip 2.0 tcp_in.c строка 1145, оптимизация максимальная balanced /* Update the congestion control variables (cwnd and ssthresh). */ if (pcb->state >= ESTABLISHED) { if (pcb->cwnd < pcb->ssthresh) { if ((tcpwnd_size_t)(pcb->cwnd + pcb->mss) > pcb->cwnd) { pcb->cwnd += pcb->mss; } LWIP_DEBUGF(TCP_CWND_DEBUG, ("tcp_receive: slow start cwnd %"TCPWNDSIZE_F"\n", pcb->cwnd)); } else { tcpwnd_size_t new_cwnd = (pcb->cwnd + pcb->mss * pcb->mss / pcb->cwnd); if (new_cwnd > pcb->cwnd) { pcb->cwnd = new_cwnd; } LWIP_DEBUGF(TCP_CWND_DEBUG, ("tcp_receive: congestion avoidance cwnd %"TCPWNDSIZE_F"\n", pcb->cwnd)); } } Вот ассемблер проблемного места с моими комментариями: tcpwnd_size_t new_cwnd = (pcb->cwnd + pcb->mss * pcb->mss / pcb->cwnd); Тут в R0 - pcb->cwnd = FFFA 0x809177e: 0x4349 MULS R1, R1, R1 0x8091780: 0xfb91 0xf1f0 SDIV R1, R1, R0 после умножения и деления получили слагаемое в R1 = 20 0x8091784: 0x1809 ADDS R1, R1, R0 R1 = 1001A - Вот ошибка! new_cwnd объявлена как 16 бит, а не отброшены старшие 16 бит if (new_cwnd > pcb->cwnd) { 0x8091786: 0xf105 0x0044 ADD.W R0, R5, #68 ; 0x44 0x809178a: 0x8882 LDRH R2, [R0, #0x4] снова закинули в R0 - pcb->cwnd = FFFA 0x809178c: 0x4291 CMP R1, R2 И вот ошибка при сравнении. То есть мы не попадаем в условие if (new_cwnd > pcb->cwnd) { pcb->cwnd = new_cwnd; } И pcb->cwnd не принимает нужного значения и потом все пакеты на входе выбрасываются А вот код из версии 7,80 tcpwnd_size_t new_cwnd = (pcb->cwnd + pcb->mss * pcb->mss / pcb->cwnd); 0x8092650: 0x4349 MULS R1, R1, R1 0x8092652: 0xfb91 0xf1f0 SDIV R1, R1, R0 0x8092656: 0x1809 ADDS R1, R1, R0 if (new_cwnd > pcb->cwnd) { 0x8092658: 0xb28a UXTH R2, R1 - Вот она спасительная строка, убравшая старшие 16 бит. 0x809265a: 0x4290 CMP R0, R2 0x809265c: 0xbf38 IT CC 0x809265e: 0x4610 MOVCC R0, R2 0x8092660: 0x80b8 STRH R0, [R7, #0x4] 0x8092662: 0xe036 B.N 0x80926d2 То что официальный IAR это очень хорошо, но проект не могу предоставить по политике предприятия. Изменено 29 июня, 2018 пользователем virfis Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 241 29 июня, 2018 Опубликовано 29 июня, 2018 · Жалоба И pcb->cwnd не принимает нужного значения и потом все пакеты на входе выбрасываются А как объявлены tcpwnd_size_t и pcb->cwnd? И какая именно версия IAR 8.xx? Попробую позже у себя сэмулировать такое. Хотя я конечно в принципе не использую локальные не-static переменные как рабочие внутри функций: только int/uint или выше. Чтобы не было лишних команд расширений. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
virfis 0 29 июня, 2018 Опубликовано 29 июня, 2018 (изменено) · Жалоба А как объявлены tcpwnd_size_t и pcb->cwnd? И какая именно версия IAR 8.xx? Попробую позже у себя сэмулировать такое. так как LWIP_WND_SCALE = 0, то typedef u16_t tcpwnd_size_t; и в структуре соответсвенно tcpwnd_size_t cwnd; Хотя я конечно в принципе не использую локальные не-static переменные как рабочие внутри функций: только int/uint или выше. Чтобы не было лишних команд расширений. Ну мне меньше всего хотелось бы ковырять код LwIP. Я начал пробовать 8-ку начиная с 8.22.1 и далее до последней 8.30.1 проверял каждое обновление. Ошибка не исправлена. И думаю что без багрепорта не исправят. Не смотря на то что это конечно важный момент, но возвращаясь к теме, кейл ни с 6.14b ни с 6.12f не хочет работать. Прошивка в отладчике обычно обновлялась без проблем если подключиться более новой версией. А есть возможность вернуть прошивку которая соответсвует драйверу 6,12 или 6,14? чем это делается и где ее взять? Изменено 29 июня, 2018 пользователем virfis Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться