Jump to content

    

msalov

Свой
  • Content Count

    526
  • Joined

  • Last visited

Community Reputation

0 Обычный

About msalov

  • Rank
    Знающий
  • Birthday 10/20/1984

Контакты

  • Сайт
    http://

Информация

  • Город
    Беларусь, Минск

Recent Profile Visitors

3039 profile views
  1. Добрый день. Могу сказать, что протокол программирования един, и он реализован в моей программе. Т.е. отладчик загружает прошивку по известному протоколу, а потом делает сброс или что-то подобно для последующей отладки. А во с не есть нюансы. Спецификации протокола нет в свободном доступе, но отладка не так проста ещё и по причине использования отладочного монитора в отлаживаемом мк.для каждого чипа версия монитора отлична и поставляется в бинарном виде. Таким образом отладчик свой пока невозможно сделать.
  2. Цитата(Artur.L @ May 21 2016, 14:35) Привет!!! понимаю тема была создано давно,но как с вами связаться можно? так как я новенький и не могу отправлять сообщение пишу вашей теме,есть пару вопросов по вашему программатору,если можно напишите свою почту или скайп, буду очень благодарен вам Спасибо. Пишите на [attachment=101138:email.png]
  3. Цитата(Jenya7 @ Dec 15 2015, 15:22) и все это для того чтобы сравнить неколько переменных? мне кажется быстрее уж сделать тем же memcmp Программа пишется не для компилятора, а в первую очередь для того, кто будет её читать в будущем. Возможно и для будущего вас.
  4. Цитата(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]) да и ошибку допустить будет сложнее в первом случае, вот и вся премудрость.
  5. Цитата(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 зависит от вашего компилятора.
  6. Цитата(demiurg_spb @ Sep 9 2015, 16:38) Цитата(Spider @ Sep 9 2015, 16:04) Раз уж такая пьянка, а не расскажете как заставить make пересобирать конкретный *.c даже если в нём не было изменений?Встречный вопрос: зачем? Например что бы обновлялась версия/дата сборки при каждой пересборке. Делается это так: Код.PHONY: FORCE FORCE: timestamp.o: FORCE %.o: %.c     $(CC) ...
  7. Ну собственно любой adjustable ldo и резистор.
  8. температура обрывает связь

    Ядро тактируется от XT2? Если да, питание достаточное для ядра? XT2DRIVEx выставлен верно?
  9. Kycon KPPX-4P Hosiden TCP0546-715267
  10. Благодаря kuber-у "проблема" с RL78/G10 разрешилась. Начиная с версии rl78flash-v0.4 в состав входит отдельная программа rl78g10flash специально для RL78/G10.
  11. Видимо никак 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'
  12. Написал драйвер для USB-UART преобразователя на upd78f0730, что даёт возможность наладить связь с МК на указанных платах. Возможно и на других тоже. Если кто-то попробует - просьба отписаться о результатах, как отрицательных, так и положительных. Если есть какие-либо замечания или рекомендации, так же хотелось бы их узнать. Ссылка на исходники: https://github.com/msalau/upd78f0730-driver
  13. Для этих целей есть Find First Set (ffs). Или вот ещё -> "Number of leading zeros algorithms"
  14. расположить массив в памяти (Си)

    Такие объёмы памяти на стеке не выделяются. Если это константы - добавьте ключевое слово const, если нет - выделяйте при помощи malloc/calloc.
  15. Можно парой сдвоенных оптореле (или 4мя одиночными), например LCC110.