• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Обсуждение Программатор для TLSR

G0V

New member
The E180-Z6907A Modul has 12Mhz Osci but the bytepatched BDT firmware expects 16Mhz so it will not run and needs further tweaking or the replacement of the Osci to 16Mhz
It is indeed unable to run directly. I burned the firmware "evk8269v3.5.pb0-sws.bin" to the E180-Z6907A module using the "TLSR Tool ver 0.0.1.6" PC software through the STM32F103C8T6 (USB2Swire-STM32F103C8-v06.hex). The black and red power wires of the USB data cable are connected to a 3.3V linear regulator, which then powers the E180-Z6907A module. The green wire of the USB data cable is connected to the PE3/DP of the E180-Z6907A module, and the white wire is connected to the PE2/DM. Then, the USB-A plug is inserted into the PC's USB interface. A prompt pops up in the bottom right corner of the PC:
2025年4月27日113622.jpg
After clicking:
a93321c0-a2e3-4013-9484-37d9898c5f8b.png
How to modify "evk8269v3.5.pb0-sws.bin" to make its working frequency match the 12MHz of E180-Z6907A?

Note: I have already soldered and attached the module's shield to the motherboard, if you want to replace the crystal of the E180-Z6907A module, it will be more troublesome to disassemble the shield.
微信图片_20250427114758.jpg
微信图片_20250427114814.jpg
微信图片_20250427114817.jpg
:unsure:
 

Вложения

pvvx

Активный участник сообщества
Firmware v3.5 for BDT is a very old version. Current firmware version for BDT is ver4.6.
To work with the old version of FW you will need the old version of BDT program.
I modified the binary code of the v3.5 firmware by disassembling it in "Ghidra". Then by manually changing and inserting the binary code responsible for the frequencies of the quartz and pins.
It was over 6 years ago and nothing was saved. And there was nothing to save - I modified the binary file manually in HEX format...
 

pvvx

Активный участник сообщества
EVK-BDT has a 12 MHz quartz.
If the module has a 12 MHz quartz, it means that fewer patches of the original firmware from Telink-EVK are required.
The latest firmwares versions are located in the "BDT\config\fw" directory after installing BDT.
 

pvvx

Активный участник сообщества
There are no debugging functions for IDE in BDT. There is only a primitive interface for outputting values from memory via a MAP file and a CPU stop function. This is not an analogue of the functionality of other MCUs via Jtag. This is a very primitive function in BDT, with which it is impossible to debug.
All BDT functions, except for the unnecessary interface for outputting values from memory via a MAP file, are implemented in TLSRPGM. If you know Python, you can also add debugging, since the TLRPGM firmware has all the functions for this.
And TLSRPGM works much faster than BDT-EVK. It is more difficult to work with BDT when flashing various thermometers and other ready-made devices.
That is why I do not use BDT-EVK.
 

G0V

New member

Why do you need a BDT emulator anyway?
Okay, thanks for sharing the related materials about reverse engineering TC32.
I haven't used Telink BDT.exe before, so I want to try it out. I just started learning about the TLSR8258 chip two weeks ago and need to use it to implement some simple functions. Therefore, I began to learn about information related to the TLSR8258. Since I haven't used the software tools before, I want to try them out and experience the fun of trying new things and tinkering with them.
 

G0V

New member
There are no debugging functions for IDE in BDT. There is only a primitive interface for outputting values from memory via a MAP file and a CPU stop function. This is not an analogue of the functionality of other MCUs via Jtag. This is a very primitive function in BDT, with which it is impossible to debug.
All BDT functions, except for the unnecessary interface for outputting values from memory via a MAP file, are implemented in TLSRPGM. If you know Python, you can also add debugging, since the TLRPGM firmware has all the functions for this.
And TLSRPGM works much faster than BDT-EVK. It is more difficult to work with BDT when flashing various thermometers and other ready-made devices.
That is why I do not use BDT-EVK.
I also bought the TB-03F-KIT development board at the same time, and when I have time, I will try TLSRPGM.
Yes, Python scripts can be used to write some customized functions with the assistance of DeepSeek
 
Сверху Снизу