msalov
Свой-
Постов
502 -
Зарегистрирован
-
Посещение
Весь контент msalov
-
Программатор Renesas RL78
msalov ответил msalov тема в Все остальные микроконтроллеры
Добрый день. Могу сказать, что протокол программирования един, и он реализован в моей программе. Т.е. отладчик загружает прошивку по известному протоколу, а потом делает сброс или что-то подобно для последующей отладки. А во с не есть нюансы. Спецификации протокола нет в свободном доступе, но отладка не так проста ещё и по причине использования отладочного монитора в отлаживаемом мк.для каждого чипа версия монитора отлична и поставляется в бинарном виде. Таким образом отладчик свой пока невозможно сделать. -
Программатор Renesas RL78
msalov ответил msalov тема в Все остальные микроконтроллеры
-
отследить изменение переменной.
msalov ответил jenya7 тема в Программирование
Программа пишется не для компилятора, а в первую очередь для того, кто будет её читать в будущем. Возможно и для будущего вас. -
отследить изменение переменной.
msalov ответил jenya7 тема в Программирование
Адрес 0x0F сгодится для указателя на uint8_t, но не сгодится для uint32_t. Будущему вам будет проще читать 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]) да и ошибку допустить будет сложнее в первом случае, вот и вся премудрость. -
отследить изменение переменной.
msalov ответил jenya7 тема в Программирование
Нет, разное происходит. При таком варианте у вас может быть проблема с невыровненным доступом. Идеальный вариант - объявить упакованную структуру. которая разложит байты пакета согласно логического содержания, ну а дальше оперировать полями этой структуры. __packed struct packet { ... uint32_t ref; ... }; struct packet *old_packet; struct packet *new_packet; if (old_packet->ref != new_packet->ref) { do_stuff(); } __packed зависит от вашего компилятора. -
Встречный вопрос: зачем? Например что бы обновлялась версия/дата сборки при каждой пересборке. Делается это так: .PHONY: FORCE FORCE: timestamp.o: FORCE %.o: %.c $(CC) ...
-
Простейший источник тока для светодиода
msalov ответил ViKo тема в Схемотехника
Ну собственно любой adjustable ldo и резистор. -
Ядро тактируется от XT2? Если да, питание достаточное для ядра? XT2DRIVEx выставлен верно?
-
опознать разъем
msalov ответил cant_101 тема в В помощь начинающему
Kycon KPPX-4P Hosiden TCP0546-715267 -
Программатор Renesas RL78
msalov ответил msalov тема в Все остальные микроконтроллеры
Благодаря kuber-у "проблема" с RL78/G10 разрешилась. Начиная с версии rl78flash-v0.4 в состав входит отдельная программа rl78g10flash специально для RL78/G10. -
diff/patch
msalov ответил SM тема в GNU/OpenSource средства разработки
Видимо никак :( http://linux.die.net/man/1/patch Как обходной путь, можно скрипты вызывать не './foo.sh' а '$(SHELL) ./foo.sh' -
Платы YRPBRL78G13(G14), V850ESJx3-STICK и Linux
msalov опубликовал тема в Все остальные микроконтроллеры
Написал драйвер для USB-UART преобразователя на upd78f0730, что даёт возможность наладить связь с МК на указанных платах. Возможно и на других тоже. Если кто-то попробует - просьба отписаться о результатах, как отрицательных, так и положительных. Если есть какие-либо замечания или рекомендации, так же хотелось бы их узнать. Ссылка на исходники: https://github.com/msalau/upd78f0730-driver -
Как с помощью #define определить позицию бита
msalov ответил ViKo тема в Программирование
Для этих целей есть Find First Set (ffs). Или вот ещё -> "Number of leading zeros algorithms" -
расположить массив в памяти (Си)
msalov ответил Метценгерштейн тема в Программирование
Такие объёмы памяти на стеке не выделяются. Если это константы - добавьте ключевое слово const, если нет - выделяйте при помощи malloc/calloc. -
Можно парой сдвоенных оптореле (или 4мя одиночными), например LCC110.
-
Программатор Renesas RL78
msalov ответил msalov тема в Все остальные микроконтроллеры
Ошибка исправлена в версии v0.3.2 (для G12 и G13). Проблема с G10 осталась. Пока нет возможности её выловить. Как будут мк живьём, займусь вплотную. -
Про возможности и цену изготовления уточняйте у фабрики.
-
Несколько вопросов начинающего
msalov ответил MiklPolikov тема в FreeRTOS
Если ваша задержка меньше разрядности счётчика, то 0 обрабатывать не нужно. Но если больше - обязательно (или разбивать на части). Пример: пусть счётчик 16-битный. Начальное значение 2, а задержка - 70000 (0x11170). Если взять просто сумму получим 0x11172, из-за переполнения получим в итоге 0x1172, что даст реальную задержку 4464 вместо 70000. Если промахнуться с разрядностью переменной, с которой будет сравниваться счётчик - можно никогда не выйти из цикла ожидания. -
Раз не ставит 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.
-
Эти пакеты не лежат в общем репозитарии, а есть в дистрибутиве 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/
-
Моё дело предложить, а ваше - отказаться. Может кому и сгодится. Только не вводите в заблуждение: это действительно называется сублицензирование и это действительно бесплатно. Пример: APPLICATION FOR SUBLICENSE TO MICROCHIP UNIVERSAL SERIALBUS VENDOR ID
-
Проверка уровня оптимизации
msalov ответил juvf тема в Программирование
Если поведение программы зависит от уровня оптимизации, значит программа написана неверно. Стоит решать проблему а не следствие. -
Производители микросхем с USB могут бесплатно раздавать PIDы и это называется сублицензирование. Так делают TI, Microchip, Silabs и другие. У них даже есть форма запроса на сайте. Только есть некоторые ограничения по количеству выпускаемых приборов. ST надо спрашивать напрямую (тыц)
-
C++ и ООП для микроконтроллеров AVR
msalov ответил koluna тема в Программирование
В "тело" каждого экземпляра класса добавляется указатель на таблицу виртуальных функций. Сами таблицы лежат в ПЗУ. -
ещё #define START_ARC 0x14400UL К тому же стоит взглянуть на реализацию Flash_write32, если она принимает unsigned long* а не __data20 unsigned long*, то ваши "внешние" старания не имеют смысла - надо править библиотеку, либо ставить модель памяти Large.