Size: a a a

2020 June 07

u

uis in Embedded Group
uis
static const uint8_t res[]=const1, len1[]=const2;
void f(){
sub(res);
sub(len1);
}
Типа того
источник

SK

Stas Koynov in Embedded Group
эмм...
источник

SK

Stas Koynov in Embedded Group
наверное компилятор сказал тоже самое...
источник

u

uis in Embedded Group
источник

u

uis in Embedded Group
Upd
источник

u

uis in Embedded Group
void nrf24l01Init()
источник

SK

Stas Koynov in Embedded Group
но дичь делает sendMsg2 с нашими указателями так?
источник

u

uis in Embedded Group
uis
movs r0, r4
movs r1, r2
adds r0, #20
bl
Это из nrf24l01Init
источник

SK

Stas Koynov in Embedded Group
да но там подняли опустили ногу. дальше весь код в sendMsg2
источник

SK

Stas Koynov in Embedded Group
его нужно смотреть!
источник

u

uis in Embedded Group
Stas Koynov
но дичь делает sendMsg2 с нашими указателями так?
void sendMsg2(const uint8_t*, uint8_t*, uint32_t, void*)
источник

u

uis in Embedded Group
uis
movs r0, r4
movs r1, r2
adds r0, #20
bl
Gcc использует три инструкции вместо двух
источник

u

uis in Embedded Group
uis
А надо
adds r0, r4, #20
movs r1, r2
bl
.
источник

SK

Stas Koynov in Embedded Group
что могу посоветовать, сделать минимальный пример на https://godbolt.org/ и играться с ним, смотреть какая строчка Си генерит такой код и пытаться осмыслить почему выхлоп именно такой
источник

SK

Stas Koynov in Embedded Group
ты экономишь одну инструкцию? чет сегодня у всех обострение какое то. в соседнем чате чувак биты экономит ибо int это много, другой вектора раскладывает ибо чтоб попали в одну линию кэша. у тебя одна лишняя инструкция :))
источник

u

uis in Embedded Group
Коротко о действиях gcc:
movs r0, r4
adds r0, #20

Надо:
adds r0, r4, #20
источник

SK

Stas Koynov in Embedded Group
да я понял, ты хочешь чтоб оно было в одной
источник

u

uis in Embedded Group
Stas Koynov
ты экономишь одну инструкцию? чет сегодня у всех обострение какое то. в соседнем чате чувак биты экономит ибо int это много, другой вектора раскладывает ибо чтоб попали в одну линию кэша. у тебя одна лишняя инструкция :))
Это где с векторами?
источник

SK

Stas Koynov in Embedded Group
в супе вроде было в обед где-то
источник

u

uis in Embedded Group
Stas Koynov
в супе вроде было в обед где-то
Не понял, но скинь
источник