А как же обработка звука? громкость. эквалайзер. Оно же там софтовое.
- Подпись автора
By Admin
USMI |
Привет, Гость! Войдите или зарегистрируйтесь.
Вы здесь » USMI » MCU, SoC, CPU Микроконтроллеры » JL SoC. 杰理芯片
А как же обработка звука? громкость. эквалайзер. Оно же там софтовое.
By Admin
Или AMUX - ADC-DAC? (ну судя по всему да, не может же оно аналоговый сигнал прям взять и подать на выхлоп)
через который можно прямо на выход микшировать сигнал со входов AMUX
Ну оно же там все равно микшируется не в аналоговом виде, проходит через dac где софтовый волум-контроль и эквалайзер...
By Admin
Ну оно же там все равно микшируется не в аналоговом виде, проходит через dac где софтовый волум-контроль и эквалайзер...
Вопрос, если сделать так, то будет ли работать эквалайзер на line-in?
Или если либо в ladc_isr_callback не делать ladc_to_dac или в dac_isr_cb не делать audio_read, то будет ли всё ещё звук с line in?
Громкость там тоже аналогово регулируется, та цифровая регулировка должна работать если SYS_VOL_EXT (из include/cpu/audio/digital_vol.h) установлен не на SYS_VOL_EXT_NULL, иначе она просто не будет иметь никакого эффекта, так как всегда будет на максимум установлена.
水Mizu-DEC JLtech since 22.06.2019
иначе она просто не будет иметь никакого эффекта, так как всегда будет на максимум установлена.
ВОт это как раз косяк, из за этого цифровая громкость в PCM не регулируется со стороны проца, в 690 эти громкости связаны, работают обе как нужно. Тут нужно доделывать. Кстати как то можно их связать?, а то лень лопатить код)
Вопрос, если сделать так, то будет ли работать эквалайзер на line-in?
Да, работает. Я там пару месяцев назад делал прошивку свою для соундбара BS-28 на заказ, тестил всё, именно этот кусок кода работает как стерео и + эквалайзер.
Или если либо в ladc_isr_callback не делать ladc_to_dac или в dac_isr_cb не делать audio_read, то будет ли всё ещё звук с line in?
Этого не тестировал, но скорее да, будет, ибо если делать в .с драйвере рид буфер, то будет дважды читаться буфер, эта же хрень в AudioLink так же работает, там действительно
Вообще они явно положили болт на допил аудио контроля в 692. Ну и аукс тоже сильно пришлось перепахать
#include "task_linein.h" #include "task_linein_key.h" #include "msg.h" #include "task_manager.h" #include "task_common.h" #include "audio/dac_api.h" #include "audio/audio.h" #include "dac.h" #include "power_manage_api.h" #include "dev_manage.h" #include "common/common.h" #include "warning_tone.h" #include "audio/linein_api.h" #include "audio/ladc.h" #include "linein_ui.h" #include "music_player.h" #include "led.h" #include "task_echo_key.h" #include "rec_api.h" #include "fat_io.h" #include "sdk_cfg.h" #include "echo_api.h" #ifdef SUPPORT_MS_EXTENSIONS #pragma bss_seg( ".system_bss") #pragma data_seg( ".system_data") #pragma const_seg( ".system_const") #pragma code_seg( ".system_code") #endif #define TASK_LINEIN_DEBUG_ENABLE #ifdef TASK_LINEIN_DEBUG_ENABLE #define task_linein_printf log_printf #else #define task_linein_printf(...) #endif// TASK_LINEIN_DEBUG_ENABLE AUX_VAR g_aux_var = {0}; ///<line in检测变量 RECORD_OP_API *linein_rec_api = NULL; /*----------------------------------------------------------------------------*/ /**@brief 供AD_KEY 复用AUX检测时设置当前aux状态和获取aux状态*/ /*----------------------------------------------------------------------------*/ u8 get_aux_sta(void) { return g_aux_var.bDevOnline; } void set_aux_sta(u8 sta) { g_aux_var.cur_status = sta; } /*----------------------------------------------------------------------------*/ /**@brief LINE IN 在线检测实体函数 @param cnt:检测滤波次数 @return 在线情况 @note AUX_STATUS linein_check(u8 cnt) */ /*----------------------------------------------------------------------------*/ AUX_STATUS linein_check(u8 cnt) { #if AUX_DET_MULTI_AD_KEY g_aux_var.cur_status = g_aux_var.cur_status; #else g_aux_var.cur_status = AUX_IN_CHECK; //获取当前AUX状态 #endif if (g_aux_var.cur_status != g_aux_var.pre_status) { g_aux_var.pre_status = g_aux_var.cur_status; g_aux_var.status_cnt = 0; } else { g_aux_var.status_cnt++; } if (g_aux_var.status_cnt < cnt) { //消抖 return NULL_AUX; } g_aux_var.status_cnt = 0; ///检测到AUX插入 if ((AUX_OFF == g_aux_var.bDevOnline) && (!g_aux_var.pre_status)) { g_aux_var.bDevOnline = AUX_ON; return AUX_ON; } else if ((AUX_ON == g_aux_var.bDevOnline) && g_aux_var.pre_status) { g_aux_var.bDevOnline = AUX_OFF; return AUX_OFF; } return NULL_AUX; } /*----------------------------------------------------------------------------*/ /**@brief LINE IN 在线检测调度函数 @param 无 @return 在线情况 @note s32 aux_detect(void) */ /*----------------------------------------------------------------------------*/ void aux_detect(void) { AUX_STATUS res; #if (AUX_DET_MULTI_AD_KEY==0) AUX_DIR_SET; AUX_PU_SET; #endif res = linein_check(20); //aux在线检测,去抖计数为50 if (AUX_ON == res) { task_post_msg(NULL, 1, MSG_AUX_ONLINE); } else if (AUX_OFF == res) { task_post_msg(NULL, 1, MSG_AUX_OFFLINE); } } #if AUX_DETECT_EN LOOP_DETECT_REGISTER(aux_detect_loop) = { .time = 5, .fun = aux_detect, }; #endif void aux_detect_init(void) { g_aux_var.cur_status = AUX_ON; } static tbool task_linein_skip_check(void **priv) { task_linein_printf("task_linein_skip_check !!\n"); #if AUX_DETECT_EN return g_aux_var.bDevOnline; #else return true; #endif } static void *task_linein_init(void *priv) { task_linein_printf("TASK AUX INIT OK !!\n"); tone_play(TONE_LINEIN_MODE, 0); led_fre_set(C_BLED_SLOW_MODE); return NULL; } static void *task_linein1_init(void *priv) { task_linein_printf("TASK RCA INIT OK !!\n"); tone_play(TONE_RCA_MODE, 0); led_fre_set(C_BLED_SLOW_MODE); return NULL; } static void linein_channel_init(void) { if (LINEIN_CHANNEL == DAC_AMUX0) { JL_PORTB->DIR |= BIT(4) | BIT(5); } else if (LINEIN_CHANNEL == DAC_AMUX1) { JL_PORTA->DIR |= BIT(3) | BIT(4); } else if (LINEIN_CHANNEL == DAC_AMUX2) { JL_PORTB->DIR |= BIT(6) | BIT(3); } #if AUX_AD_ENABLE dac_channel_off(RCA_CHANNEL, FADE_ON); dac_channel_off(MUSIC_CHANNEL, FADE_ON); dac_channel_on(LINEIN_CHANNEL, FADE_ON); dac_set_samplerate(SR48000, 1); task_linein_printf("AUX CHANNEL SELECTED!!\n"); #else dac_channel_off(RCA_CHANNEL, FADE_ON); dac_channel_off(MUSIC_CHANNEL, FADE_ON); dac_channel_on(LINEIN_CHANNEL, FADE_ON); #endif set_sys_vol(sound.vol.sys_vol_l, sound.vol.sys_vol_r, FADE_ON); } static void linein1_channel_init(void) { if (RCA_CHANNEL == DAC_AMUX0) { JL_PORTB->DIR |= BIT(4) | BIT(5); } else if (RCA_CHANNEL == DAC_AMUX1) { JL_PORTA->DIR |= BIT(3) | BIT(4); } else if (RCA_CHANNEL == DAC_AMUX2) { JL_PORTB->DIR |= BIT(6) | BIT(3); } #if RCA_AD_ENABLE dac_channel_off(LINEIN_CHANNEL, FADE_ON); dac_channel_off(MUSIC_CHANNEL, FADE_ON); dac_channel_on(RCA_CHANNEL, FADE_ON); dac_set_samplerate(SR48000, 1); #else dac_channel_off(LINEIN_CHANNEL, FADE_ON); dac_channel_off(MUSIC_CHANNEL, FADE_ON); dac_channel_on(RCA_CHANNEL, FADE_ON); #endif set_sys_vol(sound.vol.sys_vol_l, sound.vol.sys_vol_r, FADE_ON); } static void task_linein_exit(void **hdl) { task_clear_all_message(); mutex_resource_release("linein"); task_common_msg_deal(NULL, NO_MSG); dac_channel_off(LINEIN_CHANNEL, FADE_ON); dac_channel_on(MUSIC_CHANNEL, FADE_ON); ui_close_aux(); task_linein_printf("TASK AUX EXIT!!\n"); } static void task_linein1_exit(void **hdl) { task_clear_all_message(); mutex_resource_release("RCA"); task_common_msg_deal(NULL, NO_MSG); dac_channel_off(RCA_CHANNEL, FADE_ON); dac_channel_on(MUSIC_CHANNEL, FADE_ON); ui_close_aux(); task_linein_printf("TASK RCA EXIT!!\n"); } void linein_mutex_init(void *priv) { dac_channel_off(RCA_CHANNEL, FADE_ON); linein_channel_close(RCA_CHANNEL, 0); linein_channel_init(); } void linein_mutex_stop(void *priv) { linein_channel_close(RCA_CHANNEL, 0); linein_channel_close(LINEIN_CHANNEL, 0); dac_channel_off(LINEIN_CHANNEL, FADE_OFF); dac_channel_off(RCA_CHANNEL, FADE_OFF); #if AUX_AD_ENABLE dac_channel_off(RCA_CHANNEL, FADE_OFF); dac_channel_off(LINEIN_CHANNEL, FADE_OFF); task_linein_printf("AUX MUTEX STOP!!\n"); #endif } void rca_mutex_init(void *priv) { linein_channel_close(LINEIN_CHANNEL, 0); task_linein_printf("RCA MUTEX INIT!!\n"); dac_channel_off(LINEIN_CHANNEL, FADE_ON); linein1_channel_init(); } void rca_mutex_stop(void *priv) { linein_channel_close(RCA_CHANNEL, 0); linein_channel_close(LINEIN_CHANNEL, 0); dac_channel_off(LINEIN_CHANNEL, FADE_OFF); dac_channel_off(RCA_CHANNEL, FADE_OFF); #if RCA_AD_ENABLE dac_channel_off(RCA_CHANNEL, FADE_OFF); task_linein_printf("RCA MUTEX STOP!!\n"); #endif } static void task_linein_deal(void *hdl) { int error = MSG_NO_ERROR; int msg = NO_MSG; u8 linein_start = 0; task_linein_printf("TASK AUX DEAL!!\n"); while (1) { error = task_get_msg(0, 1, &msg); if (task_common_msg_deal(hdl, msg) == false) { music_tone_stop(); task_common_msg_deal(NULL, NO_MSG); return ; } if (NO_MSG == msg) { continue; } switch (msg) { case MSG_HALF_SECOND: if ((sound.vol.sys_vol_r == 0)||(is_dac_mute())||(is_auto_mute())) { pa_mute_pin_ctrl(); task_linein_printf("RCA MUTE IF SOUND ==0!!\n"); } else if ((sound.vol.sys_vol_r >> 0)) { pa_unmute_pin_ctrl(); } UI_REFRESH(MENU_REFRESH); break; case SYS_EVENT_PLAY_SEL_END: if (linein_start == 0) { linein_start = 1; mutex_resource_apply("linein", 3, linein_mutex_init, linein_mutex_stop, 0); } task_linein_printf("Linein SYS_EVENT_DEC_END\n"); break; case MSG_MUTE: break; case MSG_INPUT_NUMBER_END: case MSG_INPUT_TIMEOUT: get_input_number(NULL); break; default: break; } } } static void task_linein1_deal(void *hdl) { int error = MSG_NO_ERROR; int msg = NO_MSG; u8 linein1_start = 0; task_linein_printf("TASK RCA DEAL!!\n"); while (1) { error = task_get_msg(0, 1, &msg); if (task_common_msg_deal(hdl, msg) == false) { music_tone_stop(); task_common_msg_deal(NULL, NO_MSG); return ; } if (NO_MSG == msg) { continue; } switch (msg) { case MSG_HALF_SECOND: if ((sound.vol.sys_vol_r == 0)||(is_dac_mute())||(is_auto_mute())) { pa_mute_pin_ctrl(); task_linein_printf("RCA MUTE IF SOUND ==0!!\n"); } else if ((sound.vol.sys_vol_r >> 0)) { pa_unmute_pin_ctrl(); } UI_REFRESH(MENU_REFRESH); break; case SYS_EVENT_PLAY_SEL_END: if (linein1_start == 0) { linein1_start = 1; mutex_resource_apply("RCA", 3, rca_mutex_init, rca_mutex_stop, 0); } task_linein_printf("RCA SYS_EVENT_DEC_END\n"); break; case MSG_MUTE: break; case MSG_INPUT_NUMBER_END: case MSG_INPUT_TIMEOUT: get_input_number(NULL); break; default: break; } } } const TASK_APP task_linein_info = { .skip_check = task_linein_skip_check, .init = task_linein_init, .exit = task_linein_exit, .task = task_linein_deal, .key = &task_linein_key, }; const TASK_APP task_linein1_info = { .init = task_linein1_init, .exit = task_linein1_exit, .task = task_linein1_deal, .key = &task_linein_key, };
By Admin
Кстати как то можно их связать?, а то лень лопатить код)
Еще это наверно сделано для SPDIF... Но это не точно, никогда с ним вообще не возился.
By Admin
Ещё один вопрос возник, пытаюсь запустить AAC на чипе 6955F, но что-то ничего не выходит.
Ведроид видит что есть кодек, даже включается, но при попытке воспроизвести звук, через 10 секунд блютуз переподключается.
Такое же поведения при использовании SBC, но не активированном #define TCFG_DEC_SBC_ENABLE.
При этом пытался активировать M4A, находил упоминания что в него засунули декодер AAC, но изменений нет. Перебирал все декодеры, результатов нет.
Видел на форуме этим уже занимался ender, но как такого решения не нашёл. Не уверен что этот кодек мне вообще нужен, просто хочу послушать как работает на дроидах и айфонах.
Отредактировано Givanich (2023-11-06 15:37:53)
Ещё один вопрос возник, пытаюсь запустить AAC на чипе 6955F, но что-то ничего не выходит.
Я к сожалению не возился с 695/696 , только с энкодерами и фм передатчиками... Это максимум.
Ведроид видит что есть кодек, даже включается, но при попытке воспроизвести звук, через 10 секунд блютуз переподключается.
У меня на старом 11 андроиде на квалкоме, AAC кодек работал через сраку, сугубо зависит от телефона и прошивки, щас 13 андроид, работает отлично, (редми ноте 11 с прошивкой Pixel Expiriance) Работает отлично , есть всякие кодеки LDAC/AAC/SBC/APTx оно не только от железки (проца), а еще и от софта.
При этом пытался активировать M4A, находил упоминания что в него засунули декодер AAC, но изменений нет. Перебирал все декодеры, результатов нет.
Это может быть декодер плеера, с блютуза вроде только два кодека.
Видел на форуме этим уже занимался ender, но как такого решения не нашёл. Не уверен что этот кодек мне вообще нужен, просто хочу послушать как работает на дроидах и айфонах.
Он вроде только в 690/692 колупал AAC.
У меня кстати только ранние сдк 696 серии, и они сырые и кривые , ни кто не собирал проэкты 696 сдк с шапки? И нет ли у кого по новее сдк 696 ?
Еще видно что с 695/696 есть остатки от 693 сдк, видно что от туда ноги растут. Ну и стараются придерживаться одного стиля сдк, но мне не нравится что они теперь тяжёлые и компилируется долго, да и много лижнего там, куча конфигов под разные чипы, такое себе... Вот 690/692 оч быстро, не большие, и понятные сдк. Ну как то так.
Ну и добро пожаловать на форум.
By Admin
Я к сожалению не возился с 695/696 , только с энкодерами и фм передатчиками... Это максимум.
У меня на старом 11 андроиде на квалкоме, AAC кодек работал через сраку, сугубо зависит от телефона и прошивки, щас 13 андроид, работает отлично, (редми ноте 11 с прошивкой Pixel Expiriance) Работает отлично , есть всякие кодеки LDAC/AAC/SBC/APTx оно не только от железки (проца), а еще и от софта.
Есть у меня CSR8645 и CSR8675, надо записать как они работают. Когда-то на них все кодеки активировал, но особо дальше не ковырялся. На lineage 19 все кодеки тоже есть, вроде как-то работают, но особо не вслушивался. Есть под рукой пиксель на 14 дроиде, ну и пару яблофонов, для сравнения могу записать АЧХ и выложить их сюды.
У меня кстати только ранние сдк 696 серии, и они сырые и кривые , ни кто не собирал проэкты 696 сдк с шапки? И нет ли у кого по новее сдк 696 ?
Сдк из шапки под 696 не собирается, не хватает каких-то файлов. На гитхабе нашёл сдк под 696, называется JBD, там собираются всего 3 платы у которых есть user config. Но они все работают и играют, правда там косяков много, не везде ifdef стоят, из-за этого при отключении каких-то модулей, все идёт по одному месту, soundcard так вообще не захотел работать.
Еще видно что с 695/696 есть остатки от 693 сдк, видно что от туда ноги растут. Ну и стараются придерживаться одного стиля сдк, но мне не нравится что они теперь тяжёлые и компилируется долго, да и много лижнего там, куча конфигов под разные чипы, такое себе... Вот 690/692 оч быстро, не большие, и понятные сдк. Ну как то так.
Компилятся они прявда, по 3-4 минуты приходится ждать каждый раз, а ещё иногда приходится чистую сборку проводить, так как остаются висяки, которые компилятор почему-то учитывает.
А ещё кто-нибудь работал/прошивал/дампил чипы A3? Есть несколько модулей на этих чипах, одни нормально звучат и работают, у других косяки по типу моно с аукса, в общем тоже не без ньюансов. На донгл не ревгируют. Отличительная черта именно A3 модулей, кварц на 26 МГц.
К сожалению, здесь китайцы вообще все закрыли, нет никакой документации, хотя, может я плохо искал.
могу записать АЧХ и выложить их сюды.
Если нормальный звуковой тракт до 20 КГЦ с THD0.1000% то да, не мешало бы сделать тесты RMAA. Тут как раз есть тема на сайте, в топике про акустику.
Компилятся они прявда, по 3-4 минуты приходится ждать каждый раз, а ещё иногда приходится чистую сборку проводить, так как остаются висяки, которые компилятор почему-то учитывает.
Обновить нужно компилятор, ну и там вроде что то в мануале писали вроде как , ни как руки не доходят....
А ещё кто-нибудь работал/прошивал/дампил чипы A3? Есть несколько модулей на этих чипах, одни нормально звучат и работают, у других косяки по типу моно с аукса, в общем тоже не без ньюансов. На донгл не ревгируют. Отличительная черта именно A3 модулей, кварц на 26 МГц.
Так это вообще другие чипы и контора Bluetrum. Тема тоже тут есть, я даже вытащил сдк и компилятор под какие то там чипы от них.
И то не А3 а АВ)))
А вообще если там JL то я такое видел только на фотках) Может что старое) Можно там посмотреть по датакоду если это JL.
Компилятся они прявда, по 3-4 минуты приходится ждать каждый раз,
У меня на ноуте так же, на компе около минуты. Но не устраивает вообще, там правда в шапке есть под 696 чисто сдк под наушники - вот он как 690/692 компилируется быстро, буквально секунд 10-20.
Тот же 696 сдк, но кастрированный)
By Admin
Если нормальный звуковой тракт до 20 КГЦ с THD0.1000% то да, не мешало бы сделать тесты RMAA. Тут как раз есть тема на сайте, в топике про акустику.
Займусь как нибудь на досуге. Есть карта Rubix24, весьма неплохо показывала себя когда снимал ачх усилков.
Обновить нужно компилятор, ну и там вроде что то в мануале писали вроде как , ни как руки не доходят....
И это тоже верно, стоит предпоследняя версия, иногда предлагает обновится, но никак руки не доходят...
Так это вообще другие чипы и контора Bluetrum. Тема тоже тут есть, я даже вытащил сдк и компилятор под какие то там чипы от них.
И то не А3 а АВ)))
А вообще если там JL то я такое видел только на фотках) Может что старое) Можно там посмотреть по датакоду если это JL.
Тоже надо будет поизучать, хотя инфы пока хрен да маленько, мб чего нибудь получится.
У меня на ноуте так же, на компе около минуты. Но не устраивает вообще, там правда в шапке есть под 696 чисто сдк под наушники - вот он как 690/692 компилируется быстро, буквально секунд 10-20.
Тот же 696 сдк, но кастрированный)
Вот ещё что интересного заметил, когда пытался скомпилить плату 6955f_HEADPHONES_MONO, на чипе 6955f звука не было, но когда скомпилил 6952e_lighter, звук появился и всё заработала.
Дичь не логичная...
Вот ещё что интересного заметил, когда пытался скомпилить плату 6955f_HEADPHONES_MONO, на чипе 6955f звука не было, но когда скомпилил 6952e_lighter, звук появился и всё заработала.
Дичь не логичная...
В конфиге выбранном есть настройки DAC-a.
#define TCFG_AUDIO_DAC_CONNECT_MODE DAC_OUTPUT_LR /* 解码后音频的输出方式: AUDIO_OUTPUT_ORIG_CH 按原始声道输出 AUDIO_OUTPUT_STEREO 按立体声 AUDIO_OUTPUT_L_CH 只输出原始声道的左声道 AUDIO_OUTPUT_R_CH 只输出原始声道的右声道 AUDIO_OUTPUT_MONO_LR_CH 输出左右合成的单声道 */
By Admin
Всем привет!
Друзья, простите, что я так бесцеремонно врываюсь, но такое счастье что хоть кого-то нашел, кто разбирается с чипами JL =)
Я ищу информацию о том, как работать с чипом CK6142A0 (у него нет врутренней памяти).
Предыстория. Купил ребёнку игрушку из китая, говорящий кактус. В общем, там он адаптирован, видимо, китайцами под наш рынок, и они не очень понимают что можно слушать детям а что лучше не надо)
В общем был поставлен перед фактом, что игрушку либо выкидывают, либо я записываю туда нормальную детскую музыку)
Начал искать информацию по этой игрушке и нашел на форуме дамп прошивки (SPI FLASH). Но это просто дамп, а как заменить музыку, не понятно. Никак распознать ресурсы внутри прошивки не удалось. Начал гуглить и нагуглил статью человека, который пытался провернуть то же самое.
Решил попробовать найти информацию о том как вообще разрабатывается ПО под этот чип, и ничего не нашел, кроме "схемы подключения":
Гуглил, гуглил, в том числе китайский интернет, всё глухо. Нашел только китайца, который много пишет статьи про эти чипы (общая информация, правда), но не могу с ним сязаться, потому что там только для китайцев(
И тут решил погуглить через другие чипы этого же производителя. И вот я у вас на форуме.
Помогите, пожалуйста, чем можете. Вдруг где-то встречали информацию по этому чипу, как поменять его прошивку или хотябы в каком формате его ресурсы, чтобы попытаться внаглую в прошивке заменить.
Заранее спасибо!
Отредактировано RoninDev (2023-11-08 15:27:29)
В конфиге выбранном есть настройки DAC-a.
Да, но дело было не в этом.
А дело было в том самом AAC, который телефон по умолчанию включал. Только сейчас заметил, что это единственный конфиг в котором AAC включен по дефолту.
И ещё зачем-то поставил VOL_TYPE_DIGITAL из-за этого тоже звука не было, в общем сам накосячил)
Отредактировано Givanich (2023-11-08 16:29:55)
Гуглил, гуглил, в том числе китайский интернет, всё глухо. Нашел только китайца, который много пишет статьи про эти чипы (общая информация, правда), но не могу с ним сязаться, потому что там только для китайцев(
И тут решил погуглить через другие чипы этого же производителя. И вот я у вас на форуме.
Помогите, пожалуйста, чем можете. Вдруг где-то встречали информацию по этому чипу, как поменять его прошивку или хотябы в каком формате его ресурсы, чтобы попытаться внаглую в прошивке заменить.Заранее спасибо!
Разберемся. Сигнатур файлов там не будет, оно скорее всего шифровано, и чип это AD142A0 Память у него внешняя только, потому что A0. Версии не с нулем в конце означают количество встроенной памяти в мегабитах, делить на 8 для мегабайт.
Это подсерия AD14N&AD15N.
Слить дамп, и разобраться, шивруется оно там через чипкей как во всех JL или нет, ну и формат там аудио скорее *.f1a、*.f1b、*f1c、*.ump3 - Это их отсебятина. Прога для конвертации есть, кто то спрашивал много лет назад прогу для *.f1a - но тогда не было, я нашел только пол года недавно.
SDK под AD14N есть в шапке. Дергнуть его триггером в бутлоадер DFU и можно пытаться прошить. Токо дамп сначала сохраните.
Тут BOOTLoader будет SH54/SH55. Его пока нету в дампере от kagaimiq. Но вроде хватит и слитого дампа, да и при желании можно пересобрать и и сконфигурировать/написать прошивку самому, SDK то есть, и там же мануалы. Вся инфа по триггеру тут на форуме, он же прогер.
Вот так как то за пару минут разобрались и с форматами и прочим)))
Друзья, простите, что я так бесцеремонно врываюсь, но такое счастье что хоть кого-то нашел, кто разбирается с чипами JL =)
Добро пожаловать на форум, для это я его и создал. И чипы JL меня еще в 2016 году заинтересовали, и сейчас они сильно держат рынок, теперь это оч большая контора, с сотнями видов чипов, видео/аудио/беспроводные сети.... Очень дешевые и хорошие и живучие чипы, с добротной периферией, с частотами по 192/240/480МГЦ рвущие большинство аналогов и тех же STM начального и среднего уровня, ESP32/16, AVR в клочья. Вот только не опен сурс. Задача сего форума - популяризация этих чипов.
By Admin
AD14N&AD15N.
Кстати, они еще есть в COB исполнении ("капля" микросхема)
By Admin
Нашел только китайца, который много пишет статьи про эти чипы (общая информация, правда), но не могу с ним сязаться, потому что там только для китайцев
Ник у него рембо ламборгини вроде, на CSDN. Могу качать с CSDN и BAIDU все что угодно)
Я так же там есть)))
By Admin
Добрый день!
чип это AD142A0
Вот тут совсем стало непонятно, на самом чипе маркировка ab22bp00513-42a0, в интернете чудом нашел на их аналоге quora что это CK6142A0, а в итоге это AD142A0. Для чего они это делают и как разбираться в этом?)
Дергнуть его триггером в бутлоадер DFU и можно пытаться прошить
Тут пока совсем не понял. Бутлоадер DFU это какой-то режим этих чипов? И как он прошивается вообще, если у него нет своей памяти? Достаточно ли просто прошить модуль памяти? Или как-то надо подключаться к чипу, одновременно подключенному к FLASH?
Я пока не осознал весь массив информации, представленной тут, так что прошу прощения за глупые вопросы.
Вся инфа по триггеру тут на форуме, он же прогер
Речь идёт о программаторе?
Ник у него рембо ламборгини вроде, на CSDN
Нет, некий Брат Акиу. Я даже зарегистрировался и верифицировался на их сайте, чтобы смочь написать личное сообщение ему. Теперь не уверен что нужно)
И как он прошивается вообще, если у него нет своей памяти?
У этого конкретного чипа наружу выведены порты PD0-2, к которой собственно и подключается внешняя SPI флешь с прошивкой.
Если бы у чипа была бы собственная флешь, то она бы тогда подключалась изнутри к тем же портам, поэтому с программной точки зрения это было бы тоже самое - какая-то SPI флешь подключена к PD0-2.
Достаточно ли просто прошить модуль памяти? Или как-то надо подключаться к чипу, одновременно подключенному к FLASH?
Для замены песен будет достаточно прошивки флешки напрямую, к чипу подключаться есть смысл если например надо было бы узнать его chipkey (который используется в качестве ключа "шифрования" основной части прошивки, и который по сути можно подобрать без особых проблем), или если бы флешь была бы внутри чипа (что в этом случае совсем не так), ну и просто чтобы флешь не перепаивать по многу раз для перепрошивки.
水Mizu-DEC JLtech since 22.06.2019
Вот тут совсем стало непонятно, на самом чипе маркировка ab22bp00513-42a0, в интернете чудом нашел на их аналоге quora что это CK6142A0, а в итоге это AD142A0. Для чего они это делают и как разбираться в этом?)
Не важно кто что там пишет, нету аналогов, если лого JL, то там смысл маркировки в том что имеет смысл последние 4-5 знаков, та белиберда в начале - это датакод, номер партии...
По последним цифрам и буквам - 42а0 , это собственно подходит только под одну серию чипов, AD14N и только под один чип - AD142A0.
аналоге quora что это CK6142A0
Это скорее всего так прошивку обозвали производители. Они так любят делать. Имеет смысл только маркировка на чипе и все.
Тут пока совсем не понял. Бутлоадер DFU это какой-то режим этих чипов? И как он прошивается вообще, если у него нет своей памяти? Достаточно ли просто прошить модуль памяти? Или как-то надо подключаться к чипу, одновременно подключенному к FLASH?
Все верно, это режим прошивки . Ну и прошивается внешняя флешка. Правда DFU может быть как по USB так и по UART. Но думаю будет усб.
Подпаиваться не нужно ни куда, только к усб подключить и все.
Речь идёт о программаторе?
Так точно.
Нет, некий Брат Акиу. Я даже зарегистрировался и верифицировался на их сайте, чтобы смочь написать личное сообщение ему. Теперь не уверен что нужно)
Первый раз вижу его
By Admin
Вы здесь » USMI » MCU, SoC, CPU Микроконтроллеры » JL SoC. 杰理芯片