I'm experimenting with timings in the Arduino code. Perhaps something is happening too fast or too slow and the chip is incorrectly entering bootloader mode.
1. Please read post #1.
2. In your case, you don't need an Arduino.
USMI |
Привет, Гость! Войдите или зарегистрируйтесь.
Вы здесь » USMI » MCU, SoC, CPU Микроконтроллеры » Перевод JL чипов в uboot режим с помощью ардуино
I'm experimenting with timings in the Arduino code. Perhaps something is happening too fast or too slow and the chip is incorrectly entering bootloader mode.
1. Please read post #1.
2. In your case, you don't need an Arduino.
Thank you for your reply.
Read my reply again 
U need connect power to chip in same time when u sent signals to USB.
Yes, I know. When I connect power to the chip, the signal is already sent to pins D+ and D-. I'm sending 0x16EF sequences every few microseconds.
After connecting the power, the LED does not flash.
Next I disconnect the cables from D+ and D- and connect the USB to the computer.
And I get the message about the descriptor "Unknown USB device (device descriptor request failed)”.
2. In your case, you don't need an Arduino.
What do you mean I don't need an Arduino?
What do you mean I don't need an Arduino?
amateur
Thank you very much for your help. I actually managed to get the chip into UBOOT mode without Arduino.
I made backup of the original firmware.
Then I flashed firmware V1.4 (I got the firmware here on the forum).
Unfortunately, the firmware doesn't work. The LED doesn't flash and it doesn't show up in Windows Device Manager.
The keys probably don't match and that's why this effect occurs.
Using Arduino, I managed to put the chip back into UBOOT mode and restore the original firmware - the module started working.
I've seen that there are ways to recrypt the key [Recrypt tool for JL chip key]. But will this help me with the AC6956?
Alternatively, there is the option of rebuilding the firmware using the SDK... But there may still be a problem with the key.
You need to recrypt the new firmware with your chipkey.
I haven't done anything like this before, but I think it works like this:
Download https://github.com/kagaimiq/jl-misctool … n/firmware
Unpack the new firmware
fwunpack_newfw.py kcx/kcx.dump
You will then see something like this:
# # kcx\kcx.dump # Firmware base is at @1000 Burner size....: 544 VID............: b'0.01' Flash size.....: $0FF000 FS version.....: 2 Block alignment: 16 Special option.: $FF PID............: b'AC695N_soundbox\xff' (top) <JLFS Entry @00001020 - EDBC @000000A0/000010A0 ( 8168/ 8168) - 00/00 / 0 -- "uboot.boot"> (top) <JLFS Entry @00001040 - BBB0 @00002088/00003088 ( 133/ 133) - 02/FF / 0 -- "isd_config.ini"> Firmware chipkey from isd_config.ini: 2133 (top) <JLFS Entry @00001060 - 00FF @00003000/00004000 (4294967295/4294967295) - 81/FF / 0 -- "app_dir_head"> (top) <JLFS Entry @00001080 - FFFF @000FF000/00100000 ( 4096/ 4096) - 12/01 / 65535 -- "key_mac"> Using chipkey: $2133 (App Area Head) <JLFS Entry @00004000 - CE9C @01E00100/00004020 ( 764564/ 764532) - 83/FF / 0 -- "app_area_head"> Entry point address: 0x1E00100 (App) <JLFS Entry @00004020 - 5250 @00000100/00004100 ( 764308/ 764308) - 82/FF / 0 -- "app.bin"> (App) <JLFS Entry @00004040 - FF01 @000C3000/000C7000 ( 237568/ 237568) - 12/80 / 0 -- "VM"> (App) <JLFS Entry @00004060 - FFFF @00001000/00005000 ( 794624/ 794624) - 92/80 / 0 -- "PRCT"> (App) <JLFS Entry @00004080 - FFFF @000FE000/00102000 ( 4096/ 4096) - 92/80 / 1 -- "BTIF"> (Res) <JLFS Entry @000BEA94 - 0F84 @00000020/000BEAB4 ( 12224/ 12192) - 83/FF / 0 -- "tone"> ====> <JLFS Entry @000BEAB4 - A16F @00000060/000BEAF4 ( 27/ 27) - 82/FF / 0 -- "index.idx"> ====> <JLFS Entry @000BEAD4 - DB19 @00000080/000BEB14 ( 12096/ 12096) - 82/FF / 1 -- "mute.mp3"> (Res) <JLFS Entry @000C1A54 - 24E8 @00000020/000C1A74 ( 921/ 889) - 82/FF / 0 -- "cfg_tool.bin"> (Res) <JLFS Entry @000C1DED - B5EA @00000020/000C1E0D ( 1181/ 1149) - 82/FF / 1 -- "eq_cfg_hw.bin">
Then, identify the start and end addresses.
offset(app_dir_head) + size(app_area_head) + size(tone) + size(cfg_tool.bin) + size(eq_cfg_hw.bin)
0x4000 + 764564 + 12224 + 921 + 1181 = 0xC228A
Run:
recrypt.py kcx/kcx_key0x2133.dump kcx/cx_key0xXXXX.dump 0x2133 0xXXXX 0x4000 0xC228A
0xXXXX = chipkey from your chip
Отредактировано amateur (Вчера 16:44:17)
amateur
Success!
After uploading the new firmware with my key, the module started in version 1.4.
Thanks you very much!
While searching for information on the forum, I saw posts where people were compiling their own firmware versions. I'm wondering if there's an example of a BT transmitter available somewhere that will work immediately after being uploaded to the chip. I could then customize it. For example, change the functions of the button on the module.
I even have the ac695n_soundbox_sdk and Code::Blocks installed. The compilation went through without any problems.
I even have the ac695n_soundbox_sdk
Look for "board_ac695x_btemitter". However, you have to configure it for your board yourself. And no AT commands are implemented.
| JL SoC. 杰理芯片 | MCU, SoC, CPU Микроконтроллеры | 2026-05-27 |
Вы здесь » USMI » MCU, SoC, CPU Микроконтроллеры » Перевод JL чипов в uboot режим с помощью ардуино