USMI

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » USMI » MCU, SoC, CPU Микроконтроллеры » JL SoC. 杰理芯片


JL SoC. 杰理芯片

Сообщений 761 страница 780 из 1317

761

как OTA с телефона делать? что для этого надо?

762

BIOS написал(а):

при включении нету "щелка", потому что мут до полной загрузки стоит.

Здравствуйте.
При включении, в динамиках слышны 2 щелчка. После проигрывается звук включения (power_on.mp3)

Подпись автора

soundbar BS-28B

763

BIOS написал(а):

1 - что нужно делать в ауксе когда громкость уменьшил в 0, варианта два - или полностью исчезает звук, или остается на минимальной громкости..
2 - можно сделать совмещенную громкость для озвучки и самой музыки, тоесть как выставили громкость музыки, такая будет и громкость озвучки при переключении режимов. Но тогда вылазит следующая закономерность  -
Когда громкость уменьшили до 0, то соответственно и громкость озвучки будет 0, но у нас есть один звук VOL_MIN, когда громкость озвучки фиксированная, и отделена от основной - то с воспроизведением VOL_MIN нет проблем. А если одна громкость на все, и при этом команда на воспроизведение VOL_MIN -мы тупо не услышим звук VOL_MIN, потому что громкость = 0.
3 - Я сделал звуки вкл откл и в режиме STANDBY, при входе в него и выходе с него. Так вот, нужны ли они вам, и если нужны - можно использовать те же что для кнопки на самой колонке.. А можно сделать и свои другие, например in_standby.mp3/exit_standby.mp3...
4 - При выходе с standby  что нужно делать, тоже что и с кнопки павер на колонке (блютуз или аукс если вставлен) , или включить последний режим до того как выключили колонку с пульта? (запоминает последний режим только если нажали с пульта, если нажали питание на колонке - там сбрасывается питание, и эта штука не доступна (пока, думаю писать в память чипа последний режим, что бы запоминало и при физическом обесточивании, тоесть с кнопки на самой плате) )
5 - Думаю сделать одну громкость на саундбаре и телефоне, что бы не было две разные громкости, одна на колонке , вторая на телефоне... Можно сделать так что бы громкость смартфона синхронизировалась с колонкой, получится что если делать громкость на телефоне, она будет делаться и на колонке, и наоборот, нажимаем на колонке или пульте и на смартфоне она тоже поднимается . 

1) Оставляем первый предложенный вами вариант.
При уменьшении громкости - проигрываемый звук в колонке полностью отсутствует.
И при самом низкой громкости звука проигрывает сообщение (min_vol.mp3)
2) Нет.
Громкость проигрываемого звука и громкость озвучки совмещать не нужно.
Громкость озвучки оставим на 10 единиц.
Такая громкость озвучки на этой колонке практически устраивает.

Громкость проигрываемого звука давайте сделаем как в вашей прошивке от 28.06
Файл вашей прошивки от 28.06 здесь:
ССЫЛКИ НА ПРОШИВКИ В ЛС!!!!
В нынешней прошивке от 26.07 громкость проигрываемого звука практически никакая.

3) Давайте оставим включение и отключение режима STANDBY как есть( мы говорим о прошивке от 26.07)
При переключении в режим STANDBY проигрывается запись (power_off.mp3)
И колонка выключается.
При выходе из режима STANDBY проигрывается звук выбора режима.
И колонка включается.

4) При выходе из режима standby включается последний режим до того как выключили колонку с пульта.
5) Если получится сделать одну громкость на саундбаре и телефоне это будет здорово.
Но это не критично.
Если не будет получатся, не стоит и упираться.

Спасибо.

Подпись автора

soundbar BS-28B

764

вроде бы всё нормально, генерируется файл update。ufw, но ни jl-home (pi-home), ни JLOTA с гитхаба его не видят - пишут, неправильный файл.

765

хочу ещё пропатчить файл в каталоге include_lib\liba\br23\, чтобы aac не валил в ошибку, но у меня ничего не получается - линковщик меняет код при переносе из библиотеки в sdk.elf.o, а библиотеку дизассемблировать не получается.

766

ender11 написал(а):

а библиотеку дизассемблировать не получается.

Должно же через llvm-dis нормально дизасмиться (если про те что начинаются с 42 43 C0 DE)

Отредактировано kagaimiq (2023-07-30 01:23:38)

Подпись автора

水Mizu-DEC JLtech since 22.06.2019

767

а где ты взял llvm-dis? я sdk.elf и sdk.elf.o дизассемблировал через llmv-objdump -D, но библиотеки на 42 43 co de оно не понимает.

768

установил llvm в mingw64. натравил llvm-dis на aac_decoder.c.o. не дизассемблирует. выдаёт какие-то метаданные, на этом всё.

769

Ну он должен был дизассемблировать его во что-то похожее на это:

LLVM-IR
Код:
@aac_decoder = local_unnamed_addr constant %struct.audio_decoder_ops { i32 512, i8* (i8*)* @aac_decoder_open, i32 (i8*)* @aac_decoder_start, i32 (i8*, %struct.audio_fmt*)* @aac_decoder_get_fmt .....
@aac_dec = internal global %struct.aac_decoder zeroinitializer, section ".aac_ctrl_mem", align 4, !dbg !159
@config_aac_dec_use_malloc = external local_unnamed_addr constant i32, align 4
@m4a_aac_mem = external global [6492 x i32], align 4
@aac_decoder_io_ops = internal constant %struct.if_decoder_io { i8* bitcast (%struct.aac_decoder* @aac_dec to i8*), i32 (i8*, i32, i8*, i32, i8)* @aac_decoder_input, i32 (i8*, i32, i8*)* ......
@frame_header_check.sample_rates = private unnamed_addr constant [12 x i32] [i32 96000, i32 88200, i32 64000, i32 48000, i32 44100, i32 32000, i32 24000, i32 22050, i32 16000, i32 12000, i32 11025, i32 8000], align 4

; Function Attrs: minsize nounwind optsize
define internal i8* @aac_decoder_open(i8* %0) #0 section ".aac_code" !dbg !242 {
  %2 = alloca i8*, align 4
  %3 = alloca [4 x i8], align 1
  call void @llvm.dbg.value(metadata i8* %0, metadata !244, metadata !DIExpression()), !dbg !253
  %4 = tail call i32 @sdfile_get_disk_capacity() #8, !dbg !254
  %5 = icmp ult i32 %4, 1048576, !dbg !256
  br i1 %5, label %52, label %6, !dbg !257

6:                                                ; preds = %1
  call void @llvm.memset.p0i8.i32(i8* align 4 getelementptr inbounds (%struct.aac_decoder, %struct.aac_decoder* @aac_dec, i32 0, i32 1), i8 0, i32 44, i1 false), !dbg !258
  store i8* %0, i8** getelementptr inbounds (%struct.aac_decoder, %struct.aac_decoder* @aac_dec, i32 0, i32 0), align 4, !dbg !259, !tbaa !260
  store i16* null, i16** getelementptr inbounds (%struct.aac_decoder, %struct.aac_decoder* @aac_dec, i32 0, i32 8), align 4, !dbg !267, !tbaa !268
  store i8* null, i8** getelementptr inbounds (%struct.aac_decoder, %struct.aac_decoder* @aac_dec, i32 0, i32 9), align 4, !dbg !269, !tbaa !270
  store i64 0, i64* bitcast (i32* getelementptr inbounds (%struct.aac_decoder, %struct.aac_decoder* @aac_dec, i32 0, i32 11) to i64*), align 4, !dbg !271
  %7 = tail call %struct.__audio_decoder_ops* @get_aac_ops() #8, !dbg !272
  store %struct.__audio_decoder_ops* %7, %struct.__audio_decoder_ops** getelementptr inbounds (%struct.aac_decoder, %struct.aac_decoder* @aac_dec, i32 0, i32 14), align 4, !dbg !273, !tbaa !274
  %8 = icmp eq %struct.__audio_decoder_ops* %7, null, !dbg !275
  br i1 %8, label %52, label %9, !dbg !277

9:           
Подпись автора

水Mizu-DEC JLtech since 22.06.2019

770

а, не, понял. придётся теперь инструкцию читать...

771

видишь этот вызов @sdfile_get_disk_capacity()? он проверяет размер флешки. если меньше 1048576 - goto exit.

772

в общем, пропатчить это нельзя :)
НО можно раскодировать bc файл в ll файл через llvm-dis, поправить ll файл как надо, собрать обратно ll файл в bc файл через llvm-as, запаковать обратно в .a файл через llvm-ar.
НО требуются все эти утилиты версии 4.0.1, как в jl toolchain.
НО в распространяемом дистрибутиве llvm версии 4.0.1 под windows нет этих утилит :)
НО можно собрать из сырцов! я собрал под linux, там не сразу, но собралось. хотелось бы, конечно, эти утилитки под винду, и чтоб не требовали win8 и всё такое.
НО под mingw оно не собирается, там очень сильное колдунство (свежий cmake приносит зависимость от win10 - поганый VS, старый cmake - не конфигурирует, как-то так), а VS я не практикую.

ну а так оно теперь работает, да:

Код:
aac_decoder_open.4621:
 1e0020c:    76 04              [--sp] = {rets, r6-r4}
 1e0020e:    e2 9e              sp += -8
 1e00210:    05 16              r5 = r0
 1e00212:    81 ea 51 62        call 181410 <sdfile_get_disk_capacity : 1e2c6b8 >
 1e00216:    44 20              r4 = 0
 1e00218:    03 ff 00 04 42 00  if (r0 < 1024) goto 132 <aac_decoder_open.4621+0x96 : 1e002a2 >
 1e0021e:    c4 ff c4 15 01 00  r4 = 71108 <aac_dec : 115c4 >
 1e00224:    48 84              r0 = r4 + 4
 1e00226:    41 20              r1 = 0

773

никто не пробовал обновление через телефон делать, что ли?

774

ну или как можно (через bluetooth, например) переключить чип в режим загрузки usb uboot?

775

redika написал(а):

Здравствуйте.
При включении, в динамиках слышны 2 щелчка

Действительно. Пофиксил.
Скинул, там обе громкости на 10.
При выходе из ST_BY в последний режим до выключения.

redika написал(а):

5) Если получится сделать одну громкость на саундбаре и телефоне это будет здорово.
Но это не критично.
Если не будет получатся, не стоит и упираться.

Получится. Это очень легко. Но это  после того как я все это что наделал в сдк для вашей колонки - экспортирую в мой "главный и основной сдк"
Я скинул Вам , попользуйтесь ею хотя бы недельку. а я как раз закончу уже с последними нюансами. И выкачу апдейт для вас.
Так же думаю сделать один сдк для всех девайсов, что бы просто был отдельный конфиг файл с портами и настройками, что бы не плодить сотню сдк с разным содержимым. Просто нужно все конфиги и настройки портов вынести отдельный файл, или даже два... И потом просто использовать их уже при компиляции конечного кода.

Подпись автора

By Admin

776

ender11 написал(а):

никто не пробовал обновление через телефон делать, что ли?

Я нет. Что то читал в мануале попадалось. Но надобности не было. Вроде с флешки проще обновить.

Подпись автора

By Admin

777

на всякий случай скомпилировал llvm 4.0.1 под win x64. Ссылка

778

Правильно я понял это дизассемблер?

Подпись автора

By Admin

779

не совсем. в библиотеках не скомпилированный код. точнее скомпилированный, но в бит-код llvm

780

Это те что "полу скомпилированные" библиотеки в includes_lib/ name.a ? А что оно может собирать разбирать? Библиотеки от 690/692 тоже llvm?

Подпись автора

By Admin


Вы здесь » USMI » MCU, SoC, CPU Микроконтроллеры » JL SoC. 杰理芯片