-
Постов
2 767 -
Зарегистрирован
-
Посещение
Весь контент demiurg_spb
-
Легко. Причём это поведение описано в стандарте. Если у флэша и ОЗУ разные адресные пространства именно так и будет. Например, для AVR специально придуман квалификатор __flash, который укажет компилятору, что данные нужно поместить во флэш, а не в основную память (коей считается ОЗУ). Для ARM, где единое адресное пространство, можно с уверенностью сказать, что static const данные лягут во флэш (кроме случая когда компилятор решит соптимизировать) . Умная книга, которую ТС советовали читать - это стандарт языка Си...
-
Удаленку пока не рассматриваем.
-
Вакансия программиста встраиваемых систем
demiurg_spb опубликовал тема в Предлагаю работу
В компанию ООО "Сумма технологий" требуется инженер-программист встраиваемых систем. Должностные обязанности: - разработка ПО под архитектуру ARM (cortex-m); - написание ПД согласно ЕСПД; - участие в испытаниях макетов и опытных образцов. Требования к кандидату: - отличное знание языка Си; - отличное знание архитектуры ARM (cortex-m); - опыт работы с gnu-arm тулчейном. Условия труда: - пятидневка с 9 до 17:30; - официальное оформление; - белая ЗП в районе 60 т.р. чистыми в зависимости от опыта кандидата; - офисное здание со столовой БЦ "Скайтрейд" Санкт-Петербург ул. Репищева 20. http://www.summatechnology.ru/contacts/ +7(812)333-31-21 (доб.189) Елена (отдел кадров). -
Чтобы нормально разобраться в принципах работы gcc-xxx, утилиты make и т.д.и т.п. нужен не один месяц. Вместо того, чтобы устраивать подобную клоунаду ТС просто необходимо научиться читать доки. Жаль что Чукча не читатель, а писатель.
-
Глюки программирования mega128
demiurg_spb ответил Who_are_you? тема в AVR
Проблема в чём-то другом. У вас ведь программа не состоит только из данных во флеше, а есть ещё и код программ. avr-gcc (см скрипт линкера и map-файл) обычно размещает секцию с данными перед секцией кода. Поэтому проблемы с заполнением памяти на 49% и 51% не следуют из вышеназванных предположений. А на будущее рекомендую изучить файлик pgmspace.h Также есть смысл использовать более свежий тулчейн хотя бы avr-gcc-4.9.2 т.к. там появилась поддержка ключевого слова __flash (на подобии IAR). https://sourceforge.net/projects/mobileches...%20%28Win32%29/ -
Atmega128 и DS1307 через порт G
demiurg_spb ответил AndrewCIK тема в AVR
CodeVisionAVR в топку! Используйте avr-gcc. Для начала лучше: https://sourceforge.net/projects/winavr/files/ потом, когда вдруг потребуется что-то свеженькое: http://www.microchip.com/development-tools/atmel-studio-7 + http://www.atmel.com/ru/ru/tools/ATMELAVRT...FORWINDOWS.aspx -
Сделать из дефайна функцию.
demiurg_spb ответил jenya7 тема в Программирование
unsigned int Div_Round_Closest(unsigned int x, unsigned int divisor) { return (x/(float)divisor + 0.5f); } - это только положительных чисел, а для отрицательных -0,5f надо. Либо так: int divRoundClosest(const int n, const int d) { return ((n < 0) ^ (d < 0)) ? ((n - d/2)/d) : ((n + d/2)/d); } Подробности тут: https://stackoverflow.com/questions/2422712...d-of-truncating -
Для скорости, очевидно! Основная идея - улучшение переносимости программ между архитектурами с разной разрядностью АЛУ. Например, на AVR uint_fast8_t будет 8-ми битным, а на Cortex-m уже 32-ух битным. Его следует использовать, фактически, повсеместно, кроме как в протоколах передачи данных. Я использую эти типы в счётчиках цикла, в качестве аргументов функции, а также в качестве возвращаемого функцией значения, локальные временные и статические переменные и т.д.... Чтобы понять суть, напишите код для Cortex-m, с использованием uint_fast8_t и uint8_t, и посмотрите во что выливается компиляция такого кода:
-
Не иначе...
-
Отличная идея!
-
Спасибо за совет!
-
Понятно, что их много разных. Но наиболее употребимые же есть?
-
Спасибо за ссылочку... Поясню, делаю прибор со входом для различных термодатчиков. Хочу добавить стандартные градуировки NTC, чтобы пользователь мог выбрать сам подходящую к имеющемуся в системе датчику.
-
NTC какие бывают типы
demiurg_spb опубликовал тема в Метрология, датчики, измерительная техника
Ищу информацию из первоисточника по типам полупроводниковых датчиков температуры NTC В настоящий момент знаю лишь что смог нагуглить. ИМХО наиболее распространены - 10K NTC - NTC 575 также есть целая серия FT003 - там их штук 20 разновидностей. Вопрос что самое ходовое и где найти НСХ (таблицы или формулы) для этих датчиков? Спасибо! -
https://gcc.gnu.org/onlinedocs/gcc-4.4.7/gc...r-Builtins.html __builtin_constant_p
-
Qucs
demiurg_spb ответил demiurg_spb тема в Вопросы аналоговой техники
Более того есть доки и даже книжки (см. список внизу на вики) Человеку, сидящему в winows, никогда не понять смысла opensource( -
Qucs
demiurg_spb ответил demiurg_spb тема в Вопросы аналоговой техники
Всегда можно зарепортить баг или предложение. Также можно и самому пытаться допиливать продукт. На мой взгляд это чуть ли не единственный достаточно простой открытый продукт для моделирования схем. Я не знаю альтернативы Qusc, также как и не знаю альтернативы kicad. -
Qucs
demiurg_spb опубликовал тема в Вопросы аналоговой техники
https://ru.wikipedia.org/wiki/Qucs http://qucs.sourceforge.net/download.html Кто использовал, поделитесь впечатлениями. -
extern inline
demiurg_spb ответил demiurg_spb тема в Программирование
Если интересно, почитайте стандарт С99 - там написано то, о чём я вкратце изложил. Даёт именно то о чём я сказал: в случае разделной компиляции без LTO, если компилятор не заинлайнит эту функцию в различных единицах трансляции, то мы всё равно получим ЛИШЬ ОДИН экземпляр этой функции. -
extern inline
demiurg_spb опубликовал тема в Программирование
Вот уже как лет 15 программирую на Си и думал, что уже знаю всё и вся, но на прошлой удивился следующему: Оказывается, если реализацию функции поместить в заголовочном файле unit.h и описать её как inline void foo(void) { do something...} , без слова static а в файле unit.c поместить следующее extern inline void foo(void); то компилятор гарантировано создаст экземпляр этой функции для внешнего вызова, а в других модулях, включающих заголовочный файл unit.h, эта функция может заинлайнится, либо будет вызвана из модуля unit.c (это зависит от уровня оптимизации и отдано на откуп компилятору). Вот такие пироги))) -
Так сказать на совершенно случайно оказавшемся и первым попавшемся Кинетисе))) Это мне уже напоминает анекдот про собаку и блох: "А если бы у рыбы была шерсть, то у неё наверняка были бы блохи (кинетисы)..."
-
Я совершенно не понял к чему Вы мне это написали? Именно эту мысль я и отразил в своём предыдущем посте. Скопируйте мой исходник и скомпилируйте, а потом раскомментируйте третью строку и скомпилируйте снова.
-
#include <string.h> strcpy(tst_hex.passkey, "12345"); Попытайтесь осознать это: char a[20] = "12345"; char* b = NULL; // a = "bad"; b = "good";
-
Зависание ATMega328P
demiurg_spb ответил Ioann_II тема в AVR
ImageCraft - не самый лучший выбор. Хуже разве что CodeVision. Не хотите увлекательных квестов в будущем - переходите на avr-gcc (бесплатно), либо на iar (если есть лишние деньги). -
Библиотеки для STM32
demiurg_spb ответил juvf тема в STM
Чем не угодил libopencm3? И почему бы не пофиксить багу и отправить патч?