Jump to content

    

msalov

Свой
  • Content Count

    526
  • Joined

  • Last visited

Everything posted by msalov


  1. Добрый день. Могу сказать, что протокол программирования един, и он реализован в моей программе. Т.е. отладчик загружает прошивку по известному протоколу, а потом делает сброс или что-то подобно для последующей отладки. А во с не есть нюансы. Спецификации протокола нет в свободном доступе, но отладка не так проста ещё и по причине использования отладочного монитора в отлаживаемом мк.для каждого чипа версия монитора отлична и поставляется в бинарном виде. Таким образом отладчик свой пока невозможно сделать.
  2. Со средствами программирования RL78 есть проблема: есть только E1, который работает только под Win. Для исправления положения написал программу, которая умеет программировать мк через встроенный штатный загрузчик -> rl78flash. Программка консольная, работает как под Lin так и под Win. *nix-оиды, думаю, соберут из исходников без проблем, а для пользователей Win есть готовые сборки. Аппаратная составляющая: преобразователь USB-UART (или COM-UART) и немного стандартной логики (или пара диодов): Схема законченного устройства: По схеме выше сделал такое: Если кому в Беларуси такое устройство надо -- могу презентовать печатную плату. Есть ещё 8 штук.
  3. Цитата(Artur.L @ May 21 2016, 14:35) Привет!!! понимаю тема была создано давно,но как с вами связаться можно? так как я новенький и не могу отправлять сообщение пишу вашей теме,есть пару вопросов по вашему программатору,если можно напишите свою почту или скайп, буду очень благодарен вам Спасибо. Пишите на [attachment=101138:email.png]
  4. Цитата(Jenya7 @ Dec 15 2015, 15:22) и все это для того чтобы сравнить неколько переменных? мне кажется быстрее уж сделать тем же memcmp Программа пишется не для компилятора, а в первую очередь для того, кто будет её читать в будущем. Возможно и для будущего вас.
  5. Цитата(Jenya7 @ Dec 15 2015, 14:37) функция принимает массив uint8_t . к тому же что может быть невыравненно в массиве? Адрес 0x0F сгодится для указателя на uint8_t, но не сгодится для uint32_t. Цитата(Jenya7 @ Dec 15 2015, 14:37) ок. допустим. все равно я думаю это будут те же операции на уровне ассемблера. Будущему вам будет проще читать Кодif (old_packet->ref != new_packet-<ref) нежели Кодif (new_packet[0] != old_packet[0] || new_packet[1] != old_packet[1] || new_packet[2] != old_packet[2] || new_packet[3] != old_packet[3]) да и ошибку допустить будет сложнее в первом случае, вот и вся премудрость.
  6. Цитата(Jenya7 @ Dec 15 2015, 14:09) так что ли? if(*((uint32_t*)new_packet) != *((uint32_t*)old_packet)) а что, за кулисами происходит не одно и то же? Нет, разное происходит. При таком варианте у вас может быть проблема с невыровненным доступом. Идеальный вариант - объявить упакованную структуру. которая разложит байты пакета согласно логического содержания, ну а дальше оперировать полями этой структуры. Код   __packed struct packet {        ...        uint32_t ref;        ...    };       struct packet *old_packet;    struct packet *new_packet;       if (old_packet->ref != new_packet->ref)    {        do_stuff();    } __packed зависит от вашего компилятора.
  7. Цитата(demiurg_spb @ Sep 9 2015, 16:38) Цитата(Spider @ Sep 9 2015, 16:04) Раз уж такая пьянка, а не расскажете как заставить make пересобирать конкретный *.c даже если в нём не было изменений?Встречный вопрос: зачем? Например что бы обновлялась версия/дата сборки при каждой пересборке. Делается это так: Код.PHONY: FORCE FORCE: timestamp.o: FORCE %.o: %.c     $(CC) ...
  8. Ну собственно любой adjustable ldo и резистор.
  9. температура обрывает связь

    Ядро тактируется от XT2? Если да, питание достаточное для ядра? XT2DRIVEx выставлен верно?
  10. Kycon KPPX-4P Hosiden TCP0546-715267
  11. Благодаря kuber-у "проблема" с RL78/G10 разрешилась. Начиная с версии rl78flash-v0.4 в состав входит отдельная программа rl78g10flash специально для RL78/G10.
  12. Видимо никак http://linux.die.net/man/1/patch ЦитатаCaveats Context diffs cannot reliably represent the creation or deletion of empty files, empty directories, or special files such as symbolic links. Nor can they represent changes to file metadata like ownership, permissions, or whether one file is a hard link to another. If changes like these are also required, separate instructions (e.g. a shell script) to accomplish them should accompany the patch. Как обходной путь, можно скрипты вызывать не './foo.sh' а '$(SHELL) ./foo.sh'
  13. Написал драйвер для USB-UART преобразователя на upd78f0730, что даёт возможность наладить связь с МК на указанных платах. Возможно и на других тоже. Если кто-то попробует - просьба отписаться о результатах, как отрицательных, так и положительных. Если есть какие-либо замечания или рекомендации, так же хотелось бы их узнать. Ссылка на исходники: https://github.com/msalau/upd78f0730-driver
  14. Для этих целей есть Find First Set (ffs). Или вот ещё -> "Number of leading zeros algorithms"
  15. расположить массив в памяти (Си)

    Такие объёмы памяти на стеке не выделяются. Если это константы - добавьте ключевое слово const, если нет - выделяйте при помощи malloc/calloc.
  16. Можно парой сдвоенных оптореле (или 4мя одиночными), например LCC110.
  17. Цитата(kuber @ Aug 8 2014, 09:26) Не получается запрограммировать чипы G10, G12, G13 в Win XP. Ошибка исправлена в версии v0.3.2 (для G12 и G13). Проблема с G10 осталась. Пока нет возможности её выловить. Как будут мк живьём, займусь вплотную.
  18. Про возможности и цену изготовления уточняйте у фабрики.
  19. Несколько вопросов начинающего

    Цитата(MiklPolikov @ May 27 2014, 16:11) Коллеги, ещё один вопрос : Верно ли я понимаю, что значение, которое возвращает xTaskGetTickCount(); периодически сбрасывается в 0 и начинает расти заново, т.к. переполняется 32х разрядная переменная, которая считает тики , и стало быть, при использовании xTaskGetTickCount(); я должен обрабатывать этот сброс в 0 ? А все функции операционки которые работают со временем (задержка, взять симофор и т.п. ) , то же обрабатывают сброс счётчика тиков в 0 ? МП Если ваша задержка меньше разрядности счётчика, то 0 обрабатывать не нужно. Но если больше - обязательно (или разбивать на части). Пример: пусть счётчик 16-битный. Начальное значение 2, а задержка - 70000 (0x11170). Если взять просто сумму получим 0x11172, из-за переполнения получим в итоге 0x1172, что даст реальную задержку 4464 вместо 70000. Если промахнуться с разрядностью переменной, с которой будет сравниваться счётчик - можно никогда не выйти из цикла ожидания.
  20. STLinux

    Раз не ставит cross-пакет, значит он уже установлен. Осталось дело за малым - узнать куда он стал. Сделайте Кодrpm -qlp stlinux24-cross-sh4-binutils-2.19.1-41.i386.rpm | grep sh4-linux-ld С большой долей вероятности там будут строка Код/opt/STM/STLinux-2.4/devkit/sh4/bin/sh4-linux-ld Значит вам надо добавить /opt/STM/STLinux-2.4/devkit/sh4/bin/ к переменной окружения PATH при запуске make.
  21. STLinux

    Эти пакеты не лежат в общем репозитарии, а есть в дистрибутиве STLinux. Ставить их надо командой yum localinstall /path/to/rpm/stlinux24-cross-sh4-binutils-2.19.1-41.i386.rpm Скачать пакеты можно отсюда ftp://ftp.stlinux.com/pub/stlinux/2.4/STLinux/sh4/ по одному Или целиком образ диска отсюда ftp://ftp.stlinux.com/pub/stlinux/2.4/iso/ Вероятно можно подключить репозитарий к yum, что б он сам разрешал зависимости: ftp://ftp.stlinux.com/pub/stlinux/2.4/ или ftp://ftp.stlinux.com/pub/stlinux/2.4/STLinux/
  22. Моё дело предложить, а ваше - отказаться. Может кому и сгодится. Только не вводите в заблуждение: это действительно называется сублицензирование и это действительно бесплатно. Пример: APPLICATION FOR SUBLICENSE TO MICROCHIP UNIVERSAL SERIALBUS VENDOR ID
  23. Если поведение программы зависит от уровня оптимизации, значит программа написана неверно. Стоит решать проблему а не следствие.
  24. Производители микросхем с USB могут бесплатно раздавать PIDы и это называется сублицензирование. Так делают TI, Microchip, Silabs и другие. У них даже есть форма запроса на сайте. Только есть некоторые ограничения по количеству выпускаемых приборов. ST надо спрашивать напрямую (тыц) Цитата("STOne-32")Dear Gordon Yes, we provide USB PIDs sublicensing service to our small customers who has no budget to be member at USB-IF and tp pay the USB-IF membership. Please Contact your local ST sales and marketing office for more information on this service. we will re-contact your shortly while providing some details about your applications and used STM32 device for your design. Cheers, STOne-32.
  25. Цитата(megajohn @ May 19 2014, 12:12) и помнится, для реализации virtual нужно дополнительно место в RAM для каких-то таблиц ( давно где-то читал, но proof не дам - не знаю где читал ) В "тело" каждого экземпляра класса добавляется указатель на таблицу виртуальных функций. Сами таблицы лежат в ПЗУ.