demiurg_spb 0 23 января, 2012 Опубликовано 23 января, 2012 · Жалоба Это прекрасно! Теперь avr-gcc ничем окромя даблов не уступает коммерческим компиляторам. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ReAl 0 23 января, 2012 Опубликовано 23 января, 2012 · Жалоба Ну уступает/не уступает — тема холивароопасная, но то, что сам GCC как таковой повернулся лицом к мелко-контроллерам с их нюансами — несомненно. Что и дало возможность для avr это реализовать. Ещё бы fixed point из новых предложений к С допилили. А то в расширениях gcc целочисленный _Complex давно работает, но я пока не знаю, куда прикрутить :-) А встроенная fixed-point арифметика была бы очень кстати. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
demiurg_spb 0 24 января, 2012 Опубликовано 24 января, 2012 · Жалоба Так вроде как fixed-point арифметика уже имеется. Я точно с чем-то подобным сталкивался с год назад или даже ранее. Глянул: из хелпа, идущего с avr-gcc 4.5.1 А патч для зараждающейся поддержки Fixed-Point в avr-gcc идёт ИМХО со времён avr-gcc 4.4.3, возможно и ещё раньше. 6.14 Fixed-Point Types As an extension, the GNU C compiler supports fixed-point types as defined in the N1169 draft of ISO/IEC DTR 18037. Support for fixed-point types in GCC will evolve as the draft technical report changes. Calling conventions for any target might also change. Not all targets support fixed-point types. The fixed-point types are short _Fract, _Fract, long _Fract, long long _Fract, unsigned short _Fract, unsigned _Fract, unsigned long _Fract, unsigned long long _Fract, _Sat short _Fract, _Sat _Fract, _Sat long _Fract, _Sat long long _Fract, _Sat unsigned short _Fract, _Sat unsigned _Fract, _Sat unsigned long _Fract, _Sat unsigned long long _Fract, short _Accum, _Accum, long _Accum, long long _Accum, unsigned short _Accum, unsigned _Accum, unsigned long _Accum, unsigned long long _Accum, _Sat short _Accum, _Sat _Accum, _Sat long _Accum, _Sat long long _Accum, _Sat unsigned short _Accum, _Sat unsigned _Accum, _Sat unsigned long _Accum, _Sat unsigned long long _Accum. Fixed-point data values contain fractional and optional integral parts. The format of fixed-point data varies and depends on the target machine. Support for fixed-point types includes: prefix and postfix increment and decrement operators (++, --) unary arithmetic operators (+, -, !) binary arithmetic operators (+, -, *, /) binary shift operators (<<, >>) relational operators (<, <=, >=, >) equality operators (==, !=) assignment operators (+=, -=, *=, /=, <<=, >>=) conversions to and from integer, floating-point, or fixed-point types Use a suffix in a fixed-point literal constant: ‘hr’ or ‘HR’ for short _Fract and _Sat short _Fract ‘r’ or ‘R’ for _Fract and _Sat _Fract ‘lr’ or ‘LR’ for long _Fract and _Sat long _Fract ‘llr’ or ‘LLR’ for long long _Fract and _Sat long long _Fract ‘uhr’ or ‘UHR’ for unsigned short _Fract and _Sat unsigned short _Fract ‘ur’ or ‘UR’ for unsigned _Fract and _Sat unsigned _Fract ‘ulr’ or ‘ULR’ for unsigned long _Fract and _Sat unsigned long _Fract ‘ullr’ or ‘ULLR’ for unsigned long long _Fract and _Sat unsigned long long _Fract ‘hk’ or ‘HK’ for short _Accum and _Sat short _Accum ‘k’ or ‘K’ for _Accum and _Sat _Accum ‘lk’ or ‘LK’ for long _Accum and _Sat long _Accum ‘llk’ or ‘LLK’ for long long _Accum and _Sat long long _Accum ‘uhk’ or ‘UHK’ for unsigned short _Accum and _Sat unsigned short _Accum ‘uk’ or ‘UK’ for unsigned _Accum and _Sat unsigned _Accum ‘ulk’ or ‘ULK’ for unsigned long _Accum and _Sat unsigned long _Accum ‘ullk’ or ‘ULLK’ for unsigned long long _Accum and _Sat unsigned long long _Accum GCC support of fixed-point types as specified by the draft technical report is incomplete: Pragmas to control overflow and rounding behaviors are not implemented. Fixed-point types are supported by the DWARF2 debug information format. Я не пробовал это использовать. Лишь глазом зацепился. Про сравнения... Я только по функциональным возможностям сравнил - не более. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_Pasha 0 24 января, 2012 Опубликовано 24 января, 2012 · Жалоба mstrict-X По-правильному, так она вообще выключаться не должна, эта фичебага :) Этож додуматься: правильное распределение регистровых пар надо включить! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ReAl 0 24 января, 2012 Опубликовано 24 января, 2012 · Жалоба Так вроде как fixed-point арифметика уже имеется. Я точно с чем-то подобным сталкивался с год назад или даже ранее. ... Я не пробовал это использовать. Лишь глазом зацепился. Хм, надо глянуть опять. Я тогда попробовал что-то запустить, оно выругалось и я отстал. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
klen 1 24 января, 2012 Опубликовано 24 января, 2012 · Жалоба я попробую собрать для авэрок.. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ARV 1 24 января, 2012 Опубликовано 24 января, 2012 · Жалоба я попробую собрать для авэрок..для Win32, пожалуйста... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
demiurg_spb 0 24 января, 2012 Опубликовано 24 января, 2012 · Жалоба для Win32, пожалуйста...+1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ReAl 0 24 января, 2012 Опубликовано 24 января, 2012 · Жалоба Для win32 есть в теме на AVRfreaks по ссылке из моего сообщения http://www.avrfreaks.net/index.php?name=PN...p=909086#909086 доберусь до win — попробую. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
klen 1 17 февраля, 2012 Опубликовано 17 февраля, 2012 · Жалоба свежий OpenOCD собраный с поддержкой STLink-v1/2 win64: http://klen.org/Files/DevTools/x86_64-kgp-...0120217.tar.bz2 linux64 http://klen.org/Files/DevTools/linux-x86_6...0120217.tar.bz2 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AHTOXA 15 17 февраля, 2012 Опубликовано 17 февраля, 2012 · Жалоба То ли лыжи не едут... Распаковал линуксовый openocd в папку kgp, где у меня всё остальное, с сохранением структуры папок (bin, lib, share). Пытаюсь запустить: openocd -f interface/stlink-v1.cfg ругается: Can't find interface/stlink-v1.cfg (kgp/bin - в PATH). Ну, думаю, сейчас победю. Ставлю openocd из репозитория, и перезаписываю все файлы свежаком. Всё равно не находит! Что я делаю не так? (И как правильно?) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AHTOXA 15 18 февраля, 2012 Опубликовано 18 февраля, 2012 · Жалоба Ага, кажется понял, в чём дело. Пути поиска жёстко зашиты: Debug: 12 1 configuration.c:45 add_script_search_dir(): adding /home/anton/.openocd Debug: 13 1 configuration.c:45 add_script_search_dir(): adding /opt/arm-kgp-eabi/share/openocd/site Debug: 14 1 configuration.c:45 add_script_search_dir(): adding /opt/arm-kgp-eabi/share/openocd/scripts Перенёс скрипты в ~/.openocd, вроде полегчало, скрипты находятся. Но работать -- пока не работает. Выдаёт попеременно то просто Error: open failed , то libusb couldn't open USB device /dev/bus/usb/005/005: Permission denied. libusb requires write access to USB device nodes. Error: open failed Правила для openocd в /etc/udev/rules.d я скопировал. Пока застрял:) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
klen 1 19 февраля, 2012 Опубликовано 19 февраля, 2012 · Жалоба Правила для openocd в /etc/udev/rules.d я скопировал. Пока застрял:) Судя по соообщениям - UDEV не дал шару на устройства. Мож он не запушен вовсе? Можно тупо проверить кто виновать - попробуте запустить openocd под рутом, если получится - c UDEV нада разобратся. если нет - то openocd (но у мея то отлаживаестя и жгет флеш.... :laughing: ) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AHTOXA 15 19 февраля, 2012 Опубликовано 19 февраля, 2012 · Жалоба Под рутом не ругается, но всё равно не работает:) Нашёл вот такую штуку: https://github.com/texane/stlink. Это gdb-сервер, умеющий работать с st-link v1 и st-link v2. Попробовал. Сервер вроде цепляется за отладчик, радостно рапортует о том, что программа загружена в память. Но при попытке продолжить выполнение ничего не происходит. Потом становится видно, что и не прошилось ничего. Видимо не зря на форумах пишут, что нормально она работает только с v2. Зато имеющаяся в комплекте отдельная утилита программирования - таки работает! (Прошивает только bin-файлы, на остальных вариантах спотыкается) Мне этого вполне достаточно:) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ARV 1 21 марта, 2012 Опубликовано 21 марта, 2012 · Жалоба Там обещают __pgm, __pgmx и -mstrict-X (да и -maccumulate-args неплохо).что-то я не понял: обещают или уже сделано? пробую сам - не выходит каменный цветок :( или я чего-то не понимаю? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться