Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: свежак KGP win32/arm/avr/mips/m68k
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Cредства разработки для МК > GNU/OpenSource средства разработки
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26
AHTOXA
Цитата(adnega @ Feb 1 2013, 14:20) *
Поменял эффекта ноль. Стало еще хуже))

Похоже не везде поменяли. Константам припишите суффикс f: 0.1f.
adnega
Цитата(demiurg_spb @ Feb 1 2013, 12:24) *
а так?
clat += 0.000001f;

Вообще для координат действительно нужен дабл или фиксед-поинт, иначе точности не хватит...


Нихт арбайтн:
Код
clat += 0.000001f;
8001150:    a313          add    r3, pc, #76; (adr r3, 80011a0 <main+0xc8>)
8001152:    e9d3 2300     ldrd    r2, r3, [r3]
8001156:    4620          mov    r0, r4
8001158:    4629          mov    r1, r5
800115a:    f7ff fdbb     bl    8000cd4 <__adddf3>
_Pasha
Цитата(adnega @ Feb 1 2013, 12:20) *
Поменял эффекта ноль. Стало еще хуже))
Код
8001158:    f7ff ff1a     bl    8000f90 <__aeabi_f2d>

Падажжите. -mfloat-abi=hard пристутствует?
adnega
Цитата(_Pasha @ Feb 1 2013, 12:38) *
Падажжите. -mfloat-abi=hard пристутствует?

Конечно.

Вроде все заработало.
Указал все типы float, все константы с суффксом f (кроме M_PI).
Код теперь генерится красивый (с vmul, vadd).
Скорость возросла в долгожданные 11 раз.
Но может чуть-чуть волнует вызов "80015b8: f000 f916 bl 80017e8 <sqrtf>" при живом "VSQRT{cond}.F32 Sd, Sm"
_Pasha
Цитата(adnega @ Feb 1 2013, 12:43) *
Вроде все заработало.
Указал все типы float, все константы с суффксом f (кроме M_PI).

Странно то, что в прошлый раз конверсия как-то боком прошла. У меня такого не было, правда, это все не kgp, считайте оффтоп sm.gif
vcvt генерится аж бегом на строки типа float a = (float) foo_int;
demiurg_spb
CFLAGS += -Wdouble-promotion
чтобы компилятор поругался на даблы там где их не должно быть...
adnega
Цитата(demiurg_spb @ Feb 1 2013, 13:11) *
CFLAGS += -Wdouble-promotion
чтобы компилятор поругался на даблы там где их не должно быть...

Отличнейшая опция!

Странно, при -Os итерация порядка 1700 тактов и листинг:
Код
   dist = 2.0f * asinf(sqrtf(sdlat * sdlat + cosf(clat) * cosf(lat) * sdlon * sdlon)) * 6367444.6571225f;
80015c4: ed9d 0a07   vldr  s0, [sp, #28]
80015c8: f000 f856   bl  8001678 <cosf>
80015cc: eef0 aa40   vmov.f32  s21, s0
80015d0: ed9d 0a06   vldr  s0, [sp, #24]
80015d4: f000 f850   bl  8001678 <cosf>
80015d8: ee2a 0a80   vmul.f32  s0, s21, s0
80015dc: ee20 0a09   vmul.f32  s0, s0, s18
80015e0: ee20 0a09   vmul.f32  s0, s0, s18
80015e4: eea8 0aa8   vfma.f32  s0, s17, s17
80015e8: f000 f920   bl  800182c <sqrtf>
80015ec: f000 f8c6   bl  800177c <asinf>


А при -O2 итерация 1048 тактов и задействуется vsqrt
Код
   dist = 2.0f * asinf(sqrtf(sdlat * sdlat + cosf(clat) * cosf(lat) * sdlon * sdlon)) * 6367444.6571225f;
8001bae: ed9d 0a07   vldr  s0, [sp, #28]
8001bb2: f000 f85f   bl  8001c74 <cosf>
8001bb6: eeb0 aa40   vmov.f32  s20, s0
8001bba: ed9d 0a06   vldr  s0, [sp, #24]
8001bbe: f000 f859   bl  8001c74 <cosf>
8001bc2: ee2a 0a00   vmul.f32  s0, s20, s0
8001bc6: ee60 7a28   vmul.f32  s15, s0, s17
8001bca: ee67 7aa8   vmul.f32  s15, s15, s17
8001bce: eee8 7a08   vfma.f32  s15, s16, s16
8001bd2: eeb1 0ae7   vsqrt.f32 s0, s15
8001bd6: eeb4 0a40   vcmp.f32  s0, s0
8001bda: eef1 fa10   vmrs  APSR_nzcv, fpscr
8001bde: d13f        bne.n 8001c60 <main+0x1cc>
8001be0: f000 f8ca   bl  8001d78 <asinf>


При этом размер кода отличается всего на 32 байта, а производительность более чем на 38%
AHTOXA
Цитата(adnega @ Feb 1 2013, 15:49) *
Отличнейшая опция!

Есть ещё
Код
-fsingle-precision-constant
.
Что касаемо -Os - по моему опыту, в ARM-ах это какая-то неудачная оптимизация. Самый нормальный уровень - -O2. -O3 иногда делает побыстрее, но не всегда. Зато гарантированно раздувает код.
demiurg_spb
Цитата(AHTOXA @ Feb 1 2013, 15:41) *
Есть ещё
Код
-fsingle-precision-constant
Не, ну так не честно. Я бы на неё не стал закладываться.
adnega
Цитата(demiurg_spb @ Feb 1 2013, 16:09) *
Не, ну так не честно. Я бы на неё не стал закладываться.

Из-за этого: " This section includes experimental options that may produce broken code."?
klen
Цитата(adnega @ Feb 1 2013, 12:43) *
Но может чуть-чуть волнует вызов "80015b8: f000 f916 bl 80017e8 <sqrtf>" при живом "VSQRT{cond}.F32 Sd, Sm"


нивапрос... уже разжовывал ввыше по тексту зачем и почему:

Код
static inline float __attribute__ ((always_inline)) vsqrt (float value)
        {
            float result;
            asm volatile (     "vsqrt.f32 %0, %1 \r\n"
                      : "=w" (result) : "w" (value) );
            return (result);
        }

static inline float __attribute__ ((always_inline)) vabs (float value)
        {
            float result;
            asm volatile (     "vabs.f32 %0, %1 \r\n"
                  : "=w" (result) : "w" (value) );
            return (result);
        }


далее вызывайте вместо sqrtf() vsqrt(), fabs можно не трогать - как нистранно компиллер его превращает в vabs.f32.
adnega
Цитата(klen @ Feb 1 2013, 17:17) *
нивапрос... уже разжовывал ввыше по тексту зачем и почему:
далее вызывайте вместо sqrtf() vsqrt(), fabs можно не трогать - как нистранно компиллер его превращает в vabs.f32.

Так не пойдет. Это все равно, что на асме писать; vsqrt ведь не библиотечная функция.
Не понятно почему при оптимизации Os вызывается библиотечная функция, а при O2 подставляется инструкция FPU.
_Pasha
Цитата(adnega @ Feb 1 2013, 16:54) *
Так не пойдет. Это все равно, что на асме писать; vsqrt ведь не библиотечная функция.

Костылями накройте: #define sqrtf vsqrt
adnega
Цитата(_Pasha @ Feb 1 2013, 19:30) *
Костылями накройте: #define sqrtf vsqrt

Не-не-не.
Это какая-такая религия запрещает компилятору использовать инструкцию, которая входит в реализацию fpv4-sp-d16.
Можно подумать, что в отличии от "обычных" арифметических действий, которые всегда дадут результат (даже при делении на ноль), извлечение квадратного корня несколько расширяет диапазон результата (особенно для отрицательных аргументов), поэтому должно быть функцией. Или ход мыслей неверный?
AHTOXA
Цитата(demiurg_spb @ Feb 1 2013, 18:09) *
Не, ну так не честно. Я бы на неё не стал закладываться.

Зато с её помощью можно легко проверить, не забыл ли ты где-либо написать суффикс f sm.gif
Цитата(adnega @ Feb 1 2013, 19:54) *
Не понятно почему при оптимизации Os вызывается библиотечная функция, а при O2 подставляется инструкция FPU.
Чего же тут непонятного. Это баг. Можете сделать багрепорт.
ReAl
Оптимизацию на размер просили?
С вызовом библиотечной функции код этого куска стал меньше?
Так какой же это баг?

Ключа «оптимизация на размер, но догадываться, где будет обида на упавшую скорость» пока нет.

p.s. Я и для AVR в какой-то момент перешел на -O2. Именно по этой причине «сказано на размер, значит на размер» и идет вызов библиотечной функции ради экономии нескольких байт по месту.
adnega
Цитата(ReAl @ Feb 1 2013, 20:19) *
Оптимизацию на размер просили?
С вызовом библиотечной функции код этого куска стал меньше?
Так какой же это баг?

Ключа «оптимизация на размер, но догадываться, где будет обида на упавшую скорость» пока нет.

Дык, реализация библиотечного корня судя по листингу два экрана строк.
Может это проблема библиотеки?
Но зачем компилятор использует функцию, а не инструкцию.
По поводу размера: он уменьшился лишь в комплексе, конкретный кусок при этом стал больше.
_Pasha
Цитата(adnega @ Feb 1 2013, 19:28) *
Но зачем компилятор использует функцию, а не инструкцию.
По поводу размера: он уменьшился лишь в комплексе, конкретный кусок при этом стал больше.

Эта функция sqrtf используется один раз? Если так, - то бага. Если несколько раз - фича sm.gif

Цитата(adnega @ Feb 1 2013, 19:02) *
Не-не-не.

Если костылик правильно завернуть в #ifdef , то исходник у Вас будет чистый, а в конкретном случае Вы не будете завязаны на способ оптимизации.
Проверить builtin macros
Код
#if (defined(__VFP_FP__) && !defined(__SOFTFP__))

Но там бардак, в частности CS от вольного ставит эти макросы.
Рекомендовали проверять __ARM_PCS_VFP
но тама фигурировала бага...
Интересно, что в kgp с этими макросами?
--
блин, когда же я на х64 перееду...
AHTOXA
Цитата(_Pasha @ Feb 1 2013, 23:12) *
Эта функция sqrtf используется один раз? Если так, - то бага. Если несколько раз - фича sm.gif

Во-воsm.gif Хотя, если
Цитата(adnega @ Feb 1 2013, 15:49) *
При этом размер кода отличается всего на 32 байта, а производительность более чем на 38%

, то значит не бага: размер-то всё-таки уменьшился в итогеsm.gif
Цитата(_Pasha @ Feb 1 2013, 23:12) *
Интересно, что в kgp с этими макросами?

Вот же, недавно тема была.
adnega
Задам вопрос иначе: может, у меня просто нет библиотеки, в которой математические функции реализуют hard по-максимому?
baralgin
Извиняюсь, немного по другой теме наблюдение.
Касательно программной эмуляции плавучки (у меня cortex-m3) заметил "баг" в newlib::sqrtf:

sqrtf тянет за собой несколько функций double-арифметики (ddiv и тд). Следы приводят сюда:
http://sourceware.org/cgi-bin/cvsweb.cgi/s...amp;cvsroot=src
CODE
#ifdef _IEEE_LIBM
return __ieee754_sqrtf(x);
#else
float z;
struct exception exc;
z = __ieee754_sqrtf(x);
if(_LIB_VERSION == _IEEE_ || isnan(x)) return z;
if(x<(float)0.0) {
/* sqrtf(negative) */
exc.type = DOMAIN;
exc.name = "sqrtf";
exc.err = 0;
exc.arg1 = exc.arg2 = (double)x;
if (_LIB_VERSION == _SVID_)
exc.retval = 0.0;
else
exc.retval = 0.0/0.0;
if (_LIB_VERSION == _POSIX_)
errno = EDOM;
else if (!matherr(&exc)) {
errno = EDOM;
}
if (exc.err != 0)
errno = exc.err;
return (float)exc.retval;
} else
return z;
#endif

Реализация корня __ieee754_sqrt(f) обвёрнута в какой-то ужас sm.gif - мне он не нужен, поэтому я просто заменил <math.h> на свой "mysqrt.h" (другой математики я не использую):
CODE
#ifndef GUARD_MYSQRT_H
#define GUARD_MYSQRT_H

#ifndef USE_IEEE_SQRT
#include <math.h>
#else
// to call __ieee754_sqrt(f) directly from newlib
extern "C" double __ieee754_sqrt(double x);
extern "C" float __ieee754_sqrtf(float x);

static inline double sqrt(double x)
{
return __ieee754_sqrt(x);
}
static inline float sqrtf(float x)
{
return __ieee754_sqrtf(x);
}
#endif

#endif

При использовании только float-математики размер проекта снизился на 2-3Кб (точнее уже не помню).

Проверялось на самых последних свежаках kgp и последнем yagarto.
Terminator
После масштабной доработки проекта, прошивка перестала запускаться. Виснет на этапе вызовов конструкторов.
Добавил болтливости в отладочный UART и вот что получил:
Код
0: Constr_Task started!
0: start 0x1323cc, end 0x1323dc
0: Constr: 0x11ab4d
0: Constr: 0x11cd85
0: Constr: 0x11f5d5
0: Constr: 0x125c05
0: Starting 0x11ab4d

Как видно, адреса почему-то не выровнены, как так могло случиться? cranky.gif

Контроллер sam7x, gcc из последнего свежака. Никаких сторонних либ. Стартап полностью свой.

Куда копать? smile3046.gif
Сергей Борщ
QUOTE (Terminator @ Feb 15 2013, 14:27) *
Куда копать?
В сторону .map. А код, небось, в thumb-режиме? Младший бит используется как индикатор thumb, по нему команда BX переключает режимы. Так что я не вижу тут криминала, если только конструкторы вызываются через BX, а не через MOV в PC.
Terminator
Действительно. Позор мне twak.gif

Спасибо за разъяснения.
Terminator
Цитата(klen @ Dec 9 2012, 22:58) *
неа... нифига оно не чисто: log10 всякую мутату из newlib. так всегда бывает.... нафига ему у __impure_ptr ? чтоб сообщить о коде ошибки или еще чтото а оно нам нужно?
...

Цитата(Terminator @ Dec 10 2012, 18:02) *
Теперь log10 не требует errno. Спасибо.
...


Это было для lpc1768, там помогло.

Щас проект на атмеловском sam7x.
Возникла острая необходимость освободить как можно больше ОЗУ. Опять всплыла тема errno для log10 sad.gif
Больше 1к в трубу.

Кусок map файла:
Код
/usr/local/arm/bin/../lib/gcc/arm-kgp-eabi/4.8.0/../../../../arm-kgp-eabi/lib/thumb/libm.a(lib_a-sf_round.o)
                              obj/common/OS/common.o (roundf)
/usr/local/arm/bin/../lib/gcc/arm-kgp-eabi/4.8.0/../../../../arm-kgp-eabi/lib/thumb/libm.a(lib_a-wf_log10.o)
                              obj/cpu/param.o (log10f)
/usr/local/arm/bin/../lib/gcc/arm-kgp-eabi/4.8.0/../../../../arm-kgp-eabi/lib/thumb/libm.a(lib_a-ef_log10.o)
                              /usr/local/arm/bin/../lib/gcc/arm-kgp-eabi/4.8.0/../../../../arm-kgp-eabi/lib/thumb/libm.a(lib_a-wf_log10.o) (__ieee754_log10f)
/usr/local/arm/bin/../lib/gcc/arm-kgp-eabi/4.8.0/../../../../arm-kgp-eabi/lib/thumb/libm.a(lib_a-ef_log.o)
                              /usr/local/arm/bin/../lib/gcc/arm-kgp-eabi/4.8.0/../../../../arm-kgp-eabi/lib/thumb/libm.a(lib_a-ef_log10.o) (__ieee754_logf)

...

/usr/local/arm/bin/../lib/gcc/arm-kgp-eabi/4.8.0/../../../../arm-kgp-eabi/lib/thumb/libc.a(lib_a-errno.o)
                              /usr/local/arm/bin/../lib/gcc/arm-kgp-eabi/4.8.0/../../../../arm-kgp-eabi/lib/thumb/libm.a(lib_a-wf_log10.o) (__errno)
/usr/local/arm/bin/../lib/gcc/arm-kgp-eabi/4.8.0/../../../../arm-kgp-eabi/lib/thumb/libc.a(lib_a-impure.o)
                              /usr/local/arm/bin/../lib/gcc/arm-kgp-eabi/4.8.0/../../../../arm-kgp-eabi/lib/thumb/libc.a(lib_a-errno.o) (_impure_ptr)

klen
после долгого залегания на дне всплываем!

свежак для ARM . хост linux x86_64

http://klen.org/Files/DevTools/linux-x86_6..._64-20130623.7z
сильно вштырило от прочтения судового дневника Федора Конюхова (http://www.konyukhov.ru/) который Он вел при одиночной кругосветке в Северном море - Antarctica Cup Race Track 2008 . Оказывается один человек может по неделе и более не спать! практически не есть! управлятся с 30 метровой океанской яхтой имеющей 750м2 парусного вооружения. в это трудно поверить но это факт. Данной сборке я дал имя этого отважного человеа , что можно увидеть по ключикам -v.

теперь компиллер будет иметь ветку 4.9 транка

некоторые соображения ипредложения:
после расковыривания проекта отладчика BlackMagic, переделки прошивки и изготовленя тестовых платок отладчика полностью перешел на новый отладчик (на фотке отладчик слева , справа таргет)

мне понравилось
1. Хорошо написанный GDB сервер который крутится на микроконтролере отладчика. причем писал граматный чел - все канонично без костыликов.
2. реализован интерфейс по SWD и JTAG. с момента его изготовления пробывал для проверки JTAG, с тех пор пользуюсь только SWD
3. осцылограф и отладка отладчика sm.gif показали что скорость заливки в флеш таргета определяестя исключительно скоростью флеша таргета. на осцилограмме видно скорость SWD на порядки выше скорост прошивания.
4. По субъективным ощушениям в связи с высокой скоростью стало лучше отлаживатся - отладчик за "более сложные" точки останова в состоянии зацепится. после связки openocd + gdb это сильно ощушается.
5. имеется уже реализованный UART - можно обеспечит вывод через него отладочную инфу с таргета. я не использую эту возможность потому что делаю сразу USB композит на девайсе и через USB организую консоль. если случится девайс без вывода USB (что трудно представить) но эта фича будет незаменима.
6. ну и главное - поскольку проект открыйтый - можно порезвится sm.gif
а) добавил штырьки на отладчик и две команды - включить/выключить питание USB_VBUS и +3,3v. это позволит питать маленькие девайсы от самого отладчика
Цитата
(gdb) target extended-remote /dev/ttyACM0
Remote debugging using /dev/ttyACM0
(gdb) mon help
General commands:
version -- Display firmware version info
help -- Display help for monitor commands
jtag_scan -- Scan JTAG chain for devices
swdp_scan -- Scan SW-DP for devices
targets -- Display list of available targets
morse -- Display morse error message
connect_srst -- Configure connect under SRST: (enable|disable)
ldo -- Power 3.3v output: (enable|disable)
usb_vbus -- Power USB_VBUS(5v) output: (enable|disable)

traceswo -- Start trace capture

б) добавил на плату 4 вывода для заводки на отладчик аналоговых сигналов на АЦП + вывода сигналов с ЦАП + 8 линий GPIO(на фотке виден ряд из 8 PLC2.54 штырьков)

последний пункт - хочется сделать не просто отладчик а более умное устрйство. в USB композит отладчика доюавить интерфейс аналогового и цифрового обмена с таргетом. на стороне хоста по мимо собсно отладки через отладчик еще писать и читать в этот интерфейс. с помощью программы на хосте эмулировать например объект управления отлаживаемого устойства. К примеру Вы пишете прошивку для контроллера серво привода - но сервопривод на полигоне, размером с грузовик .... а отлаживатся хочется дома или в шезлонге на берегу речки. в таком случае необходимо будет только на хосте написть прогу реализующую динамическою модель сервопривода и замкнуть входы и выходы цепи обратной связи через отладчик ( GPIO/ЦАП/АЦП.UART ). Я планирую на стороне хоста сделать микрофреймворк который позволит на Lua быстро создавать эмуляторы того к чему девайс будет подключен в реальности.

в связи описанным забил на OpenOCD
_Pasha
Цитата(klen @ Jun 23 2013, 07:01) *
если случится девайс без вывода USB (что трудно представить) но эта фича будет незаменима.

Отчего? GSM - модем, например. Вешалка, конечно, но в особо извращенных случаях... всё, молчу. sm.gif
klen
Цитата(_Pasha @ Jun 24 2013, 01:13) *
Отчего? GSM - модем, например. Вешалка, конечно, но в особо извращенных случаях... всё, молчу. sm.gif

я имел ввиду мои таргеты, ну если GSM то конечно UART пригодится. но у всех их уже USB в комплекте тоже.
klen
свежак для arm хост x86_64
http://klen.org/Files/DevTools/linux-x86_6...30728-ARCHIM.7z

klen
свежак для arm хост x86_64
www.klen.org/Files/DevTools/linux-x86_64/arm-kgp-eabi-linux-x86_64-20131006-АНГКАЯНРАНАЙ.7z

а ваще ктонибудь использует? мож сизисов труд?
AHTOXA
Я в основном переключился на gcc-arm-embedded, но часто использую kgp как проверочный вариант.
klen
Цитата(AHTOXA @ Oct 6 2013, 23:07) *
Я в основном переключился на gcc-arm-embedded, но часто использую kgp как проверочный вариант.

в чем профицит? интересно для сравнения.
Terminator
я пользуюсь
AHTOXA
Цитата(klen @ Oct 7 2013, 02:25) *
в чем профицит? интересно для сравнения.

Основное соображение такое: более широкая база пользователей => есть надежда на лучшую протестированность.
klen
Цитата(AHTOXA @ Oct 7 2013, 08:38) *
Основное соображение такое: более широкая база пользователей => есть надежда на лучшую протестированность.

на выходе различия существенны, их характер?
интересно, потому что я только свежаком проекты собираю.
AHTOXA
К свежаку претензий никаких, обычно он выигрывает по размеру кода. Различия несущественны. Просто gcc-arm-embedded кажется более надёжным sm.gif
demiurg_spb
Цитата(klen @ Oct 7 2013, 00:25) *
в чем профицит? интересно для сравнения.

Я пользуюсь этим:
http://sourceforge.net/projects/bleeding-edge/files/
Т.к. основана на официальной сборке от arm с ланчпада, но собирает проекты на 30% быстрее (только что сравнил крайние версии (4.7.4 release)).
Сергей Борщ
QUOTE (klen @ Oct 6 2013, 22:25) *
в чем профицит?
В доступности в любой момент. В том числе и старых версий. Я пытался пару раз попробовать вашу сборку. Так пока найдешь рабочую ссылку на последнюю версию, перелопатишь несколько страниц этой ветки. Попутно получив десяток сообщений "ссылка протухла". На заглавной вашего сайта последняя новость датирована 2007 годом, ссылок на актуальные сборки нет. И какой смысл мне использовать вашу сборку, если перейдя на другой компьютер (а я их использую три - один на работе и два дома) мне нужно снова решать этот ребус?
demiurg_spb
Цитата(Сергей Борщ @ Oct 7 2013, 10:41) *
+1
klen
Цитата(Сергей Борщ @ Oct 7 2013, 10:41) *
В доступности в любой момент. В том числе и старых версий. Я пытался пару раз попробовать вашу сборку. Так пока найдешь рабочую ссылку на последнюю версию, перелопатишь несколько страниц этой ветки. Попутно получив десяток сообщений "ссылка протухла". На заглавной вашего сайта последняя новость датирована 2007 годом, ссылок на актуальные сборки нет. И какой смысл мне использовать вашу сборку, если перейдя на другой компьютер (а я их использую три - один на работе и два дома) мне нужно снова решать этот ребус?


мдяяя, неудобно наверно. я думал что актуально лишь текущий и поэтому старье подчищаю.
если у сообщество есть итерес я буду продолжать выкладывать сборки + возможне пожелания. для удобства могу сделать отдельную страничку на своем сайте с живыми текщими линками и тулсу для проверки наличия сборок на фтп.
если комунибудь надо ...
Xenia
Цитата(klen @ Oct 7 2013, 23:07) *
если у сообщество есть итерес я буду продолжать выкладывать сборки + возможне пожелания. для удобства могу сделать отдельную страничку на своем сайте с живыми текщими линками и тулсу для проверки наличия сборок на фтп.


Завели бы себе папку и на здешнем ftp, чтобы архивы копились. Система типа "новое родилось - старое стёр" не вызывает ни малейшего доверия к источнику. Все крупные разработчики хранят старые версии до упора, т.к. только так, на сравнениях изменений, совершенствуется продукт.

Должна признаться, что уже не один год (с 2009-го) коллекционирую выкладываемые вами архивы. Однако на ftp их не выкладываю, поскольку у вас есть свой сайт, да и на местный ftp вы сами вхожи.
Сергей Борщ
QUOTE (Xenia @ Oct 7 2013, 23:02) *
Завели бы себе папку и на здешнем ftp, чтобы архивы копились.
Нет уж, мне как-то больше по душе страничка со ссылками на сайте ув. klenа. Чтобы "без регистрации без СМС скачать бесплатно". Даже тулсы не надо - достаточно анонсов в этой ветке.
adnega
Цитата(klen @ Oct 7 2013, 23:07) *
если комунибудь надо ...

Мне надо. Несколько серийных устройств разработаны с Вашей сборкой.
Разработки ведутся и сейчас.
Тысячами работают без нареканий.
Хост: win_64 (в основном), win_32.
PS. Все сборки на всякий случай храню у себя.
klen
гуд.
раз так то ченить придумаю как интересно все организовать и хранить.
гарантирую быструю скорость на скачивание - сервак на бэкбоне корбины.
по поводу выкладывания кемнибудь моих архивов куданибудь - я не проив - GNU tools это общее доброе добро sm.gif
сарматъ
Цитата(adnega @ Oct 8 2013, 00:57) *
Мне надо. Несколько серийных устройств разработаны с Вашей сборкой.
Тысячами работают без нареканий.

должно быть у вас большая статистика по надежности, не подскажете какая наработка на отказ у ваших изделий, используете ли ОС, какие компиляторы кроме kgp используете?
AHTOXA
У меня ещё пожелание: чтоб каждый свежак был и под линукс и под винду. Для единообразия, так сказать.
sherr
Цитата(AHTOXA @ Oct 8 2013, 08:39) *
У меня ещё пожелание: чтоб каждый свежак был и под линукс и под винду. Для единообразия, так сказать.

А под Linux 32 бита ARM / AVR уже никогда не будет, у меня Дебиан прирученный, сносить не хочу ... ?
adnega
Цитата(сарматъ @ Oct 8 2013, 08:57) *
должно быть у вас большая статистика по надежности, не подскажете какая наработка на отказ у ваших изделий, используете ли ОС, какие компиляторы кроме kgp используете?

В контексте KGP проблем с компилляцией нет. В одной из сборок были вопросы к командам эксклюзивного досупа (тут обсуждали), сейчас все Ок.
ОС в основном не испольую. Есть два серийных контроллера с FreeRTOS и uIP, остальные без ОС.
Контроллеры в основном STM32F100, F407, F103, F373. Пробовал и на LPC17xx, LPC11xx, LC12xx. Но с позиций компиллятора это Cortex-M3/M4F.
По размеру кода не заморачивался.
По скорости кода: функцию подстчета MD5 в asm-коде на сколько-то процентов убыстрил в сравнении с C-вариантом и KGP, но произведил
"махинации" с групповой загрузкой регистров (без "махинации" C-версия меня делает по скорости).
ИТОГО: Достаточно надежный и быстрый компиллятор, на который я пришел с Keil`а и назад не тянет))
Terminator
в последнем свежаке symlink arm-kgp-eabi/bin/ld указывает в неправильное место. Надо относительную ссылку.
DVF
Цитата(klen @ Oct 7 2013, 23:07) *
если комунибудь надо ...

И мне надо. Всем надо и даже тем, кто пока этого не знает sm.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.